Túlterhelés észlelése, elemzése és reakció rá

Fórumok

Sziasztok,

Pingdommal figyelem a VPS serverem, hogy folyamatosan üzemben van-e vagy sem. Mai nap történt egy elérhetetlenség, amire jelzést is kaptam. A serveren fut http://www.monitorix.org/ rendszer figyelőm, ami azt mutatta, hogy abban az időszakban a serverem terheltsége megugrott, feltételezhetően annyira, hogy elérhetetlen lett serverem.

Kérdésem, hogy hogyan lehetne megtudni, hogy pontosan mi okozta a túlterhelést?

Üdv.

KALMI

Képek a terheltségről:
http://kepfeltoltes.hu/140212/monitorixgraphics1_www.kepfeltoltes.hu_.p…
http://kepfeltoltes.hu/140212/monitorixgraphics2_www.kepfeltoltes.hu_.p…
http://kepfeltoltes.hu/140212/monitorixgraphics3_www.kepfeltoltes.hu_.p…
http://kepfeltoltes.hu/140212/monitorixgraphics4_www.kepfeltoltes.hu_.p…

Hozzászólások

Steve B. után szabadon: logfiles, logfiles, logfiles.

Akkor sorban:

- az access logból fogod látni hogy a kérdéses időszakban volt-e sok-sok lekérés
- a mysql logjából lehet látni hogy volt-e (sok,) sokáig futó lekérdezés
- a syslog, damon, mail log esetleg mutathat olyanokat, hogy próbálták-e ftp-vel, ssh-val, smtp-vel, egyébbel megdönteni
- az egyéb logok az egyéb alkalmazásokról adhatnak információkat (ha van app és annak van saját logja)

Ha van atop a gépen, akkor az logol(hat)ja a historikus adatokat. Ha van atsar (vagy mi) a gépen, az dettó. Ha nincs, akkor lehet hogy nem ártana.

Feltéve ha linux/unix/hasonló a rendszer, hirtelen ennyi jutott eszembe a 'van egy VPS-em' alapján.

Jo, hat persze nem lesz ott a logban, hogy mekkora volt a CPU terheles mikor epp egy query lefutott... (Na es ha ott is lenne?) De hat azt azert fogod latni, hogy az apache feldolgozott korabban 100 keres percenkent, egy idoszakban meg beesett egy csillio percenkent. Akkro azert kitalalhatod, hogy ez volt a baj (mar ha baj volt egyaltalan). Azt persze nem tudom milyen szolgaltatasod van, az apache-ot csak ugy emlitettem. Es persze az is igaz, hogy eleg egyszeru helyzet az amit leirtam. Valoszinuleg tobb log file-t kell megnezned es kevesbe lesz egyertelmu a helyzet...

Köszönöm a válaszokat!

Amit kiolvastam az Apache serverem (php5-cgi) lett túlterhelve és emiatt állt be a rendszer.

Megoldás keresésében olyan kérdésem lenne, hogy ha túl sok csatlakozás van, akkor ezt hogyan lehet automatikusan észlelni és kezelni (blokkolni vagy ledobni mindet)?

Továbbá, ha egy folyamat ragad be, akkor ezt hogyan lehet kilőni, újra indítani, hogy a server működhessen?

U.I,
Debian 7-es rendszer fut a VPS-men...

Ha így közelítesz hozzá akkor jó esély van arra, hogy fél másodperc alatt ledöglik a gép, majd pár másodperc alatt újraindul.

Ahelyett hogy egy döglődö tákolmányt próbálsz életben tartani, inkább meg kéne állapítani, hogy miért is zuhan magába és azt a hibát kijavítani vagy elfedni.

Figyu, te szerintem egy mesterseges inteligenciat akarsz, ami uzemelteti a gepet. Ilyen egyelore nincs. Egyszeru dolgokra nyilvan van megoldas, de olyat nem fogsz tudni csinalni, hogy egy szerver felugyelet nelkul, mindig minden korulmenyek kozott mukodjon.

Azt viszonylag konnyu megoldani, hogy ha valami leall, akkor azt ujrainditsd. Mondjuk apache-ra (web-re) ezt le lehet scriptelni par sorban, de biztos vannak ehhez szepen megirt watchdog-ok is. De azert ovatosnak kell ezzel lenni, meg az is a gond ezzel, hogy sokszor eltakarja a valodi problemat (mert ujraindul, tehat mukodik, tehat nincs gond, mikozben talan megis van...).

Hol bérled a vps-t?
Milyen virtualizáció(xen, stb)?
Mennyi a ram és a cpu?
Hány látogatót szolgálsz ki?
Volt-e már olyan, hogy indokolatlanul magas volt a load?

mod_evasive fent van-e (dos attack ellen tökéletes)?

Yes, a statban látod, hogy mikor volt ez a terhelés 12 óra??, ahogy az access logban is van idő, a kettőt összenézed és már tudod is melyik weboldalt kell letörölni a sunyiba.