Benutzer-Werkzeuge

Webseiten-Werkzeuge


monitoring

Monitoring mit Zabbix

Wir übersetzen uns die Software selber, da das ganze ziemlich einfach geht.

Voraussetzungen / Abhängigkeiten

Zusätzliche Software nach der Debian-Basisinstallation

aptitude install unbound screen libevent-2.0-5 

Webserver für die Visualisierung

aptitude install apache2 libapache2-mod-php7.0 php7.0 php7.0-gd php7.0-gettext\
    php7.0-bcmath php7.0-mbstring php7.0-xml

Datenbank

aptitude install mariadb-server php7.0-mysql

Basiswerkzeuge für das Monitoring

aptitude install fping unixodbc snmp snmp-mibs-downloader libiksemel-utils

Software erstellen

Download der Quellen von Sourceforge: http://sourceforge.net/projects/zabbix/, übertragen auf den Server in das Verzeichnis /usr/local/src.

Benötigte Pakete zum compilieren von Zabbix

aptitude install build-essential pkg-config default-libmysqlclient-dev libiksemel-dev libcurl4-openssl-dev \
    libsnmp-dev libopenipmi-dev unixodbc-dev libxml2-dev libssl-dev libevent-dev libpcre3-dev libssh2-1-dev

Erstellen der Programme aus den Quellen:

cd /usr/local/src
wget http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.3/zabbix-4.0.3.tar.gz
tar xzf zabbix-4.0.3.tar.gz
cd zabbix-4.0.3
./configure --sysconfdir=/etc --enable-server --enable-agent --enable-proxy --enable-ipv6\
    --with-mysql --with-net-snmp --with-libcurl --with-jabber --with-openipmi --with-unixodbc\
    --with-libxml2 --with-openssl --with-ssh2
make
make install

Konfiguration

MySQL-Datenbank vorbereiten, es werden zwei Benutzer eingerichtet. Der erste für den Serverprozeß, der zweite mit eingeschränkten Rechten für das PHP-Frontend:

mariadb
CREATE DATABASE zabbix character set utf8 collate utf8_bin;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY '********';
GRANT ALL PRIVILEGES ON zabbix.* to 'zabbix'@'localhost';
CREATE USER 'zbxfe'@'localhost' IDENTIFIED BY '********';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON zabbix.* to 'zbxfe'@'localhost';
FLUSH PRIVILEGES;
exit

Benutzer und Gruppe anlegen

adduser --system --group --home /usr/local/share/zabbix zabbix
chown -R zabbix.zabbix /usr/local/share/zabbix/
mkdir /var/log/zabbix
chown zabbix.adm /var/log/zabbix
mkdir /var/run/zabbix
chown zabbix. /var/run/zabbix
zabbix_server.conf
LogFile=/var/log/zabbix/server.log
PidFile=/var/run/zabbix/server.pid
DBName=zabbix
DBUser=zabbix
DBPassword=********
DBSocket=/var/run/mysqld/mysqld.sock
zabbix_agentd.conf
LogFile=/var/log/zabbix/zabbix/agentd.log
PidFile=/var/run/zabbix/agentd.pid

Init-Scripte einrichten:
Vorlagen befinden sich unter misc/init.d, nach dem Kopieren können die Scripte z.B. mit sysv-rc-conf für den automatischen Start eingerichtet werden

cp -p misc/init.d/debian/zabbix-agent /etc/init.d/
cp -p misc/init.d/debian/zabbix-server /etc/init.d/

Verbesserte Versionen: zabbix-agent zabbix-server

Datenbankschema anlegen

mysql -uzabbix -p zabbix < database/mysql/schema.sql
mysql -uzabbix -p zabbix < database/mysql/images.sql
mysql -uzabbix -p zabbix < database/mysql/data.sql

Systemd

Aus speziellen Servern muß systemd verwendet werden. In diesem Fall ist eine abweichende Konfiguration erforderlich:

/etc/tmpfiles.d/zabbix.conf
#Type	Path		Mode	UID	GID	Age	Argument
d    	/run/zabbix	0755	zabbix	zabbix	10d	-

Service-File:

/etc/systemd/system/zabbix-agentd.service
[Unit]
Description=Zabbix Agent
After=syslog.target network.target
 
[Service]
Type=oneshot
ExecStart=/usr/local/sbin/zabbix_agentd
RemainAfterExit=yes
PIDFile=/run/zabbix/zabbix_agentd.pid
 
[Install]
WantedBy=multi-user.target

Aktivieren für Autostart

systemctl enable zabbix-agentd

Frontend

PHP Frontend installieren

mkdir /var/www/zabbix-<version>
cd frontends/php
cp -a . /var/www/zabbix-<version>
chown -R www-data. /var/www/zabbix-<version>
ln -s /var/www/zabbix-<version>/ /var/www/html/zabbix

Frontend konfigurieren

  • Verfügbare Sprachen einstellen
    • Die im folgenden ausgewählten Sprachen müssen auch als locale im System aktiviert sein!
    • /var/www/html/zabbix/include/locales.inc.php entsprechend bearbeiten: Anzeige der gewünschten Sprachen in der Liste auf true/false setzen
  • Blacklist für Diagrammeinheiten
    include/func.inc.php
    $blackList = ['%', 'ms', 'rpm', 'RPM', 'U/min', 'kg/h'];
  • PHP konfigurieren (/etc/php/7.0/apache2/php.ini)
    • post_max_size = 24M
    • max_execution_time = 400
    • max_input_time = 400
    • date.timezone = Europe/Berlin
  • Webserver mit neuen Einstellungen neu starten
  • Frontend im Browser aufrufen
    • Benutzer zbxfe verwenden
    • Konfiguration ist anschließend unter: /var/www/zabbix/html/conf/zabbix.conf.php
    • Login ist anschließend mit dem Benutzer Admin und dem Kennwort zabbix möglich
monitoring.txt · Zuletzt geändert: 22.10.2019 18:33 von thooge