Atualizando Zabbix 4.x no Debian 9/10 para Zabbix 5.x


Primeira informação que você deve saber é que no Debian 9 a versão do PHP no repositório é a versão 7.0, e para rodar o Zabbix 5 é necessário a versão >7.1

Logue em seu servidor e de cara já vire root com su – e atualize tudo nele!

# su - 
# apt update; apt upgrade -y
# apt install wget

Faça backup de seus hosts, templates, mapas, etc… Nunca se sabe o que pode acontecer!
Backup rápido com o projeto do maxhq

# cd /root
# wget https://raw.githubusercontent.com/maxhq/zabbix-backup/master/zabbix-dump
# chmod +x /root/zabbix-dump
# /root/zabbix-dump

Se estiver atualizando o zabbix em um servidor com Debian 9 (para o Debian 10 pule esta parte lá para: atualizando repositório do zabbix) é necessário incluir um repositório extra para instalarmos a versão mais nova do PHP.

Atualizando o PHP no Debian 9

# apt install lsb-release apt-transport-https ca-certificates
# wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
# echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php7.list

Recarregue o repositório e atualize os pacotes.

# apt update; apt upgrade -y

Desativamos o mod do php7.0 no apache.

# a2dismod php7.0

Instalaremos o php7.4

# apt install php7.4 libapache2-mod-php7.4 apache2 php7.4 libapache2-mod-php7.4 php7.4-cli php7.4-mysql php7.4-mbstring php7.4-gd php7.4-xml php7.4-bcmath php7.4-ldap

Reinicie o apache

# systemctl restart apache2

Atualizando repositório do Zabbix

Para Debian 9:

# cd /tmp
# wget https://repo.zabbix.com/zabbix/5.0/debian/pool/main/z/zabbix-release/zabbix-release_5.0-1+stretch_all.deb
# dpkg -i zabbix-release_5.0-1+stretch_all.deb

Para Debian 10:

# cd /tmp
# wget https://repo.zabbix.com/zabbix/5.0/debian/pool/main/z/zabbix-release/zabbix-release_5.0-1+buster_all.deb
# dpkg -i zabbix-release_5.0-1+buster_all.deb

Faça um backup dos arquivos de configurações da versão atual:

# cp /etc/zabbix/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf.antigo
# cp /etc/zabbix/zabbix_server.conf /etc/zabbix/zabbix_server.conf.antigo

Atualize o zabbix:

# apt update; apt upgrade -y

Uma mensagem solicitando se você deseja substituir o arquivo zabbix_server.conf para o mais novo. Vamos responder que SIM (Y), pois em muitas vezes temos algumas “variáveis” de configurações que não terá na versão anterior, como já criamos um backup do arquivo atual, vamos optar que ele instale o novo, isso fará ele perder a conexão com o banco de dados, mas a frente nos ajustamos isso:

Ficheiro de configuração '/etc/zabbix/zabbix_server.conf'
 ==> Modificado (por si ou por um script) desde a instalação.
 ==> O distribuidor do pacote lançou uma versão atualizada.
   O que deseja fazer? As suas opções são:
    Y ou I  : instalar a versão do pacote do maintainer
    N ou O  : manter a versão actualmente instalada
      D     : mostrar diferenças entre as versões
      Z     : iniciar uma shell para examinar a situação
 A ação padrão é manter sua versão atual.
*** zabbix_server.conf (Y/I/N/O/D/Z) [padrão=N] ? Y

Atenção, no Debian 9 será necessário remover o pacote zabbix-frontend-php e instalar o zabbix-frontend-php-deprecated, se for Debian 10 apenas pule esta parte.

# apt remove zabbix-frontend-php
# apt install zabbix-frontend-php-deprecated

Vamos comparar o novo arquivo com o velho, a variável DBPassword não está mais informando a senha do banco de dado, e é possivel que você tenha feito mais ajutes, os comandos a baixo irão criar um arquivo em /tmp para comparamos os dois arquivos.

# cat /etc/zabbix/zabbix_server.conf |grep -v "#" |awk 'NF>0' >> /tmp/zs1
# cat /etc/zabbix/zabbix_server.conf.antigo |grep -v "#" |awk 'NF>0'  >> /tmp/zs2
# diff /tmp/zs1 /tmp/zs2

Retornará algo como:

6a7
> DBPassword=SSSEEENNNHHHAAA

Edite então /etc/zabbix/zabbix_server.conf e informe principalmente o DBPassword=

Caso tenha outras configurações diferente ajuste, você também pode dar um “cat” e comprar os dois arquivos…

