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.