Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Zabbix – system monitorowania sieci z którego każdy admin będzie zadowolony

Podstawowym obowiązkiem administratora jest utrzymanie powierzonej mu infrastruktury sieciowej. Zaliczyć do niej można przede wszystkim serwery i stacje robocze, ale także m. in. routery oraz switche itp. Oczywiście to nie wszystko bo można także doszukać się np. urządzeń multimedialnych, które również są potrzebne w codziennej pracy firmy. Generalnie wszystko zależy od specyfiki firmy, jej wielkości, a także chęci zatrudnionego admina ;-)

Odpowiedzialny administrator na pewno będzie chciał mieć wszystko pod kontrolą na tyle, na ile jest to możliwe. Dlatego w cenie będą dla niego powiadomienia via e-mail lub SMS o problemach na newralgicznej części infrastruktury. Na pewno przyda się także bieżące monitorowanie usług sieciowych (np. DNS, LDAP, AD itp.) dostępnych na poszczególnych serwerach. Przyjemnie też byłoby zobaczyć, które urządzenie generuje największy ruch w sieci albo w jakich godzinach dany serwer jest najczęściej odpytywany. A wisienką na torcie byłaby możliwość podejrzenia wyników w postaci wykresów z możliwością ich eksportu. Ta opcja może być szczególnie przydatna, gdy przełożony poprosi o raport lub trzeba będzie wnioskować o przydział nowego sprzętu. ;-)

I właśnie wszystko co powyżej, zapewnia Zabbix. Czyli kompleksowy system monitorowania sieci, posiadający uznanie w kręgach ekspertów, a także stosowany w niejednym Data Center.
Jako, że w ostatnim czasie miałem okazję trochę pobawić się ów systemem – postanowiłem opisać moje bądź co bądź miłe doświadczenia z jego instalacji, konfiguracji i godzin z nim spędzonych :-)

Co prawda Zabbix nie sprawia tyle frajdy co zabawa narzędziami wypisanymi na schemacie poniżej, ale również nadaje się do profesjonalnych rozwiązań ;-) Alternatywnym rozwiązaniem może być Nagios lub Cacti.

Ale do rzeczy...

Licencja, dokumentacja oraz środowisko pracy

Zabbix, dumnie nazywany przez twórców jako "The Enterprise-Class Open Source Network Monitoring Solution", jest rozpowszechniany na licencji GNU General Public License (GPL) v. 2. Dzięki temu można go wykorzystywać nawet w najbardziej komercyjnych technologicznie projektach jakie tylko możemy sobie wyobrazić ;-)

Najnowsze wydanie (3.0), wprowadza sporo udogodnień względem poprzednich wersji. Wszystkie one posiadają przyzwoicie opisane dokumentacje, w tym dla wersji 2.2 dostępna jest ona w języku polskim (zapewnia świetny wstęp do przyswojenia co poniektórych terminów używanych na ich łamach). Z moich doświadczeń wywnioskowałem, że sporo opisów, instrukcji lub definicji pokrywa się między sobą w różnych wersjach, co znacznie ułatwia odnalezienie się przez początkującego użytkownika.

Serwer Zabbixa pracuje na systemach Linux/Unix. Gotowe paczki instalacyjne Zabbixa w wersjach 2.2 LTS, 2.4 i 3.0 LTS – dostępne są dla dystrybucji RHEL i CentOS (wersje 5/6/7), Oracle Linux, a także Debian 7/8 i Ubuntu 14.04 LTS.

Łatwość nawiązywania komunikacji z hostami

Podstawowa komunikacja między serwerem, a hostem (np. serwerem, switchem lub stacją roboczą) jest możliwa do realizacji na kilka sposobów:

Możliwe jest wykorzystanie agenta, czyli skrypt uruchamiany po stronie klienta, który po skonfigurowaniu nawiązuje komunikację z serwerem Zabbixa. Możliwa jest jego instalacja z pakietów (w systemach Linux/Unix pracuje jako demon), programów .exe (na systemach Windows pracuje jako usługa systemowa) lub wykorzystania z dostępnych dla różnych platform, prekompilowanych binarek.

Można skorzystać także z protokołu SNMP lub ICMP.

Zabbix oferuje także komunikację z Java Management Extensions (JMX), który umożliwia całkiem sensowne monitorowanie aplikacji napisanych w tym języku. W najbliższym czasie planuję właśnie pobawić się w takie rozwiązanie i postaram się znaleźć chwilkę czasu na opisanie moich doświadczeń z tym związanych :-)

