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!
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
Boa Tarde,
Tive problemas após atualização, ao criar um Dashboard o Grafana não localiza Grupos ou Hosts do Zabbix
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
Top, atualizado !