Zabbix – monitorowanie stanu serwera, instalacja i konfiguracja

Oprogramowanie Zabbix służy głównie do monitorowania pracy serwerów, ale można go również wykorzystać do sprawdzania stanu serwisów WWW.

Zabbix Server

Instalację serwera przeprowadzałem w systemie Debian (wersja squeeze). Pobieramy oraz rozpakowujemy źródła ostatniej stabilnej wersji ze strony:

Przechodzimy do katalogu ze źródłami oraz strukturą bazy danych. Następnie ładujemy strukturę bazy oraz dane wymagane do działania serwera:

cd zabbix-1.8.8/create/schema
cat mysql.sql | mysql -u root zabbix
cd ../data
cat data.sql | mysql -u root zabbix
cat images_mysql.sql | mysql -u root zabbix
cd ../../

Przed konfiguracją należy zainstalować kilka paczek ze źródłami. Lista będzie różnić się w zależności od wybranej bazy danych (w moim przypadku MySQL):

apt-get install libmysqlclient-dev libiksemel-dev libcurl4-openssl-dev libsnmp-dev libopenipmi-dev

Skonfigurujemy Zabbixa tak, aby możliwe było monitorowanie z wykorzystaniem protokołu SNMP (–with-net-snmp), wysyłane powiadomień poprzez protokół XMPP (–with-jabber):

./configure --enable-server --with-mysql --with-net-snmp --with-jabber --with-libcurl

Jeżeli konfiguracja przebiegła pomyślnie, możemy instalować:

make install

Dokumentacja zaleca dodanie usług, ale nie jest to konieczne. Do pliku /etc/services możemy dodać następujące wpisy:

zabbix-agent    10050/tcp  Zabbix Agent
zabbix-agent    10050/udp  Zabbix Agent
zabbix-trapper  10051/tcp  Zabbix Trapper
zabbix-trapper  10051/udp  Zabbix Trapper

Teraz czas na utworzenie pliku konfiguracyjnego. Przykład dostarczy wraz z aplikacją wystarczy do uruchomienia serwera:

mkdir /etc/zabbix
cp /root/zabbix/zabbix-1.8.8/misc/conf/zabbix_server.conf /etc/zabbix/zabbix_server.conf

Domyślnie Zabbix instaluje się w /usr/local/sbin, startujemy serwer poleceniem:

/usr/local/sbin/zabbix_server

Poleceniem ps możemy sprawdzić czy serwer działa:

ps aux | grep zabbix

Jeżeli nie zobaczymy procesu Zabbixa, to należy zajrzeć do pliku z dziennikiem. Domyślnie znajduje się w lokalizacji:

/var/log/zabbix_server

Panel administracyjny jest napisany w PHP. Do jego uruchomienia wystarczy skopiować odpowiednie pliki do katalogu, do którego dostęp posiada serwer WWW np.:

cd frontends/php
cp -a . /var/www/zabbix

Po uruchomieniu postępujemy zgodnie z instrukcjami w instalatorze. Domyślny login to „admin”, a hasło „zabbix”, które oczywiście należy zmienić po pierwszym logowaniu :)

Posiadamy już serwer, ale jeszcze nic nie jest monitorowane. W górnym panelu wybieramy menu Configuration -> Hosts i klikając w „Not monitored” włączamy monitoring na maszynie, na której zainstalowany jest serwer Zabbix. Po chwili pierwsza ikona z lewej strony zmieni kolor z czerwonego na zielony, co oznacza, że monitorowana maszyna jest włączona i można nawiązać z nią połączenie.

Zabbix Agent

Po instalacji serwera należy skonfigurować serwery, które chcemy monitorować. Do tego celu należy zainstalować agenta na każdym z nich. Przechodzimy do katalogu ze źródłami o wydajemy polecenia:

./configure --enable-agent
make install

Ponownie do pliku /etc/services możemy dopisać usługi:

zabbix_agent    10050/tcp
zabbix_trap     10051/tcp

Agenta uruchamiamy poleceniem:

/usr/local/sbin/zabbix_agentd

oraz weryfikujemy przy pomocy:

ps aux | grep zabbix

Logi są dostępne w pliku /var/log/zabbix_agent.

Konfiguracja serwera Zabbix

Po instalacji agenta na każdym serwerze, należy je powiązać z serwerem Zabbixa. Uruchamiamy panel i przechodzimy do menu Configuration -> Hosts. Klikamy na Create Host. Następnie podajemy nazwę serwera, adres IP oraz wybieramy domyślny szablon.

Uwagi

Należy zwrócić uwagę na dużą liczbę danych, które są zbierane przez aplikację. Po tygodniu od uruchomienia aplikacji oraz podłączeniu trzech serwerów baza danych zawiera już ponad 2 500 000 rekordów. Domyślny okres przechowywania danych jest ustawiony na jeden rok :) W większości przypadków, gdy chcemy być jedynie powiadamiani o stanie serwera, można zmniejszyć ten okres do kilku tygodni lub dni.

Ten wpis został opublikowany w kategorii Linux. Dodaj zakładkę do bezpośredniego odnośnika.