Atualização do Zabbix 3.0 for 4.2
Criado por Raphael Maria
Em 08 de Agosto de 2019
Versão 1.0
Requisitos:
Até 500 Hosts monitorados a máquina tem que ter como padrão.
— Instalado o Debian 10 em modo console (Sem GUI)
— HD com 10Gb livres
— Memória de 2 Gb (ram)
— Processador com 2 Cores.
Ter acesso ao Root do OS
Ter conhecimento em comandos de administração básicos.
Cenário
Atual:
Máquina física rodando um Debian 7 Wheezy, com um processador Intel de 4 Cores e 8Gb de ram instalado a versão do Zabbix 3.0.
Pretendido:
Máquina Virtual (VM) rodando o Debian 10 Buster, com um processador de 2 Cores e 2 Gb de ram com o Zabbix 4.2.
Processo
Maquina Antiga ou Obsoleta
Backup do banco de dados na máquina antiga, basta digitar o seguinte comando:
# mysqldump -u zabbix -p zabbix > zabbix_bkp.sql |
Ao término efetuar a cópia deste backup para um local seguro, eu usei o seguinte comando:
# scp zabbix_bkp.sql <user>@<ip destino>:/<diretório seguro> |
Máquina nova
Instalação de repositórios
– Vou descrever os comandos visando um Debian 9 na versão 4.2 do Zabbix
# wget https://repo.zabbix.com/zabbix/4.2/debian/pool/main/z/zabbix-release/zabbix-release_4.2-1+stretch_all.deb# dpkg -i zabbix-release_4.2-1+stretch_all.deb# apt update |
Instalação do Zabbix
# apt -y install zabbix-server-mysql zabbix-frontend-php zabbix-agent |
Obs.: caso tenha problemas com o processo de criação de database, efetuei a instalação a parte do MariaDB com a seguinte linha de comando:
# apt -y install mariadb-server-10.1 |
Criação do Database
Entrando no MariaDB
# mysql -uroot -p |
Pressione apenas o “Enter”, pois nesse campo não foi definido senha.
Dentro do MySQL você vai digitar o seguintes comandos
create database zabbix character set utf8 collate utf8_bin;grant all privileges on zabbix.* to zabbix@localhost identified by ‘password’;quit; |
O password destacado é para ser trocado por uma senha que você possa definir a seu critério, ao longo dos comentário, você vai notar que não fiz alteração desta senha para simplificar a explicação do processo de update.
Configuração do Zabbix
Nesse processo, você vai precisar de um editor de texto, as distro linux sempre tem como padrão o “vi” e o “nano”, mas eu particularmente não me identifico com a maneira de utilizar por achar um pouco complexo devido a falta de recursos (“vi”) ou pelo modo de ter usar teclas de atalho (“nano”).
Sendo assim vou usar o “vim” como padrão nesta publicação.
Precisamos editar o arquivo de configuração do Zabbix, sendo assim rode o comando:
# vim /etc/zabbix/zabbix_server.conf |
Com o documento aberto, você vai pressionar a tecla “ESC” e digitar “:set nu” (isso será apresentado no rodapé da tela), isso facilitará nossa abordagem em cada documento, fazendo aparecer um número na lateral, isso é uma contagem de linhas:
Neste documento, vamos alterar a linha de número 124 “DBPassword”, posicione o cursor em cima ela e aperte a tecla “i”, no rodapé vai mostrar “– Insert –” isso significa que você pode alterar o documento.
Vamos apagar com “Delete” o símbolo de comentário “#” e colocar a senha definida na configuração do banco de dado depois “=” (no nosso artigo não fizemos alteração).
Feito a alteração vamos salvar apertando “ESC” e digitando “:wq”
Agora vamos acertar a Timezone do PHP, isso é essencial para o funcionamento do Apache e do Zabbix.
Vamos editar o arquivo:
# vim /etc/zabbix/apache.conf |
E adicionar na frente de “php_value date.timezone” a informação “America/Sao_Paulo” da versão mais recente do PHP, neste caso o nosso é o 7.
Restaurando Backup
Antes de iniciar a restauração, certifiquei que serviço do zabbix está parado, com os seguintes comandos:
# systemctl stop zabbix-server zabbix-agent apache2# systemctl disable zabbix-server zabbix-agent apache2 |
Faça a cópia do arquivo SQL do local seguro, no meu caso eu usei a seguinte linha no servidor para copiar o arquivo da minha máquina para a pasta tmp do servidor
# scp <user>@<IP>:/<diretorio>/zabbix_bkp.sql /tmp |
Após copiar vamos executar o seguinte comando para restaurar o DB antigo para a versão nova.
# mysql -u root -p zabbix < zabbix_bkp.sql |
Pressione “Enter” (porque nossa configuração não contemplou senha).
Enquanto ele estiver restaurando, seu curso vai sumir na linha de baixo após você pressionar “Enter”, não mexa em nada e aguarde o servidor retorna com a linha para entrar com um novo comando.
Esse processo vai depender do tamanho do seu DB, o meu quando eu fiz tinha o tamanho de 3.5Gb e levou cerca de 34 a 48 minutos para restaurar.
Após restaurar o DB, vamos iniciar o primeiro start do Zabbix, com o seguinte comando:
# systemctl start zabbix-server zabbix-agent apache2 # systemctl enable zabbix-server zabbix-agent apache2 |
Não tente acessar ainda, pois devido a seu Database antigo ser da versão 3.0 ou anterior, o Zabbix novo vai rodar um novo update antes de iniciar, para acompanhar você vai precisar ficar monitorando o log:
# tail -50 /var/log/zabbix_server.log |
Após o término, seu log vai apresentar os hosts e alterações em cada linha, tendo essa informação você já pode acessar seu portal do Zabbix pelo http://server_ip_or_name/zabbix
Com usuário e senha padrão:
User: Admin
Senha: zabbix