Przykład dodania hosta komunikującego się przez agenta

Zaprezentuję prosty przykład dodania hosta na serwerze Zabbixa. Jego komunikacja będzie oparta na agencie zainstalowanym w systemie klienckim. Nie będę opisywał całej procedury instalacji i konfiguracji agenta od podstaw, ponieważ świetnie zostało to zaprezentowane w poniższych artykułach:

W skrócie cała sprawa z agentem sprowadza się do uzupełnienia trzech parametrów w konfiguracji (Server, ServerActive oraz Hostname) i odpalenia agenta.

Następnie po stronie Zabbixa należy ów host dodać, wpisać jego hostname, nazwę, przypisać do grupy, a także podać adres IP agenta.

W zakładce "Szablony" warto także wybrać jeden z dostępnych szablonów, tak aby określić jakie agent ma zbierać dane na systemie klienckim.

Po wybraniu szablonu i dodaniu, zobaczymy obserwowany system na liście monitorowanych hostów.

Status komunikacji z agentem zobaczymy w kolumnie "Dostępność", gdzie zielone podświetlenie skrótu "ZBX" informuje o jej poprawności. W przeciwnym wypadku możemy spodziewać się koloru czerwonego.

Informacje o naszych hostach będziemy mogli zobaczyć także na stronie domyślnej serwera Zabbixa.

Makra, Funkcje i wyrażenia

Im bardziej szablony monitorowania są skrojone do potrzeb użytkownika, tym Zabbix jest skuteczniejszy w działaniu. Posiada on domyślnie sporo szablonów z zaimplementowanymi pozycjami, wyzwalaczami (ang. triggers), wykresami itd..

Wszystko zbudowane jest na makrach, funkcjach i wyrażeniach. Dzięki nim, możliwe jest także tworzenie własnych implementacji, które pozwolą znacznie "spersonalizować" monitoring.

Dla bardziej szczegółowego zapoznania się z ideą wymienionych funkcjonalności, polecam poświęcone im rozdziały w dokumentacji:

Dzięki wyżej wymienionym funkcjonalnościom możliwe jest przede wszystkim generowanie wykresów, które przecież są najważniejsze bo wtedy wiadomo, że coś się dzieje :D

Ale ważne są także...

Akcje

To właśnie akcje definiują działania na podstawie wyzwalaczy. Pozwalają ustalić scenariusze powiadomień dla administratorów, np. poprzez wysłanie SMSa lub emaila.

Osobiście z akcjami miałem do czynienia w przypadku takich właśnie powiadomień. Przykładowo, prosty scenariusz: gdy maszyna nagle przestaje pingować – wysyłany jest email. Jeśli ping nie odpowiada przez 15 minut, wysyłka SMS.
Zdefiniowane akcje miały dla różnych powiadomień wywoływać odpowiednie skrypty bashowe (maile idą za pośrednictwem ssmtp, a smsy przez smstool).

Warto przećwiczyć dodawanie i konfiguracje akcji, gdyż można sprawić sobie całkiem ciekawą pobudkę w niedzielę o 6.30 rano, gdy w ciągu 20 minut przyszło lekko ponad 100 smsów z komunikatami :D Niestety, mój błąd polegał na tym, że po prostu zapętliłem wykonanie danej akcji... Przynajmniej już wiem, że to skuteczna forma pobudki :P

Poniżej kilka screenów obrazujących dodawanie akcji.

Formularz definiowania treści komunikatu:

Ustalenie warunków realizacji akcji:

Ustalenie ilości kroków, ich szczegółów w postaci czasu wykonywania, adresatów, formy powiadomienia itp.

To jest tylko zalążek wszystkich możliwości Zabbixa!

Prezentowane wyżej przykłady i opisy poszczególnych modułów/funkcjonalności/rozwiązań w Zabbixie, mają charakter jedynie poglądowy. Wszystkie te elementy połączone razem otwierają szerokie spektrum możliwości, które pozwolą na monitorowanie sieci na naprawdę wysokim poziomie. Dlatego jest to jeden z powodów dla którego na pewno przez długi czas nie rozstanę się z Zabbixem. Bliższe poznanie się z tym systemem na pewno nie pójdzie w las :-)

Dodatkowo podoba mi się także przemyślany rozwój tej technologii. Widać, że twórcy mają pomysł, wiedzą czego potrzebuje rynek i klienci, a także potrafią stworzyć całkiem przyjazne i łatwe w obsłudze środowisko do pracy. Zabbix skupia także całkiem dużą społeczność, co zauważyłem nie raz przy okazji szukania rozwiązań różnych problemów via Google.

