Zabbix v.1.8.x (konfiguracja oraz kompilacja od podstaw)

Archiwalne, stare wpisy FAQ i HowTo Użytkowników
Awatar użytkownika
sector
Beginner
Posty: 113
Rejestracja: 28 kwietnia 2010, 10:48
Lokalizacja: Kraków

Zabbix v.1.8.x (konfiguracja oraz kompilacja od podstaw)

Post autor: sector »

W tym poradniku przedstawię jak samodzielnie skompilować program zabbix oraz jak skonfigurować niezbędne oprogramowanie do jego działania.

Zabbix potrafi współpracować z różnymi bazami, jednak ja tutaj omówię jego konfigurację w oparciu o MySQL.

Do poprawnego działania niezbędne będą:
[INDENT]apache2
mysql
php5[/INDENT]

Kod: Zaznacz cały

apt-get install apache2 php5 php-pear mysql-server php5-mysql
Podczas instalacji mysql instalator zapyta nas o hasło roota do bazy. Należy je zapamiętać ponieważ będzie wykorzystywane podczas dalszej konfiguracji oprogramowania.

Po poprawnym zainstalowaniu pakietów, należy dodać do serwera apache obsługę MySQL. W tym celu należy edytować plik php.ini

Kod: Zaznacz cały

nano /etc/php5/apache2/php.ini
i na końcu pliku dodajemy:

Kod: Zaznacz cały

extension=mysql.so
Następnie restartujemy serwer apache i sprawdzamy czy działa.

Kod: Zaznacz cały

/etc/init.d/apache2 restart
Uruchamiamy przeglądarkę i wpisujemy w polu adresu:

Kod: Zaznacz cały

localhost
lub:

Kod: Zaznacz cały

127.0.0.1

Jeśli wszystko działa powinna wyświetlić się standardowa wiadomość powitalna:

Kod: Zaznacz cały

It Works!
Jeśli tak to zakładam, że współpraca z mysql również przebiegnie bez problemu.
Przechodzimy więc do konfiguracji samej bazy.

Kod: Zaznacz cały

mysql -p[B]hasło[/B]
Zamiast hasło należy wpisać hasło roota do mysql.

Następnie wykonujemy kolejno:

Kod: Zaznacz cały

create database zabbix;
W odpowiedzi powinniśmy uzyskać:

Kod: Zaznacz cały

[I]Query OK, 1 row affected (0.01 sec)[/I]
Teraz należy dodać uprawnienia dla roota aby mógł swobodnie zapisywać jak i odczytywać dane z bazy.

Kod: Zaznacz cały

grant all on zabbix.* to [email protected] identified by 'hasło';
Jeśli agent będzie uruchomiony na innym komputerze to należy zmienić adres IP z 127.0.0.1 na adres IP komputera, który będzie łączył się z bazą mysql.

W odpowiedzi, w konsoli powinno się wyświetlić:

Kod: Zaznacz cały

[I]Query OK, 0 rows affected (0.00 sec)[/I]
W tym miejscu można się już wylogować z MySQL.

Kod: Zaznacz cały

exit

Teraz należy stworzyć nowe konto dla użytkownika zabbix. To właśnie na jego prawach będzie działał Zabbix w naszym systemie.

Kod: Zaznacz cały

sudo adduser zabbix
Ze strony Zabbixa - http://www.zabbix.com/download.php należy ściągnąć najnowsza wersje programu. W chwili pisania tego poradnika najnowszą wersją jest ->

Kod: Zaznacz cały

Zabbix Sources 1.8.2 z 29 Marca 2010.



Aby rozpakować pobraną paczkę wykonujemy:

Kod: Zaznacz cały

tar -xvf zabbix-1.8.2.tar.gz
Po poprawnym rozpakowaniu archiwum należy wpisać kolejno polecenia:

Kod: Zaznacz cały

cd zabbix-1.8.2/create/schema/
cat mysql.sql | mysql -p[B]haslo[/B] zabbix
cd . ./data
cat data.sql | mysql -p[B]haslo[/B] zabbix
cat images_mysql.sql | mysql -p[B]haslo[/B] zabbix
Teraz nadszedł czas na kompilacje samego Zabbixa. Wszystkie polecenie wykonuje się w katalogu głównym programu (zabbix-1.8.2/).

Kod: Zaznacz cały

./configure --enable-server --with-mysql --with-net-snmp --with-jabber --with-libcurl
W tym miejscu pojawić się mogą małe problemy (o ile ktoś tak jak ja nie miał zainstalowanych wszystkich niezbędnych bibliotek). W razie pojawienia się kolejnych komunikatów należy instalować odpowiednie paczki: Jeśli wszystkie braki w systemie zostały już uzupełnione, ponownie trzeba wykonać polecenie:

Kod: Zaznacz cały

