01.14
In Arty ,Linux | Tags: Arty, Linux, Monitoring
Administruję serwerami linuxowymi od paru lat (prawie 3,5), zacząłem właściwie 3 miesiące po skończeniu liceum ;) i od tego czasu zdążyłem się nauczyć sporo o tym co należy i czego nie należy robić zarządzając serwerami, nieważne czy jednym czy paroma. Niestety nauka na własnych błędach jest czasami bolesna więc w miarę możliwości starajcie się robić to na cudzych ;). Mam nadzieję że po tym artykule przynajmniej ktoś nauczy się czegoś z moich :).
Backupy
Zawsze! Staraj się mieć backup ważnych plików (dane aplikacji, pliki użytkowników), oraz plików konfiguracyjnych aplikacji, bazy SQL itd. robiony codziennie. Backup inkrementacyjny nie zajmuje tak dużo (zwłaszcza że dyski sa teraz tanie) a strata danych może być bardzo bolesna. Oprócz tego gdy coś zmienisz w configach i nie masz działającej wersji tego configa backup może oszczedzić Ci od 10min do 2-3h poświęconych na przywracanie configa do “używalności”.
Pamiętaj też, że jeżeli czyścisz dysk/serwer i znajdujesz coś do czego nikt się nie przyznaje i nikt nie wiem po co to komu, jest spora szansa że jak to usuniesz to po tygodniu, miesiącu lub trzech komus się o tym przypomni więc nie zaszkodzi nagrać to na DVD (no chyba że to kolekcja filmów które Cię akurat nie interesują, wtedy można usunąć ;])
Dobrym pomysłem jest też używanie CVSa do wersjonowania configów, jeżeli robisz dużo zmian (hmm musze kiedyś to zastosować.. może nawet skrobnę coś o tym).
Monitoring i statystyki
Zainstaluj oprogramowanie typu Nagios i monitoruj nim wszystkie (lub chociaż wszystkie ważne) usługi. Konfiguracja trochę zajmie ale możliwość szybkiego sprwadzenia aktualnego i poprzedniego stanu usług, oraz alerty są bardzo przydatne. Wystarczy jakiś dowolny złom, najlepiej oddzielna maszyna, lub maszyna z niewielką ilościa krytycznych usług, ponieważ gdyby padła całkowicie to nie dostaniesz emaila o tym jeżeli na niej chodził też nagios. Potem odpal go w tabie Firefoxa i zerknij od czasu do czasu, chyba że masz tyle szczęścia że w robocie masz 2 monitory :D.
Monitoring obciążenia, zajętości dysków itp. też się przydaje, można zobaczyć np. trendy zajętości dysku i przewidzieć mniej.więcej kiedy skończy się miejsce na dysku, lub kiedy serwer bazy danych przestanie wyrabiać się z ruchem. Oprócz tego daje to informacje nt. poprawy/pogorszenia wydajności systemu po zmianach/tuningu.
Polecam Collectd, mało konfigurowania, robi pliki rrd które można łatwo przetwarzać na wykresy (za pomocą dołączonych skryptów w /usr/doc/collectd albo za pomocą np Drraw), oprócz tego pozwala na łatwe dodawanie nowych źródeł np. chciałem dodać liczbę alertów ze snorta, skrypt wygląda tak:
#!/bin/sh A=`echo "select count(*) from acid_event;" \ |mysql -N -B -u snort --password=haslo_bazy snort` echo "PUTVAL bhaal/snort/ipt_bytes-alerts N:$A"
i tyle, można tez dodawac na raz parę wartości więc możliwości rozbudowy sa duże.
To tyle na razie, część druga w produkcji,(prawdopodobnie za tydzień), wszelkie uwagi/porady w commentach mile widziane ;]


9 ResponsesLeave a comment ?
Zamiast collectd mógłbyś użyć splunka -> http://www.splunk.com Nie wiem czy ci narysuje tak samo piękne grafy, ale do zbierania info z logów jest fajny.
Wolę się trzymać rozwiązań open source, poza tym aktyulanie administruję zbyt małą ilością serwerów by miało to większy sens. A jakbym adminował większą to na dobry początek i tak bym zrobił serwer logów i dopiero pod to podłączał jakiś analizator. Wtedy masz możliwość ew. zmiany rozwiązania bez potrzeby znaczącej rekonfiguracji serwerów.
Co do statów i monitorowania, te dwie rzeczy rzadko dobrze łączą się w jednym produkcie, collectd jest bardzo łatwy w deployowaniu (niestety brak klienta na windows) i generuje “standardowe” pliki rrd z którcyh można łatwo wygenerować wykresy
hmm co do tego nagiosa to bym sie zastanowil… lepiej munin, btw. a co o uzytkownikach na serwerze? opisz moze jeszcze chmody, firewall(chociazby podstawowy) , jakies limity… Ale jak na 1 cześć arta to b. dobry. Tak 3maj.
P.S. CVS -> SVN -> GIT
To nie jest art “Jak administrować serwerami” (swoją drogą coś takiego pewnie kiedyś napiszę) tylko “Co się nauczyłem przez ostatnie lata administrując serwerami” ;]. Co do monitoringu, działa ok więc na razie nie zamierzam zmieniać, ale ten munin wygląda całkiem interesująco.
A mi munin wyglada bardziej na konkurencje dla Cacti niz Nagiosa… co zreszta jest napisane w FAQ -
http://munin.projects.linpro.no/wiki/faq#Q.IsMuninthesameasNagios
Z cacti zawsze miałem ten problem ze niewiadomo dlaczego snmpd na linuxie czasami się po prostu “psuł”. Collectd lubie dlatego że jest bardzo “plugandplayowy” a gdy trzeba dodać jakiś “nietypowy” czujnik wystarczy wypluć coś typu:
PUTVAL server_name/snort/counter N:56522
z jakiegoś skryptu i tyle ;] w cacti zwykle trzeba było bawić się w “exec” w snmpd
Do Nagiosa jest bardzo wygodna zabawka p.t. Nagios Checker: https://addons.mozilla.org/firefox/3607/.
Wiem, używam ;] Genialna rzecz ;]
Nie wiedziałem że taka wtyczka istnieje. Milusie ;)