Także mam nadzieję, że to nie będzie mój ostatni wpis o Zabbixie i starczy mi czasu oraz energii do stworzenia kolejnych wpisów w tej materii :)

PS. Specjalnie linkowałem do dokumentacji Zabbixa w języku polskim, głównie ze względu na charakter wpisu, który jest stricte zapoznawczy i poglądowy ;-) 

linux oprogramowanie serwery

Komentarze

0 nowych
Frankfurterium   9 #1 26.04.2016 23:21

Miałem styczność ze starszą wersją. Ozabbixowanie sporego środowiska produkcyjnego wspominam średnio miło. Wtedy program był kapryśny, niektóre funkcjonalności były ograniczone albo wręcz zabugowane, sporo było w nim rzeczy UX-owo nieintuicyjnych, a pełne oskryptowanie instalacji serwera i konfiguracji agentów na każdym nodzie to była mordęga. Bez walizki pieniędzy nie podejmuję się update'a do wersji 3. Ale mimo wszystko Zabbix to i tak najlepszy spośród darmowego softu tego typu. AppDynamics i NewRelic robią to wszystko lepiej i łatwiej, ale za setki/tysiące USD miesięcznie :-|

DjLeo MODERATOR BLOGA  17 #2 27.04.2016 08:06

U nas króluje Nagios, ale i tak nie jesteśmy do końca zadowoleni.

GBM MODERATOR BLOGA  19 #3 27.04.2016 08:26

@Frankfurterium: Ja właśnie główną część prac miałem na wersji 2.4, ale że to nie jest LTS - to w najbliższym czasie pomyślę nad przygotowaniem pola pod upgrade na 3.0 :)

@DjLeo Zawsze możecie spróbować Zabbixa, jak wstępnie przygotowywałem się do wyboru odpowiedniego systemu monitorowania - to właśnie Zabbix szedł w parze z największą liczbą pozytywnych opinii :)

dr.boczek   7 #4 27.04.2016 08:31

Mega przydatne narzędzie, korzystam z 2.4

  #5 27.04.2016 09:06

Jest jeszcze NetXMS. Tez całkiem pomocny :)

cyryllo   16 #6 27.04.2016 09:26

Chyba mam swój system do monitorowania ;) Jakoś nagios nie do końca mi pasuje, choć jest też ciekawym narzędziem.
Masz mój głos ;)

djgrzenio   8 #7 27.04.2016 09:34

Mialem nagiosa i był spoko, ale kawałek czasu temu przemigrowałem się na zabbix-a i to był dobry krok. Dla mnie bardzo pomocne było możliwość konfiguracji agenta w trybie active - zaa natem oraz autorejestracji maszyn gdy ktoś budował nowe vm miały w template zabbix agenta i nie trzeba było ręczeni dodawać maszynek. Jak ktoś zaaintereswoany na moim blogu jest pare tekstów https://www.8px.pl/tagi/zabbix/

GBM MODERATOR BLOGA  19 #8 27.04.2016 09:41

@cyryllo: dzięki! :)

  #9 27.04.2016 11:36

Zabbixa używam już od wersji 1.x, aktualnie 2.x a przymierzam się do 3 :). Ogólnie bardzo go polecam, co chwilę odkrywam coś nowego i czasem sam się zaskakuje co "zabbix" jest w stanie monitorować.

Btw. jak rozwiązałeś kwestię smstools ?. Podpinałeś fizyczny tel, masz sprzętową bramkę gsm czy korzystasz z bramek sms online ? (smsapi itp )

janek8812   2 #10 27.04.2016 12:38

Do linuksów i urządzeń po snmp ok, ale do środowisk Microsoftowych już be..
Nie zmonitorujesz fajnie Exchange, Ad, Hyper-V etc. Do tego darmowe narzędzia niestety się nie nadają. Polecam PRTG Network Monitor, ma wtyczki do Microsoftów, Oraclów i masy innych systemów 'firmowych'

lun   1 #11 27.04.2016 12:40

Ogólnie z zabbixem jestem (niekoniecznie z własnej woli) związany od wersji 1.8 i muszę przyznać że przeszedł naprawdę długą drogę ku lepszemu. Początki to była droga przez mękę. Odkąd pojawiły się Discovery Rules i ogólnie machine discovery - system nadaje się nie tylko do małych środowisk.

Problemem ciągle pozostaje to, że dla monitoringu czegoś bardziej zaawansowanego, musisz pisać swoje skrypty których wynik dopiero możesz monitorować zabbixem.

Mała uwaga. Sprawdź swoją konfigurację, zobacz czy masz skonfigurowanego housekeepera (odpowiada za czyszczenie starych danych z tabel sql), sprawdź czy masz ustawiony autovacuum (lub czy w planie maintenance'owym masz vacuum full) o ile korzystasz z bazy postgreSQL. Sprawdź jakie masz ustawienia historii i trendów dla swoich maszyn. Mnie zastała sytuacja, kiedy w odziedziczonym systemie baza danych rozrosła się do 550GB ;-) Największa tabela miała 419 GB. System fizyczny, z lokalnymi dyskami ... ;-)

  #12 27.04.2016 13:40

A jak z HA? Chodzi mi o moment w którym pada główny serwer Zabbixa, można go jakoś replikować na dwa żelastwa?

GBM MODERATOR BLOGA  19 #13 27.04.2016 15:03

@sturm21 (niezalogowany): Podpinam modem USB i konfiguruję jego obsługę z poziomu pliku konfiguracyjnego smstool'a (/etc/smsd.conf)

djgrzenio   8 #14 27.04.2016 15:19

@sturm21 (niezalogowany): ja osobiscie mam skrypt ktory leci na smsapi a w przypadku braku neta uzywa modemu 3g wpietego w port i gammu

soal   5 #15 27.04.2016 15:20

Ja polecam rozwiązanie Icinga + check_mk + pnp4nagios i całość zautomatyzowana za pomocą Ansible :-)

Shaki81 MODERATOR BLOGA  37 #16 27.04.2016 16:49

No i przez Ciebie szlag trafi mi kolejne kilka dni na testowaniu Tego rozwiązania. Dzięki za info.

GBM MODERATOR BLOGA  19 #17 27.04.2016 16:54

@elita (niezalogowany): Myślę, że tak aczkolwiek nie wgłębiałem się zbytnio w ten temat.

@Shaki81 Hehe, służę pomocą jak zawsze ;-)

@lun Dzięki za cenne rady! :)

wojtekadams   18 #18 27.04.2016 18:33

No ja kiedy używałem Nagiosa do monitorowania pracy boxów i do moich celów był wystarczający.

Areh   16 #19 28.04.2016 07:59

W firmie korzystamy z Nagiosa (łatwo swoje wtyczki można napisać) + Munin, ale tym wpisem zachęciłeś mnie do przetestowania tego Zabbiksa. Jak tylko trochę czasu znajdę, to będziem testować.

  #20 04.05.2016 21:21

@Frankfurterium: podnosiłem 2.4 do 3 poszło od ręki bez problemów a wszystkie czujki dzialaja bez dotykania

  #21 05.05.2016 08:13

Spoko system do monitorowania. Mozliwosc monitorowania roznych platform. Bez zadnych problemow radzi sobie z Systemami z rodziny MS. Dobra integracja z selenium. Wiadome ze nie mozna polegac tylko na wbudowanych mozliwosciach tylko trzeba wspomagac go roznymi skryptami. W moim przypadku ZAbbix monitoruje okolo 30 tys hostow. Upgrade z wersji 2.4 do wersji 3.1 bez problemowe. Polecam jak najbardziej

  #22 07.06.2016 15:42

@Anonim (niezalogowany): ale bzdury piszesz, Zabbix nie ma integracji z Selenium, zabbix nie ma jeszcze wersji 3.1...

OpenZAB   1 #23 07.11.2016 13:16

Sam używam i od ponad 5 lat szkolę i wdrażam Zabbixa. Z powodzeniem działa w małych sieciach jak i w dużych korporacjach. Mam na swoim koncie kilka migracji z Nagiosa i jedną migrację z PRTG (w jednej z największych ubezpieczalni w Polsce). Walizka pieniędzy - o jakiej wspominano u góry, nie jest taka duża z dwóch powodów: po pierwsze odpada koszt licencji, po drugie jak się zna Zabbixa i wykorzystuje sie jego natywne mechanizmy autowykrywania czy LLD, to można z niego dużo wyciągnąć. Do tego dochodzi baza szablonów dostępna w Internecie. Reklamy firmy nie podaję, ale dla chcącego nic trudnego.
Jeśli system wdraża "programista" to z takim systemem jest zawsze jazda przy upgrade bo nic się nie trzyma standardu.
Jak system wdraża "sys admin" to w stosunku do Zabbixa nie widzę żadnego problemu przy upgrade.
Dafftu: kolega się po prostu pomylił, jest już wersja 3.2

Pozdrawiam
Grzegorz