./configure --enable-server --with-mysql --with-net-snmp --with-jabber  --with-libcurl
a następnie jeśli skrypt nie zwrócił błędów:

Kod: Zaznacz cały

make install
Jeśli Zabbix będzie uruchamiany na standardowych portach to do pliku:

Kod: Zaznacz cały

/etc/services
można dodać następujące wartości:

Kod: Zaznacz cały

zabbix-agent    10050/tcp  Zabbix Agent
zabbix-agent    10050/udp  Zabbix Agent
zabbix-trapper  10051/tcp  Zabbix Trapper
zabbix-trapper  10051/udp  Zabbix Trapper 
Niestety instalator Zabbixa nie jest zbyt dobrze dopracowany i nie wszystkie pliki zostają skopiowane podczas instalacji. Dlatego, teraz należy przegrać brakujące pliki do odpowiednich katalogów systemowych.

Kod: Zaznacz cały

mkdir /etc/zabbix
chown -R root.root /etc/zabbix/
cp zabbix-1.8.2/misc/conf/zabbix_* /etc/zabbix/

cp /zabbix-1.8.2/misc/init.d/debian/zabbix-server /etc/init.d/
cp /zabbix-1.8.2/misc/init.d/debian/zabbix-agent /etc/init.d/
Teraz można przejść do edycji plików konfiguracyjnych.

Kod: Zaznacz cały

nano /etc/zabbix/zabbix_agentd.conf
Jeśli serwer jak i agent Zabbixa znajduje się na tym samym komputerze, należy się upewnić jedynie, czy w polu IP znajduje się adres 127.0.0.1.

Teraz pora na plik konfiguracyjny serwera.

Kod: Zaznacz cały

nano /etc/zabbix/zabbix_server.conf
Tutaj trzeba zmienić wartości pól na poniższe:

Kod: Zaznacz cały

DBName=zabbix
DBUser=root
DBPassword=haslo
Tak jak wspomniałem wyzej, niestety nie wszystkie pliki zabbixa są kopiowane do odpowiednich katalogów systemowych i nie wszystkie pliki konfiguracyjne mają poprawne wartości, dlatego po raz kolejny należy dokonać ręcznych modyfikacji, tym razem w katalogu:

Kod: Zaznacz cały

/etc/init.d/

Kod: Zaznacz cały

nano /etc/init.d/zabbix-server
Tutaj należy zmienić wartości opcji DAEMON z

Kod: Zaznacz cały

DAEMON=/home/zabbix/bin/${NAME}
na:

Kod: Zaznacz cały

DAEMON=/usr/sbin/${NAME}
To samo w pliku konfiguracyjnym agenta.

Kod: Zaznacz cały

nano /etc/init.d/zabbix-agent

Kod: Zaznacz cały

DAEMON=/home/zabbix/bin/${NAME}
na:

Kod: Zaznacz cały

DAEMON=/usr/sbin/${NAME}
Jeśli nigdzie nie zaszła pomyłka i wszystko zostało zrobione poprawnie, to można ruszyć dalej do nadania odpowiednich praw dla plików oraz dodaniu ich do automatycznego startu wraz z systemem.

Kod: Zaznacz cały

sudo chmod 755 /etc/init.d/zabbix-server 
sudo update-rc.d zabbix-server defaults
sudo chmod 755 /etc/init.d/zabbix-agentsudo update-rc.d zabbix-agent defaults
Teraz można wystartować zabbixa (zarówno serwer jak i agenta).

Kod: Zaznacz cały

/etc/init.d/zabbix-server start
/etc/init.d/zabbix-agent start
W tym momencie można sprawdzić czy skrypty działają poprawnie.

Kod: Zaznacz cały

ps aux | grep zabbix
Jeśli wszystko zostało wykonane poprawnie powinna się wyświetlić lista z informacjami o procesach Zabbixa. Jeżeli natomiast lista się nie wyświetla to znaczy, że znowu trzeba ręcznie wspomóc instalator i ręcznie skopiować pliki.

Kod: Zaznacz cały

cp zabbix-1.8.2/src/zabbix_agent/zabbix_agent /usr/sbin/
 cp zabbix-1.8.2/src/zabbix_agent/zabbix_agentd  /usr/sbin/
 cp zabbix-1.8.2/src/zabbix_get/zabbix_get /usr/sbin/
 cp zabbix-1.8.2/src/zabbix_sender/zabbix_sender  /usr/sbin/
 cp zabbix-1.8.2/src/zabbix_server/zabbix_server  /usr/sbin/


I tym razem należy sprawdzić, czy wszystko się uruchomilo.

Kod: Zaznacz cały

/etc/init.d/zabbix-server start
 /etc/init.d/zabbix-agent start

Kod: Zaznacz cały

ps aux | grep zabbix
Jeśli nadal lista się nie wyświetla, to znaczy, że coś poszło nie tak. Dlatego w tym miejscu trzeba przejrzeć logi i sprawdzić co powoduje konflikt w systemie i sprawia że program nie działa.

Logi

Kod: Zaznacz cały

/tmp/zabbix_server.log
/tmp/zabbix_agentd.log
/var/log/daemon.log
/var/log/auth.log
Teraz można już przejść do ostatniego kroku konfiguracji Zabbixa z serwerem Apache. W tym calu należy skopiować całą zawartość katalogu php z katalogu Zabbixa do lokalizacji na dysku twardym (HDD), z której będzie korzystał serwer Apache.

Kod: Zaznacz cały

cp zabbix-1.8.2/frontends/php/* /var/www/
Oczywiście lokalizacja plików używanych przez serwer Apache może być inna, jednak ja używam standardowej. W razie gdyby ktoś chciał przenieść pliki WWW w inne miejsce, należy pamiętać o zmianie ścieżek w pliku konfiguracyjnym Apache. Plik ten znajduje się w lokalizacji:

Kod: Zaznacz cały

/etc/apache2/sites-enabled/000-default
Teraz można już przejść do lokalizacji, do której przegrane zostały pliki z www Zabbixa i skasować standardowy plik index.html. Równocześnie należy zrestartować serwer Apache.

Kod: Zaznacz cały

cd /var/www
rm -rf index.html
/etc/init.d/apache2 restart
Teraz można otworzyć przeglądarkę stron www, wpisać w pole adresu:

Kod: Zaznacz cały

127.0.0.1
i postępować zgodnie z instrukcjami, które wyświetlają się na ekranie.

Na trzeciej stronie instalatora, wyświetlają się informacje o aktualnych ustawieniach w naszym systemie oraz rekomendowanych ustawieniach przez Zabbixa. Jeśli coś w pliku konfiguracyjnym ma mniejszą wartość, niż preferowana wartość Zabbixa to program się nie zainstaluje. Wszystkie ustawienia znajdują się w pliku:

Kod: Zaznacz cały

/etc/php5/apache2/php.ini
Wkleję tutaj ustawienia, które domyślnie trzeba zmienić aby zainstalować Zabbixa.

Kod: Zaznacz cały

nano /etc/php5/apache2/php.ini
Edytować należy poniższe wartości:

Kod: Zaznacz cały

memory_limit = 256M
post_max_size = 32M
upload_max_filesize = 16M
max_input_time = 600
date.timezone=utc+1 #trzeba aktywować jeśli opcja jest nieaktywna usuwając znak # z początku linii wpisu.
Dodatkowo, jeśli pojawia się informacja o braku wsparcia dla GD:

Kod: Zaznacz cały

GD PNG Support

to należy jeszcze zainstalować dodatkową bibliotekę do obsługi GD.

Kod: Zaznacz cały

apt-get install php5-gd
Po zapisaniu zmian w php.ini i odświeżeniu (ang. arefresh) ustawień w instalatorze można przejść do kolejnej strony.

Na czwartej stronie widnieją ustawienia związane z dostępem do bazy. Wszystko powinno być uzupełnione zgodnie z poniższym schematem:

Kod: Zaznacz cały

Type: MySQL
Host: localhost
Port: 0
Name: zabbix
User: root
Password: haslo roota do MySQL
W kolejnych krokach, może pojawić się wiadomość, że Zabbix nie ma prawa dostępu do zapisania pliku konfiguracyjnego na dysku. Należy wtedy zapisać plik konfiguracyjny na pulpicie lub innym miejscu, do którego użytkownik ma dostęp, a nastepnie ręcznie go przekopiować do wskazanej lokalizacji.

Jeśli wszystko zostało zrobione zgodnie z instrukcją można przejść do strony logowania do Zabbixa. W przeglądarce wpisując:

Kod: Zaznacz cały

127.0.0.1
lub:

Kod: Zaznacz cały

localhost
i zalogować się jako

Kod: Zaznacz cały

Login: Admin
Pass: hasło użytkownika zabbix
Następnie w polu

Kod: Zaznacz cały

[i]Configuration[/i] ->[i]Hosts[/i]
powinien być widoczny:

Kod: Zaznacz cały

Zabbix Server
W polu status należy kliknąć na:

Kod: Zaznacz cały

Not Monitored
Po tym zabiegu status powinien się zmienić na:

Kod: Zaznacz cały

Monitored
a na zakładce:

Kod: Zaznacz cały

 [I]Monitoring[/I] -> [I]Screens[/I]
powinny się pokazać monitorowane dane danego serwera/komputera.

W ten sposób mamy skonfigurowanego Zabbixa, który będzie uruchamiał się przy starcie systemu i monitorował nasz sprzęt. Zmianę ustawień samego monitoringu pozostawiam waszej inwencji twórczej.
Zablokowany