Instalando o Zabbix via Docker

Neste repositório do GitHub tem várias informações a cerca das imagens oficiais do Zabbix no Docker.

Segundo este tutorial, o Zabbix é executado usando um conteiner Docker, o que deixa a instalação bem simples e rapidamente você tem o serviço funcionando.

Se você não sabe o que é Docker, recomendo começar lendo os links desta página. É um longo caminho, mas vale a pena conhecer essa tecnologia.

http://blog.aeciopires.com/palestra-transportando-as-aplicacoes-entre-varios-ambientes-com-docker/
http://blog.aeciopires.com/primeiros-passos-com-docker/

Abaixo tem o tutorial customizado para iniciar o conteiner Zabbix e MySQL persistindo os dados.

1) Crie o diretório de dados do MySQL.

mkdir -p /opt/docker/mysql/zabbix/data

2) Crie o diretório de certificado para uso do Zabbix via HTTPS (opcional, mas é recomendado por questões de segurança).

mkdir -p /opt/docker/zabbix/certs

3) Baixe a última versão da imagem docker do MySQL, Zabbiz-Server e Zabbix-Web.

docker pull mysql
docker pull zabbix/zabbix-server-mysql:ubuntu-3.2-latest
docker pull zabbix/zabbix-web-apache-mysql:ubuntu-3.2-latest

4) Inicie o conteiner docker do MySQL com o banco de dados para o zabbix.

docker run -d --name mysql-zabbix -p 3306:3306 -v /opt/docker/mysql/zabbix/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=secret -e MYSQL_DATABASE=zabbix -e MYSQL_USER=zabbix -e MYSQL_PASSWORD=zabbix mysql

5) Inicie o conteiner docker do Zabbix-Server acessando o banco de dados criado no MySQL.

docker run --name zabbix-server -p 10051:10051 -e DB_SERVER_HOST="IP-DOCKER-HOST" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix" -d zabbix/zabbix-server-mysql:ubuntu-3.2-latest

6) Inicie o conteiner docker do Zabbix-Web COM HTTPS acessando o banco de dados criado no MySQL e o conteiner Zabbix-Server.

docker run --name zabbix-web -p 80:80 -p 443:443 -v /opt/docker/zabbix/ssl/file_certificado.crt:/etc/ssl/apache2/ssl.crt -v /opt/docker/zabbix/ssl/file_certificado.key:/etc/ssl/apache2/ssl.key -e DB_SERVER_HOST="IP-DOCKER-HOST" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix" -e ZBX_SERVER_HOST="IP-DOCKER-HOST" -e PHP_TZ="America/Brasília" -d zabbix/zabbix-web-apache-mysql:ubuntu-3.2-latest

 

Ou você pode iniciar o conteiner Zabbix-Web com HTTP.

 

docker run --name zabbix-web -p 80:80 -e DB_SERVER_HOST="IP-DOCKER-HOST" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix" -e ZBX_SERVER_HOST="IP-DOCKER-HOST" -e PHP_TZ="America/Brasília" -d zabbix/zabbix-web-apache-mysql:ubuntu-3.2-latest

 

7) O log pode ser visualizado com os comandos abaixo.

docker logs zabbix-server
docker logs zabbix-web
docker logs mysql-zabbix

8) Acesse o Zabbix na URL http://IP-Servidor (com HTTP) ou https://IP-Servidor (com HTTPS). O login é Admin e a senha padrão é zabbix.

9) Se quiser parar o conteiner, é só executar o comando abaixo.

docker stop zabbix-server
docker stop zabbix-web
docker stop mysql-zabbix

10) Para iniciá-lo novamente, execute o comando abaixo.

docker start mysql-zabbix
docker start zabbix-server
docker start zabbix-web

Mais informações sobre o Zabbix e como configurá-lo, acesse os links abaixo.

Se precisar fazer o dump de todos os bancos de dados do conteiner MySQL criado anteriormente, use o comando abaixo.
docker exec mysql-zabbix sh -c 'exec mysqldump zabbix -uroot -p"$MYSQL_ROOT_PASSWORD"' > /home/zabbix.sql
Lembrando que os dados do banco são persistidos no diretório /opt/docker/mysql/zabbix/data do Docker Host no qual o conteiner está sendo executado.
Se precisar restaurar o dump, use os comandos abaixo.
Remova o banco antigo e crie-o novamente.
docker exec -i -t mysql-zabbix /bin/bash

root@4f39b60a2dde:/# mysql -u root -p
Enter password: 

mysql> drop database zabbix;
mysql> create database zabbix;
mysql> quit

root@4f39b60a2dde:/# exit

Restaure o dump no banco novo.

docker stop zabbix-web
docker stop zabbix-server
docker exec -i mysql-zabbix /usr/bin/mysql -uroot -psecret --database=zabbix < /home/zabbix.sql
docker start zabbix-server
docker start zabbix-web
ou
docker stop zabbix-web
docker stop zabbix-server
cat /home/zabbix.sql | docker exec mysql-zabbix sh -c 'exec /usr/bin/mysql -u root --password="$MYSQL_ROOT_PASSWORD" zabbix'
 docker start zabbix-server
docker start zabbix-web

 

Deixe uma resposta

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