Wysokie obci

Konfiguracja serwerów, usług, itp.
Err
Posty: 18
Rejestracja: 14 lutego 2010, 10:29

Wysokie obciążenie serwera - Apache2

Post autor: Err »

Witam.
Od jakiegoś czasu zauważyłem na serwerze duże "mulenie". Po wpisaniu polecenia: widzę obciążenie serwera:

Kod: Zaznacz cały

11186 www-data  40   0 25868 1932  604 R 87.3  0.1   5282:33 apache2
Gdzie 87.3 to procent zużycia procesora.

Jak mogę odnaleźć, co konkretnie zużywa w takim stopniu apache2 na moim serwerze
i który z użytkowników?

Proszę o pomoc.
mendeczka
Beginner
Posty: 209
Rejestracja: 31 sierpnia 2007, 08:05
Lokalizacja: /dev/Socho

Post autor: mendeczka »

Odpal

Kod: Zaznacz cały

htop
jak nie masz to doinstaluj. Pokaże Ci to troszkę przejrzyściej. (oczywiście nie neguję tu samego TOP). Łatwiej będzie jak sam nam napiszesz co masz poinstalowane na swoim serwerku, Miałem podobną sytuację jak używałem np. ZONEMINDERa.
sojeft
Posty: 19
Rejestracja: 07 marca 2010, 22:36

Post autor: sojeft »

Kod: Zaznacz cały

strace procesu
i wszystko zobaczysz. Oprócz tego logi apache. Naprawdę jest masę sposobów na sprawdzenie co Ci tak zużywa zasoby. Zakładając, że to nie jakiś błąd itp. to najprawdopodobniej jakieś skrypty php. Powiedz coś więcej o konfiguracji serwera.
Err
Posty: 18
Rejestracja: 14 lutego 2010, 10:29

Post autor: Err »

Przez:

Kod: Zaznacz cały

htop
faktycznie, jest bardziej szczegółowy, jednak nie mogę odnaleźć użytkowników, którzy używają tego Apache2. Mogę się domyślać, że to przez skrypt typu ,,rapidleech'' od przesyłania plików. To by wyjaśniało sprawę, jednak chciałbym dotrzeć do konkretnego użytkownika. ,,Strace'' wyświetla bardzo dużo informacji, aż za dużo i nie mogę znaleźć w nich także nic konkretnego.

Może wiecie gdzie znajdują się logi apache? Albo ktoś ma inny pomysł?
Karol Mrozik
Posty: 19
Rejestracja: 07 marca 2010, 23:47

Post autor: Karol Mrozik »

Zainstaluj mod_evasive do apache bo później pojawi się kolejny problem z obciążeniem.
Err
Posty: 18
Rejestracja: 14 lutego 2010, 10:29

Post autor: Err »

Czy możesz opisać na czym polega działanie modułu mod_evasive?
Karol Mrozik
Posty: 19
Rejestracja: 07 marca 2010, 23:47

Post autor: Karol Mrozik »

Zapobiega w pewnym stopniu przed atakami DoS, DDoS (ang. Denial of Service), czyli zajęcie wszystkich wolnych zasobów w Twoim systemie.

Poczytaj:
http://pl.wikipedia.org/wiki/DoS
Err
Posty: 18
Rejestracja: 14 lutego 2010, 10:29

Post autor: Err »

Dziękuję, rozumiem. Jednak nadal nie wiem skąd takie obciążenie... Czy jest jakiś sposób żeby to sprawdzić?
Karol Mrozik
Posty: 19
Rejestracja: 07 marca 2010, 23:47

Post autor: Karol Mrozik »

Sprawdź wyniki poleceń:lub:

Kod: Zaznacz cały

htop

Dodano:

Przede wszystkim zainstaluj mod_evasive aby wyeliminować problem z zewnątrz.

Kod: Zaznacz cały

apt-get install libapache2-mod-evasive
Do pliku httpd.conf dopisz coś takiego:

Kod: Zaznacz cały

Include conf/extra/httpd_evasive.conf
Utwórz ten plik:

Kod: Zaznacz cały

touch /etc/httpd/conf/extra/httpd_evasive.conf
a w nim:

Kod: Zaznacz cały

<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10
DOSEmailNotify [email][email protected][/email]
</IfModule>
Dopisz w httpd-phpmodules.conf:

Kod: Zaznacz cały

LoadModule evasive20_module /usr/lib/apache2/modules/mod_evasive20.so
Sprawdź czy tam jest ten plik *.so
ODPOWIEDZ