# cat /etc/zabbix/zabbix_server.conf |grep -v "#" |awk 'NF>0'
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
DBName=zabbix
DBUser=zabbix
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
FpingLocation=/usr/bin/fping
Fping6Location=/usr/bin/fping6
LogSlowQueries=3000
StatsAllowedIP=127.0.0.1
# cat /etc/zabbix/zabbix_server.conf.antigo |grep -v "#" |awk 'NF>0'
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=SSSEEENNNHHHAAA
StartPollers=50
StartIPMIPollers=10
StartPollersUnreachable=3
StartTrappers=20
StartPingers=100
StartDiscoverers=50
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
CacheSize=512M
StartDBSyncers=8
HistoryCacheSize=512M
Timeout=4
AlertScriptsPath=/opt/telegram
ExternalScripts=/usr/lib/zabbix/externalscripts
FpingLocation=/usr/bin/fping
Fping6Location=/usr/bin/fping6
LogSlowQueries=3000
StatsAllowedIP=127.0.0.1

Tudo ajustado reinicie os serviços do zabbix:

# systemctl restart zabbix-server zabbix-agent

Acompanhe a atualização do banco de dados.

# tail -f /var/log/zabbix/zabbix_server.log | grep database

Aguarde chegar… “completed 100%”

22319:20200902:170716.115 completed 91% of database upgrade
22319:20200902:170716.510 completed 92% of database upgrade
22319:20200902:170716.695 completed 93% of database upgrade
22319:20200902:170716.811 completed 94% of database upgrade
22319:20200902:170717.160 completed 95% of database upgrade
22319:20200902:170717.221 completed 96% of database upgrade
22319:20200902:170717.276 completed 97% of database upgrade
22319:20200902:170717.353 completed 98% of database upgrade
22319:20200902:170717.356 completed 99% of database upgrade
22319:20200902:170717.359 completed 100% of database upgrade
22319:20200902:170717.359 database upgrade fully completed
22319:20200902:170717.371 database is not upgraded to use double precision values

Ao concluir já pode acessar em seu navegador o zabbix. Pode ser que ele abra todo “bugado”, caso isso acontecer limpe os caches do navegador.

Se você fez alguma alteração no zabbix_agentd.conf, ou não lembra faça o mesmo que o procedimento anterio:

# cat /etc/zabbix/zabbix_agentd.conf |grep -v "#" |awk 'NF>0' >> /tmp/za1
# cat /etc/zabbix/zabbix_agentd.conf.antigo |grep -v "#" |awk 'NF>0'  >> /tmp/za2
# diff /tmp/za1 /tmp/za2

Remova os pacotes que já não são mais necessários:

# apt autoremove

Se você usou um tutorial antigo aqui do blog onde criamos o script no terminal para envio de mensagem, pode se deparar com o seguinte erro:

Cannot execute command "/usr/lib/zabbix/alertscripts/telegram-cmd": [2] No such file or directory

Migre para a nova Mídia do Telegram, (remova o renomeie a antiga) baixe a nova aqui e importe, e ajustes no seu usuário o tipo de mídia nova e em ações.

Atualizando plugins do Grafana

Nas versões mais novas do grafana os plugins não assinados precisam ser autorizados no grafana.ini, e o plugin zabbix não é, para isso faça:

# vim /etc/grafana/grafana.ini

Localize “;allow_loading_unsigned_plugins = ” descemente e adicione alexanderzobnin-zabbix-datasource, se allow_loading_unsigned_plugins não existir basta adiciona-la.

[plugins]
allow_loading_unsigned_plugins = alexanderzobnin-zabbix-datasource

Atualize todos os Plugins

# grafana-cli plugins update-all

Reinicie o serviço do grafana

# systemctl restart grafana-server

Ula la! Servidor atualizado! Curtiu? Quer me ajudar manter o blog? 🙂

Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!

Participe do canal no telegram para ficar atualizado sempre que publicar um novo tutorial.

Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato clique aqui.

Abraço!

Rudimar Remontti

Trabalho atualmente como Gerente de Redes em um Provedor de Internet no Rio Grande do Sul.

Você pode gostar...

4 Resultados

  1. Nelio disse:

    1013:20211025:125819.411 database upgrade failed
    1020:20211025:125829.663 current database version (mandatory/optional): 04030002/04030002
    1020:20211025:125829.663 starting automatic database upgrade
    1020:20211025:125829.665 database upgrade failed

  2. Guilherme disse:

    Boa Tarde,

    Tive problemas após atualização, ao criar um Dashboard o Grafana não localiza Grupos ou Hosts do Zabbix

  3. MAURICIO disse:

    tive um problema depois da atualização tinha uns Agentes-SSH funcionando, depois da atualização do Zabbix aparece o seguinte erro Cannot read data from SSH server

  4. Tiago Destro disse:

    Top, atualizado !

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *