Op mijn bureau staat een NAS alwaar ik Zabbix 3.2 had. Sinds enkele dagen is de 4.0 versie nu officiëel uit. Tijd dus om eens te zien of 4.0 kan draaien op de NAS.
Er zijn heel wat tweaks te doen. Onderstaande is het lijstje voor de installatie van 3.2

Basis software, waarbij mysql5 voor het meeste problemen zorgde. Ondertussen zitten we enkele updates/firmwares verder. Misschien is het gemakkelijker via de GUI (Configuratiescherm > Applicatie-servers > SQL-server).

Installeer software

ipkg update ipkg install optware-devel ipkg install mysql5 ipkg install perl-dbd-mysql ipkg install libxml2 ipkg install net-snmp ipkg install libcurl-dev ipkg install gconv-modules ipkg install php-iconv ipkg install openssl ipkg install pcre ipkg install pcre-dev

 

Sources

Eerstvolgende is dan uiteraard de Zabbix sources. Maar helaas een wget https://sourceforge.net/... werkt niet meer. Ik vermoed door een verouderde versie van SSL. Ik heb zelfs geprobeerd met --no-check-certificate --secure-protocol=TLSv1
Download de sources dus manueel en zet ze ergens op de NAS bv in mapje Public (staat bij mij op hetzelfde niveau als de mappen Multimedia, Recordings en Web)
Heden de meest recente versie: https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/4.0.1/zabbix-4.0.1.tar.gz/download
Maar check uiteraard voor een meer recentere versie via: https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/

cd /share/MD0_DATA/ tar -xzvf Public/zabbix-4.0.1.tar.gz rm zabbix-4.0.1.tar.gz cd zabbix-4.0.1

Configure en make

Je zal merken dat configure vast loopt op zaken die zogezegd niet aanwezig zijn. Pas daarom het configure bestand aan (maak misschien best eerst een backup).

Voor versie 3.2 liep het script vast op iconv. Deze staat niet in het mapje waar het configure script gaat gaan zoeken. Mogelijks kan je dit mee geven als parameter, maar sinds ik dan toch op de juiste plek was heb ik het scriptje aangepast

vi configure

...
	 elif test -f /opt/include/iconv.h; then
		ICONV_CFLAGS="-I/opt/include"
		ICONV_LDFLAGS="-L/opt/lib"
		found_iconv="yes"
...
	## en voor 4.0
	 elif test -f /opt/include/zlib.h; then
		ZLIB_CFLAGS="-I/opt/include"
		ZLIB_LDFLAGS="-L/opt/lib"
		found_zlib="yes"
...
	 elif test -f /opt/include/pthread.h; then
                LIBPTHREAD_CFLAGS="-I/opt/include"
                LIBPTHREAD_LDFLAGS="-L/opt/lib"
                found_libpthread="yes"
...
      elif test -f /opt/include/pcre.h; then
                LIBPCRE_CFLAGS="-I/opt/include"
                LIBPCRE_LDFLAGS="-L/opt/lib"
                found_libpcre="yes"

 

export PATH=/opt/bin:$PATH ./configure --enable-proxy --with-mysql --with-net-snmp --with-libcurl --enable-agent --with-libxml2 make install

 

De standaard zaken

Het moeilijkste heb je gehad, en ik veronderstel dat wanneer je op deze pagina bent geland wel wat kent van Zabbix. Dus de rest is redelijk basic.
Hierbij nog wat instructies om het af te werken, met uitzondering van de config

addgroup zabbix adduser -G zabbix zabbix vi /etc/ld.so.conf # voeg toe /share/MD0_DATA/.qpkg/Optware/lib/mysql/ /share/MD0_DATA/.qpkg/Optware/lib/ # :wq ldconfig # check of alle libraries gevonden/gekoppeld zijn cd /usr/local/sbin lld zabbix_proxy # fping bestaat niet cd /share/MD0_DATA/ wget http://fping.sourceforge.net/download/fping.tar.gz tar -xzvf fping.tar.gz cd fping-2.4b2_to/ ./configure make make install # fping staat in /usr/local/sbin/fping # pas dit in proxy config aan # En pas de rechten aan chmod 4755 /usr/local/sbin/fping

 

Autorun

Bij een restart moet je alles terug uitvoeren.

mount -t ext2 /dev/sdx6 /tmp/config vi /tmp/config/autorun.sh chmod +x /tmp/config/autorun.sh umount /tmp/config

 

Waarvan de inhoud van autorun.sh deze is:

#!/bin/sh
# Install Zabbix 3.2.6
# files must be ready at /share/MD0_DATA/zabbix-4.0.1 and /share/MD0_DATA/fping-2.4b2_to/
# if not ....

PATH=/opt/bin:$PATH
export PATH

rm /usr/local/etc/zabbix_proxy.conf

cd /share/MD0_DATA/zabbix-4.0.1
$(/share/MD0_DATA/zabbix-4.0.1/configure --enable-proxy --with-mysql --with-net-snmp --with-libcurl --enable-agent --with-libxml2 >> /tmp/configure.log)
make install
echo /share/MD0_DATA/.qpkg/Optware/lib/mysql/ >> /etc/ld.so.conf
echo /share/MD0_DATA/.qpkg/Optware/lib/ >> /etc/ld.so.conf
ldconfig

# Fping
cd /share/MD0_DATA/fping-2.4b2_to/
$(/share/MD0_DATA/fping-2.4b2_to/configure)
make && make install
chmod 4755 /usr/local/sbin/fping

# pas config aan van zabbix_proxy
sed -i -e 's/Server=127.0.0.1/Server=IP.ZABBIX.SERVER/g' /usr/local/etc/zabbix_proxy.conf
sed -i -e 's/Hostname=Zabbix proxy/Hostname=ZProxy/g' /usr/local/etc/zabbix_proxy.conf
sed -i -e 's/DBName=zabbix_proxy/DBName=zabbix/g' /usr/local/etc/zabbix_proxy.conf
echo DBPassword=HETpaswoord >> /usr/local/etc/zabbix_proxy.conf
sed -i -e 's/Timeout=4/Timeout=20/g' /usr/local/etc/zabbix_proxy.conf
echo StartPollersUnreachable=4 >> /usr/local/etc/zabbix_proxy.conf
echo FpingLocation=/usr/local/sbin/fping >> /usr/local/etc/zabbix_proxy.conf

sed -i -e 's/Hostname=Zabbix server/Hostname=ZProxy/g' /usr/local/etc/zabbix_agentd.conf

# Start zabbix_proxy en zabbix_agentd
zabbix_proxy
zabbix_agentd

 

Upgrade problemen

De upgrade van de proxy was geen probleem, maar die van de server zelf wel. In de database bestond het veld items.output_format reeds. Het upgrade script bleef hierop hangen.

tail -f /var/log/zabbix/zabbix_server.log

Ik heb er korte metten mee gehouden en dit veld verwijderd. Bij de volgende poging (10 seconden later) zag ik dat de upgrade nu wel door ging.

Tags gerelateerd aan dit artikel: