Ik heb versie 4.4 overgeslagen, aangezien deze geen Long Term Support (LTS) heeft. Concreet gaat deze post dus over het upgraden van versie 4.0.20 naar 5.0.0
Niettegenstaande ik ondertussen volle bak docker containers draai is de zabbix server nog steeds een installatie op een Virtuele machine, namelijk een CentOS 7.
De database, MariaDB heeft versie 5.5.65.

Procedure voor de upgrade

We gaan de Zabbix Server stoppen. En indien je Zabbix Proxies hebt dan stop je die best ook, want deze nog data laten ophalen heeft geen zin, aangezien deze toch zullen weggegooid worden, wegens niet compatibel met de nieuwe versie.

systemctl stop zabbix-server systemctl stop zabbix-agent

Maak een backup van je Database, procedure hier niet uitgelegd, want we veronderstellen eigenlijk dat je iedere dag een backup maakt.
Zet ook even de vorige versie aan de kant mocht het helemaal mis gaan.

mkdir /opt/zabbix-backup/ cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/ cp /etc/httpd/conf.d/zabbix.conf /opt/zabbix-backup/ cp -R /usr/share/zabbix/ /opt/zabbix-backup/ cp -R /usr/share/doc/zabbix-* /opt/zabbix-backup/

De repo vervangen

rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

Installeer de zabbix server (van het type mysql) en de agent

yum clean all yum upgrade zabbix-server-mysql zabbix-agent

We gaan de server starten, en willen de upgrade volgen. Ik open hiervoor een tweede SSH console om de log te volgen.

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

Start de zabbix server, en daarna de agent

systemctl start zabbix-server systemctl start zabbix-agent

Web gedeelte

Minimaal versie PHP 7.2

Sinds deze versie zit dit in een aparte repo, wat trouwens al jaren is aangekondigd. En persoonlijk hoop ik dat deze nog veel veranderd, want als webdesigner vind ik het betreurend hoe zwak dit gedeelte is gebouwd.

Zabbix stelt voor om PHP 7.2 van RedHat te installeren, maar dit ga ik niet doen, aangezien ik PHP-FPM 7.3 reeds heb. Meer hierover is te lezen op de post over meerdere PHP versies

Maar je kan ook PHP 7.3 als default installeren om je PHP 5.4 te vervangen

sudo yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm sudo yum -y install epel-release yum-utils sudo yum-config-manager --disable remi-php54 sudo yum-config-manager --enable remi-php73 sudo yum -y install php php-common php-fpm php-opcache php-mcrypt php-cli php-gd php-curl php-mysqlnd php-zip php-mbstring php-curl php-xml php-pear php-bcmath php-json php -v sudo systemctl restart httpd

php-fpm: Om dit te gebruiken op een Apache 2.4 kan dit de config zijn van je virtual host

  DocumentRoot /usr/share/zabbix
  ServerName zabbix.reynaert.be
  Include conf.d/ssl.def
  SSLCertificateFile /etc/letsencrypt/live/zabbix.reynaert.be/cert.pem  
  SSLCertificateKeyFile /etc/letsencrypt/live/zabbix.reynaert.be/privkey.pem
  SSLCACertificateFile /etc/letsencrypt/live/zabbix.reynaert.be/fullchain.pem
  Include conf.d/ExpiresByType.def
  # PHP 73 as user apache -> /etc/php-fpm.d/www.conf
  
    SetHandler "proxy:fcgi://127.0.0.1:9000"
  
  <Directory "/">
    Require all granted

Install web

Eerst gaan we de vorige versie verwijderen, daarna voegen we de repo toe en zetten we die handmatig op ‘enabled’ om daarna de nieuwe te installeren.

yum remove zabbix-web-* yum install centos-release-scl vi /etc/yum.repos.d/zabbix.repo [zabbix-frontend] enabled=1 yum install zabbix-web yum update zabbix-*

Opkuis

Wanneer alles goed is verlopen kan je de backup van de scripting verwijderen; rm -rf /opt/zabbix-backup/

Zabbix Proxy Container

Toch nog snel even mee geven wat ik gebruik om een docker container te builden.

docker run \
--cpus 1 \
-m 134217728 \
-p 10051:10051 \
--restart always \
-v /share/Container/data/zabbix-proxy/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts \
-v /share/Container/data/zabbix-proxy/var/lib/zabbix/enc:/var/lib/zabbix/enc \
-v /share/Container/data/zabbix-proxy/var/lib/zabbix/modules:/var/lib/zabbix/modules \
-v /share/Container/data/zabbix-proxy/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys \
-v /share/Container/data/zabbix-proxy/var/lib/zabbix/ssl/certs:/var/lib/zabbix/ssl/certs \
-v /share/Container/data/zabbix-proxy/var/lib/zabbix/ssl/keys:/var/lib/zabbix/ssl/keys \
-v /share/Container/data/zabbix-proxy/var/lib/zabbix/ssl/ssl_ca:/var/lib/zabbix/ssl/ssl_ca \
-v /share/Container/data/zabbix-proxy/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps \
-v /share/Container/data/zabbix-proxy/etc/zabbix:/etc/zabbix \
-v /share/Container/data/zabbix-proxy/usr/local/etc/zabbix_proxy.conf.d:/usr/local/etc/zabbix_proxy.conf.d \
-e PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \
-e TERM=xterm \
-e ZBX_HOSTNAME=ZProxyIntranet \
-e ZBX_DB_TYPE=mysql \
-e ZBX_SERVER_HOST=IP-ZABBIX-SERVER \
-e ZBX_TYPE=proxy \
-e DB_SERVER_HOST=IP-DATABASE-SERVER \
-e MYSQL_DATABASE=zabbix \
-e MYSQL_USER=zabbix \
-e MYSQL_PASSWORD=een-paswoord \
-e MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs \
-e MIBS=+ALL \
--name ZabbixProxy \
--hostname ZabbixProxy \
zabbix/zabbix-proxy-mysql:centos-5.0.0
Tags gerelateerd aan dit artikel: