Merker: Zabbix Client (Agent) selbst kompilieren und installieren

Unter Umständen benötigt man auf einem älteren Debian System einen Zabbix Agent, für dessen es kein fertiges DEB-Paket gibt. Hier nun ein kleiner Installationsmerker für meine Server, da die Anleitung in der Zabbix Dokumentation nicht ganz mit meinen Systemen übereinstimmt.

Zuerst die Sourcen herunterladen, entpacken, konfigurieren und compilieren

cd /usr/local/src/
wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.2.6/zabbix-3.2.6.tar.gz/download --no-check-certificate
mv download zabbix-3.2.6.tar.gz
tar xzf zabbix-3.2.6.tar.gz 
cd zabbix-3.2.6
./configure  --enable-agent --prefix=/opt/zabbix/
make
make install

Nun legen wir einen Nutzer an unter der der Agent später laufen soll und verlinken die Standardconfiguration:

adduser --system --home /opt/zabbix --no-create-home zabbix
ln -s /opt/zabbix/etc /etc/zabbix

Anschliessend passen die die Konfiguration an

sed -i.bak 's/^\(#\ EnableRemoteCommands=1\).*/EnableRemoteCommands=0/' /etc/zabbix/zabbix_agentd.conf 
sed -i     's/^\(#\ ListenPort=10050\).*/ListenPort=10050/' /etc/zabbix/zabbix_agentd.conf 
sed -i     's/^\(#\ ListenIP=0.0.0.0\).*/ListenIP='"$(wget http://ip.tx2.net -q -O - && echo)"'/' /etc/zabbix/zabbix_agentd.conf 
sed -i     's/^\(Server=127.0.0.1\).*/Server=127.0.0.1,lisa.systemtechnics.de/' /etc/zabbix/zabbix_agentd.conf 
sed -i     's/^\(ServerActive=127.0.0.1\).*/Server=127.0.0.1,lisa.systemtechnics.de/' /etc/zabbix/zabbix_agentd.conf 
sed -i     's/^\(Hostname=Zabbix server\).*/Hostname='"$(hostname)"'/' /etc/zabbix/zabbix_agentd.conf 

Ein paar notwendige Verzeichnisse anlegen und berechtigen

mkdir /var/run/zabbix
mkdir /var/log/zabbix
chown zabbix /var/run/zabbix
chown zabbix /var/log/zabbix

Das Startscript kopieren und anschliessend anpassen

cp misc/init.d/debian/zabbix-agent /etc/init.d/
pico /etc/init.d/zabbix-agent

Die obersten Zeilen müssen nun durch folgendes ersetzt werden:

#! /bin/sh
### BEGIN INIT INFO
# Provides:          zabbix-agent
# Required-Start:    $remote_fs $network
# Required-Stop:     $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start zabbix-agent daemon
### END INIT INFO

set -e
# define LSB log_* functions.
. /lib/lsb/init-functions

NAME=zabbix_agentd
DAEMON=/opt/zabbix/sbin/${NAME}

Nun das Script ausführbar machen und in den „Autostart konfigurieren“. Anschliessend kann der Daemon auch zum ersten mal gestartet werden

chmod +x /etc/init.d/zabbix-agent 
update-rc.d zabbix-agent defaults
/etc/init.d/zabbix-agent start

Kontrollieren ob der Zabbix Agent läuft kann man mit folgenden zwei Zeilen:

ps aux|grep zabbix_agent
netstat -ln|grep 10050

Tags:, ,