Login
Newsletter
Werbung

Mi, 13. August 2008, 00:00

Systemüberwachung mit Zabbix - Teil 1

Eine visuelle Auswertung hilft, den Überblick zu behalten

Mirko Lindner

Eine visuelle Auswertung hilft, den Überblick zu behalten

Installation aus den Quellen

Das Quellpaket von Zabbix - in unserem Fall die Version 1.4.6 - liefert bereits von Hause aus ein »configure«-Skript mit. Um den eigentlichen Server oder den Agenten zu compilieren, bedarf es jeweils einer separaten Option. Ferner muss dem Skript auch mitgeteilt werden, wenn SNMP, Jabber und Web-Monitoring gewünscht sind. Das Kommando lautet dazu:

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

oder wahlweise für eine Installation eines Agenten ohne den Zabbix-Server:

# ./configure --enable-agent

Ist die Konfiguration erfolgreich abgeschlossen worden, muss die Software compiliert und installiert werden. Die erledigen folgende Kommandos:

# make
# su
# make install

Damit sollte nun Zabbix auf einem System wenigstens installiert sein, auch wenn es noch nicht funktioniert.

Serverkonfiguration

Der erste Schritt der Konfiguration von Zabbix stellt die Erstellung einer geeigneten Datenbankstruktur dar. Je nach Installationsmethode und Distribution können die Pfade der nun benötigten Dateien abweichen. Wir beschränken uns deshalb auf die Quellen und beschreiben die weitere Vorgehensweise anhand der Quellenstruktur.

Zabbix beinhaltet bereits von Hause aus die komplette Struktur des Servers und die Default-Konfiguration. Jene Daten gilt es nun auf den MySQL-Server zu übertragen. Zuvor muss noch die Datenbank selbst erzeugt und, falls gewünscht, ein neuer Datenbankbenutzer angelegt werden:

# mysql -u<username> -p<password>
mysql> create database zabbix
mysql> quit
# cd ZABBIX_QUELLEN/create/schema
# cat mysql.sql | mysql -u<username> -p zabbix
# cd ../data
# cat data.sql | mysql -u<username> -p zabbix
# cat images_mysql.sql | mysql -u <username> -p zabbix

Damit steht Zabbix prinzipiell zum ersten Test bereit. Was nur noch fehlt, ist eine sinnvolle Konfiguration. Dies erledigen wir, indem wir die Server-Beispieldatei zur Server-Verzeichnisstruktur hinzufügen:

# mkdir /etc/zabbix
# cp ZABBIX_QUELLEN/misc/conf/zabbix_server.conf /etc/zabbix

Für eine optimale Konfiguration in großen Umgebungen empfiehlt es sich, die Dokumentation von Zabbix zu studieren. Wer dagegen nur eine kleine Zahl von Systemen überwachen will, kann die Dafaultwerte ruhig unverändert stehen lassen. Geändert werden müssen lediglich die Datenbankeinstellungen und falls gewünscht der Pfad der Log-Datei:

# mkdir /var/log/zabbix
# chown zabbix:zabbix /var/log/zabbix
# vi /etc/zabbix/zabbix_server.conf
[..]
LogFile=/var/log/zabbix/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUser=<username>
DBPassword=<password>
[..]

Nun fehlt noch ein Benutzer-Account, damit Zabbix nicht mit den Rechten des root-Accounts betrieben werden muss. Falls Sie Zabbix aus einem RPM- oder DEB-Paket installiert haben, so ist ein Benutzer mit großer Wahrscheinlichkeit bereits erstellt worden:

# groupadd zabbix
# useradd zabbix -g zabbix -d /dev/null -s /sbin/false

Jetzt ist es endlich an der Zeit, erstmals den Server zu starten. Kontrollieren Sie bitte auch dessen Verfügbarkeit:

# zabbix_server
# ps -ef | grep zabbix
[..]
zabbix 16455 1 0 17:59 ? 00:00:00 zabbix_server
zabbix 16458 16455 0 17:59 ? 00:00:00 zabbix_server
zabbix 16460 16455 0 17:59 ? 00:00:00 zabbix_server
[..]

Damit sind wir nun sicher, einen funktionierenden Server aufgesetzt zu haben. Sehen Sie die obigen Ausgaben des »ps«-Befehls nicht, so überprüfen Sie noch einmal Ihre Installation und schauen sich die Ausgaben in der Datei /var/log/zabbix/zabbix_server.log an.

Um den Start des Servers zukünftig zu erleichtern, sollten Sie noch das mitgelieferte Init-Skript in die Server-Struktur einbinden oder ein eigenes Skript für Ihre Distribution erstellen. Bei der Verwendung von Paket-Distributionen ist dies mit großer Wahrscheinlichkeit bereits passiert, so dass Sie diesen Schritt überspringen können. Vergessen Sie bei der Nutzung der Skripte in den Quellen nicht, die verwendeten Pfade anzupassen!

# cp ZABBIX_QUELLEN/misc/init.d/DISTRIBUTION/zabbix_server /etc/init.d
# chmod 755 /etc/init.d/zabbix_server
# vi /etc/init.d/zabbix_server
[..]
CONFIG_FILE="/etc/zabbix/zabbix_server.conf"
ZABBIX_BIN="/usr/local/sbin/zabbix_server"
[..]
# /etc/init.d/zabbix_server status

Agentenkonfiguration

Nachdem unser Server installiert ist, gilt es, den ersten Agenten zu starten. Da wir im Zuge der Installation des Servers auch die Agent-Software auf unserem System installierten - schließlich will dieser auch überwacht werden - bedarf es nur noch einer Konfiguration des Systems. Hier gilt es allerdings die erste Entscheidung zu treffen, wie der Agent mit dem Server kommunizieren soll.

Die eigentliche Kommunikation zwischen dem Server und einem Agenten kann auf zweierlei Arten erfolgen. So kann der Agent entweder als Daemon auf dem System gestartet werden oder auf einem bestimmten Port lauschen. Der Hersteller selbst empfiehlt die Daemon-Methode, weshalb wir diese in unserer Beschreibung auch nutzen werden. Anwender der zweiten Methode sind gebeten, die Dokumentation zu Rate zu ziehen.

Wie auch beim Server gilt es zuerst eine Standard-Konfiguration zu erstellen. Kopieren Sie dazu die Datei zabbix_agentd.conf in das Zabbix-Verzeichnis und passen die IP-Adresse des Servers und den Namen an.

# cp misc/conf/zabbix_agentd.conf /etc/zabbix
# vi /etc/zabbix/zabbix_agentd.conf
[..]
Server=127.0.0.1
Hostname=localhost
LogFile=/var/log/zabbix/zabbix_agentd.log
[..]

Auch hier ist es ratsam, den Start des Agenten dem Init-Skript zu überlassen. Kopieren Sie das mitgelieferte Init-Skript in die Server-Struktur oder erstellen Sie ein eigenes. Die verwendeten Pfade ebenfalls anpassen.

# cp ZABBIX_QUELLEN/misc/init.d/DISTRIBUTION/zabbix_agentd /etc/init.d
# chmod 755 /etc/init.d/zabbix_agentd
# vi /etc/init.d/zabbix_agentd
[..]
CONFIG_FILE="/etc/zabbix/zabbix_agentd.conf"
ZABBIX_BIN="/usr/local/sbin/zabbix_agentd"
[..]
# /etc/init.d/zabbix_agentd status

Nun gilt es, auch den Agenten zu starten. Sie können Ihn entweder direkt durch den Aufruf von »zabbix_agentd« starten, oder noch besser durch das init.d-Skript.

# /etc/init.d/zabbix_agentd start
# /etc/init.d/zabbix_agentd status
zabbix_agentd (pid 23242 23241 23240 23239 23236 23235) is running...

Kommentare (Insgesamt: 1 || Alle anzeigen )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung