Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book
Zabbix – wydajny i efektywny monitoring sieci i serwerów
Wstęp
W ostatnim czasie coraz większe znaczenie, a także popularność wśród administratorów IT, zyskują narzędzia do monitorowania sieci oraz serwerów. Tego typu oprogramowanie powinno nie tylko umożliwiać sprawdzenie – w dowolnym momencie – wykorzystania danego zasobu (np. pamięci RAM serwera), ale także, a może… przede wszystkim – wysyłać SMS-em lub e-mailem komunikaty o awarii lub wyczerpaniu zapasów mocy badanego podzespołu. Dziś tego typu systemy traktowane są już nie tylko jako przydatne narzędzia. W branży IT jest to często standard i konieczność.
Potrzeba wdrożenia odpowiedniego oprogramowania spowodowała, że niezwykle popularne stały się narzędzia typu:
Ostatniemu z nich poświęcony jest ten artykuł.
Charakterystyka programu Zabbix
Mimo niewątpliwie dużej popularności Nagiosa to jednak Zabbix – dzięki ogromnej funkcjonalności oraz możliwościom rozbudowania – zdobywa w ostatnim czasie coraz większą liczbę zwolenników. Zabbix jest systemem stworzonym przez Alexeia Vladisheva w 2001 roku. Pierwsza oficjalna i stabilna wersja pojawiła się 23 marca 2004 roku. Od 21 maja 2012 dostępna jest druga wersja systemu, który obecnie rozwijany jest przez firmę Zabbix SIA.
Za pomocą Zabbixa możemy monitorować prawie każdy parametr działania serwerów lub urządzeń sieciowych. Wspiera zarówno systemy z rodziny Windows, jak i Linux. Do jego najbardziej podstawowych i oczywistych funkcjonalności można zaliczyć badanie:
- wysycenia łącza sieciowego; zarówno w sieci lokalnej, jak i dostawcy Internetu,
- obciążenia parametrów serwerów,
- temperatury poszczególnych podzespołów,
- edycji konkretnego pliku lub folderu,
- wykorzystanie baz SQL (rozmiaru lub dostępności bazy),
- poprawnego wykonania zapytania SQL (np. poprzez cyklicznie uruchamiane raporty z oprogramowania typu ERP).
Do monitorowania wymienionych zasobów możemy wykorzystać istniejące szablony, dostępne do pobrania za darmo z Internetu, które można podpiąć do naszego systemu. Szablony to zapisany i możliwy do wyeksportowania oraz zaimportowania zestaw czujek, alarmów oraz wykresów dostosowanych do konkretnego systemu lub urządzenia. W przypadku bardziej skomplikowanych wymagań, możliwe jest podłączenie własnych skryptów.
Zabbix umożliwia także monitorowanie stron WWW. Wszyscy obecnie zdają sobie chyba sprawę z tego, jak ważnym czynnikiem jest w pełni sprawna witryna WWW firmy. Wystarczy przecież niedostępność przez kilka sekund, by potencjalny klient przerzucił się na stronę konkurencji i do niej wysłał zapytanie ofertowe. Również w przypadku stron nie związanych z biznesem, ważne jest byśmy to my zawsze pierwsi wiedzieli o awarii. Odpowiednie monitorowanie stron internetowych w Zabbixie umożliwia wysyłanie informacji do właścicieli stron WWW o problemach związanych z przerwą w działaniu lub spowolnieniu szybkości witryny internetowej.
Działanie Zabbixa
Zabbix umożliwia wysyłanie informacji o awarii na wiele sposobów.
Do najbardziej standardowych należą informacje wysyłane drogą mailową lub SMS-em. Panel konfiguracyjny systemu posiada opcję, dzięki której możemy podłączyć naszą aplikację monitorującą do serwera SMTP. Oczywiście, jeżeli chcemy zastosować inne metody powiadamiania, możemy podłączyć odpowiedni skrypt, który będzie wykorzystywał inne typy komunikatorów. W Internecie można znaleźć całą masę gotowych skryptów pozwalających wysyłać wiadomości za pomocą SMS-a lub komunikatorów internetowych (np. Jabber lub Skype).
Oprócz samego wdrożenia, ważne jest również odpowiednie zaprojektowanie działania systemu monitoringu. Co nam po informacji o tym, że serwer nie działa? Fakt, wiemy pierwsi o awarii. Warto jednak zabezpieczyć się przed ich powstawaniem. Pomoże nam w tym odpowiednie zaplanowanie ustawień czujek. Warto wyskalować odpowiednie alarmy, tak byśmy otrzymywali co najmniej dwa poziomy zgłoszeń. Przykładowo, pierwszy – informacyjny, mówiący o wykorzystaniu 90%CPU, a drugi – ostrzegawczy o zużyciu 95%.
Przydatne jest również monitorowanie mniej typowych parametrów: badanie poziomu temperatury panującej w serwerowni może często uratować nas przed katastrofą.
Inną, przydatną funkcją jest możliwość wykonywania pewnych akcji po wystąpieniu awarii. Możliwe jest zarówno wykonywanie określonego skryptu, jak i automatyczny restart lub uruchomienie kluczowej usługi na określonym serwerze. Nie muszę chyba dodawać jak to bywa pomocne.
Obok tych typowych zastosowań, czyli monitoringu, Zabbix przydaje się również do analizowania ruchu w sieci. Jak już wiadomo, oprogramowanie zbiera całą masę wartościowych danych. Dzięki otrzymywanym wartościom możemy dokonywać analizy utylizacji poszczególnych zasobów w firmowej sieci. Odpowiednie wykorzystanie pozwala nie tylko zmniejszyć liczbę występujących awarii, lecz także uchronić przed wystąpieniem nowych. Stosuje się tu szacowanie wykorzystania zasobów. Oczywiście z biegiem czasu zużycie pewnych podzespołów (np. dysków) wzrasta, ale dzięki takiemu szacowaniu możemy uprzedzić moment, w którym dane zasoby ulegną wyczerpaniu.
Wdrożenie
System Zabbix można uruchomić na niemal każdej dostępnej dystrybucji Linuksa. Na moim blogu mogą Państwo znaleźć poradnik dotyczący wdrożenia i administracji tego niezwykle przydatnego narzędzia. Zbiór wszystkich części kursu znajduje się pod adresem: www.blog.askomputer.pl
Oczywiście, na wdrożenie i administrację Zabbixa należy poświęcić sporo czasu. Osoby, które chciałyby oszczędzić czas i jednocześnie przenieść odpowiedzialność za administrację w ręce doświadczonych w tym polu administratorów, mogą skorzystać z Zabbixa działającego w chmurze uruchomionej przez specjalistyczne firmy. Tzw. Cloud Computing to kolejny trend, który w ostatnich latach nabrał sporego znaczenia. To już jednak temat na inny artykuł.
– Arkadiusz Siczek [arkadiusz.siczek<at>sgsystems.pl]
O Autorze
Autor artykułu prowadzi firmę oferującą podłączenie sieci, serwerów lub stron WWW pod system Zabbix działający w Cloud Computing (askomputer.pl).
Osobiście preferuję jednak połączenie Icinga + check_mk + pnp4nagios.
Oprogramowanie Zabbix testowałem jakoś rok temu i niespecjalnie mnie przekonało do siebie:
– skomplikowany/kobylasty interfejs
– duże zużycie zasobów
– dziury w wykresach (spowodowane ograczeniami zasobów na instancji VM)
Owszem, Icinga też nie jest idealna, ale na razie w zupełności wystarcza – choć wcale nie przeczę, że nie spróbuję kiedyś ponownie Zabbiksa.
Swego czasu testowałem tego typu oprogramowanie. Zabbix w moich testach wypadł naprawdę kiepsko, część wad wymienił już soal. Od siebie mogę dodać np, że tworzenie szablonów jest kompletnie nieintuicyjne, a ciężko ściągnąć „gotowca”, który by idealnie pasował do potrzeb.
Zdecydowanie polecić mogę natomiast mało popularny NetXMS, a na drugim miejscu stawiam bardzo popularny nagios, który jest również dość dobry.
Tekst totalnie amatorski… w ostatnim czasie… systemy monitorowania sieci były popularne od wielu lat. Bardzo słoabo merytorycznie i technicznie.
Nie chcę bronić autora ;) szczególnie że nie piszesz o szczegółach. Ale może pytanie: masz może coś lepszego po polsku? (w sensie jakiś wstęp do Zabbixa, albo większy tutorial?)
Zabbixa używam do monitoringu ok. 50 urządzeń i powiem, że polecam :)
Ja jednak wolę Nagiosa, w Zabbixie się po prostu pogubiłem. Podobnie jak poprzednik „p” uważam że jest on na „dzień dobry” za bardzo skomplikowany. Po wejściu do panelu administracyjnego nie wiedziałem za co się złapać. Nie mówię, że Nagios jest idealny i łatwy ale można go bardzo ładnie, powoli skonfigurować. Obecnie monitoruję nim dziesiątki serwerów, temperaturę/wilgotność w serwerowni, różne usługi od HTTP/FTP po switche, AP na szczegółowych statystykach serwerów HTTP i DB kończąc. Czasami sam skrobnę plugin na własne potrzeby co jest dość proste. Ogólnie to Nagiosem można monitorować praktycznie wszystko i w łatwy sposób. Bez problemu wysyła maile i smsy, podłączenia do komunikatorów nie testowałem ponieważ nie uważam tego za praktyczne. Nagios w połączeniu z kilkoma nakładkami pozwala na administrację nawet użytkownikom, którzy z linuksem i shellem są na wojennej ścieżce.
Nie zgodzę się z opiniami wyżej wymienionymi.
Pracuję od paru lat z/na zabbixie, monitoruje nim kilka tyś urządzeń + kilkaset serwerów. Co do nieintuicyjnej obsługi trzeba się zgodzić, interfejs pozostawia dużo do życzenia, jednak zużycie zasobów jest małe, porównując do np Nagiosa. Oczywiście większa instalacja jak moja nie może być domyślna, trzeba troszkę się pobawić, mam wszystko na MySQL, średnio mam ponad 300 insertów/s po optymalizacjach co jest małą wartością i każdy nawet stary serwer sobie poradzi, jednak nie sprawdzam zajętości dysków co domyślne 5 minut, wszystko jest przemyślane w/g ważności konkretnego testu (item). Lepsze poznanie zabbixa pozwoli na szybkie rozwiązanie problemów o których piszecie wyżej.
Dla mnie największą porażką tego systemu jest nienaprawiony błąd (twórcy mówią o tym ficzer): jeśli test (item) przejdzie w tryb „Unsupported” to przypięte triggery wyłączą się i nie dostaniemy powiadomienia.
Przykład: monitoruje coś jako float (czyli test zwraca wartość), np przez snmp, nagle dostaje zamiast wartości „no such oid” czyli dla mnie to awaria bo np router przestał widzieć kartę którą monitoruje. W takim wypadku nie dostaniemy powiadomienia. Trzeba robić obejścia takich sytuacji. Wszystkie triggery typu „nodata” i inne w tym wypadku nie zadziałają. Podobno mają to naprawić w następnym dużym wydaniu.
ps: od wprowadzenia dynamicznych itemów, grafów i triggerów system zyskał wiele na funkcjonalności.
Zgadzam się z przedmówcą (Mad). Wypróbowałem w praktyce i Icingę i Zabbixa i stawiam na tego drugiego. Jedyna rzecz, do której mógłbym się przyczepić przy Zabbixie to brzydsze wykresy ;)
Witam
Ja z racji zawodu, używam wyłącznie Zabbixa i nie mogę się zgodzić z żadnymi podanymi powodami przeciw. System jest dosyć intuicyjny, na „dzień dobry” mamy kilkanaście dobrze przygotowanych szablonów. A co najważniejsze, system mogą obsługiwać managerowie i kierownicy a nie tylko admini. Standardowe punkty monitorowania można swobodnie wyklikać, dodać wykresy zgodnie z widzimisie – dynamicznie poruszać się po wykresach umieszczonych na screenach. I to wszystko robi kierownik. Wiadomo, nie podoba się to adminom, no ale cóż :). [Uwag Reklama]:Niedowiarkom polecam swoje szkolenia z Zabbixa. Google odpowie na pytanie, gdzie i kiedy :)
Pozdrawiam
@mbsit
Nie dziwne, że jest dla Ciebie intuicyjny skoro prowadzisz z niego szkolenia, inaczej nie może być. Ale jak posadzisz kogoś zupełnie nie obeznanego z Zabbixem do panelu to ten ktoś nie będzie wiedział co z tym robić, chyba jest po prostu przedobrzony. U mnie Nagios też jest obsługiwany przez ludzi nie zawsze technicznych. Do Nagiosa jest tyle nakładek, że można z niego zrobić bardzo łatwy i intuicyjny system dla każdego. Nie wiem czy można zmienić panel w Zabbixie bo aż tyle z nim nie walczyłem ale jeżeli nie to szybko się do niego nie przekonam. Nie mówię też, że nie dostanie kolejnej szansy u mnie :).
No ale koniec tej wojny Nagiosowo-Zabbixowej :). Skoro działa i robi co ma robić to co za różnica, każdy wybiera co mu bardziej odpowiada.
Na pewno stwierdzicie, że nie wypada dystrybutorowi pisać o swoim produkcie, ale z tych dyskusji widać jeden wniosek. Szukamy produktu, który działa tak prosto jak Nagios, ale ma więcej funkcji co daje Zabbix. My postawiliśmy na op5 Monitora, który moim zdaniem bardzo dobrze łączy te wymagania. Tak, op5 wymaga licencji, ale za to możemy liczyć na poprawki błędów. Jest też dowolnie skalowalny. Dla entuzjastów powiem, że jego składniki są opensource jak Ninja GUI, czy Merlin. Są już darmowe i można je przykleić do nagiosa.
Nieintuicyjność Zabbixa wynika z założeń Twórców tego oprogramowania. Po przesiadce z innych systemów monitoringu miałem ogromny problem z ogarnięciem jego funkcji. Na chwilę obecną monitorujemy setki hostów na całym świecie i nie wyobrażam sobie pracy bez wsparcia jakie daje mi Zabbix. Największa siła to wykonywanie zdalnych poleceń i skryptów co automatyzuje pracę działu IT oraz budowanie triggerów z wieloma zależnościami od innych monitorowanych parametrów. Brakuje kilku rzeczy to fakt ale mają się pojawić w wersji 2.2. Jakby program był kiepski to nie byłby używany przez Netię i Comarch (ich centrum monitoringu robi wrażenie). Te firmy na pewno stać na komercyjne rozwiązania ale jednak „poszli” w Zabbixa.
Za Zabbixa też można płacić, za wsparcie, lub z wdzięczności za kawał dobrego softu. Firma którą wymieniłeś płaci, ma też kilka (jak nie kilkanaście) innych systemów, wliczając wspomnianego nagiosa.
Ciekawą alterantywą jest również HP Sitescope tym bardziej że aktualnie można ściągnąć i zaintalować za darmo.
Zabbix jest bardzo fajny (i wydajny), ale niestety domyślna konfiguracja „wszystkiego” (i parę lat temu template’y) są tragiczne. Nie wiem jak jest teraz, bo po poznaniu logiki fajnie i szybko można tworzyć własne template’y.
btw:
http://www.exploit-db.com/exploits/28972/
Mogę powiedzieć coś na ten temat. Nie ma cudu – ale daje radę. Nie chcę kopiować tego co już na ten temat napisałem. Mimo wszystko polecam.
http://kczerw.blogspot.com/2014/01/zabbix-daje-rade.html
http://kczerw.blogspot.com/2014/03/zabbix-interface-web.html
Chcę opowiedzieć o jeszcze jednym przypadku gdzie lepszy zabbix niż natywny monitoring na przykładzie Openfire (server protokołu jabber jako komunikator firmowy): http://kczerw.blogspot.com/2014/04/zabbix-openfire-monitoring.html
wszystkie wymienione softy to dalej jednak amatorka w porównaniu z prawdziwymi komercyjnymi rozwiązaniami jak np. BMC ProactiveNet
Chyba żartujesz, mam z tym do czynienia na co dzień i każdego dnia przeklinam firmę za zakup tego badziewia.
Prosty przykład, sama instalka zajmuje 600MB dla Linux 2.6 a nie potrafi czytać logów. Do tego potrzebny jest 200MB „pacz”.
BMC z paro miesięcznym poślizgiem wydaje wersje na kolejne RedHaty, wyszedł 6.5 i agent na nim nie działa, trzeba czekać na poprawkę (a przecież 6.4 i 6.5 niczym się w bibliotekach nie różni!)
BMC już się wycofuje z Proactive. Jednak nie zdało to egzaminu i pewnie zostanie stary Patrol.
Panowie zazdroszczę wam, po fuzji firmy stałem się częścią większego corpo.
Admini z zachodniej centrali wyłączyli mi linuxy, za wszystkie rozwiązania płacą grube euro, koszty IT wzrosły chyba 100 krotnie.
A ja jestem ślepy i głuchy przychodzę do pracy na kawę…
sam osobiście jestem fanem nagiosa ale pewnie ze względu na większy czas jaki z nim spędziłem i customizację jakie wprowadzałem. Ale zarówno jedno i drugie narzędzie pozwala na osiągnięcie zadowalających efektów.
Nie czytaj komentarzy poprzedników o wadach zabbixa – w 2021 zabbix to super przyjazne dobre oprogramowanie. Używam już w 3 firmie do monitoringu 300+ maszyn virtualnych i aplikacji na nich instalowanych (także customowych)