- Publicado em
Configuração inicial e ajustes de pós instalação
- Autores
- Nome
- Felipe Padilha
Índice
- Introdução
- Ajustar parâmetros de segurança
- Boas práticas para organização via grupos
- Habilitar o inventário automático de hosts
- Personalizar o ambiente Zabbix
Introdução
Após a instalação do Zabbix, é fundamental realizar uma configuração inicial adequada para garantir um funcionamento seguro e eficiente do servidor. Neste artigo, abordaremos os ajustes essenciais para personalizar o ambiente de monitoramento, garantindo que os hosts, itens e templates sejam configurados corretamente desde o início. Além disso, vamos verificar as boas práticas para otimizar a administração do Zabbix, facilitando a escalabilidade e a manutenção a longo prazo.
Objetivos principais:
- Ajustar parâmetros para aumentar a segurança do servidor.
- Aplicar boas práticas para organização de hosts e templates via grupos.
- Habilitar o inventário automático de hosts
- Configurar e personalizar o ambiente do Zabbix logo após a instalação.
Link para o tutorial em vídeo
Ajustar parâmetros de segurança
Habilitar HTTPS
Para habilitar o https, vou utilizar o domínio zabbix.felipepadilha.com.br, que irá resolver para o endereço IP da minha instalação do Zabbix. E com o Certbot será gerado os certificados HTTPS para acesso criptografado.

Perceba na caixa destacada que os valores dos campos de login estão completamente visíveis na captura de pacotes, qualquer pessoa com capacidade de escutar pacotes nesta rede conseguiria ver as credenciais de acesso do meu servidor Zabbix.
Para resolver o problema, após configurar seu servidor DNS para apontar corretamenteo domínio que irá utilizar no seu servidor Zabbix, instale o certbot (utilitário para gerenciar certificados SSL) por meio dos comandos abaixo:
sudo apt update -y
sudo apt install -y python3 python3-venv libaugeas0
sudo python3 -m venv /opt/certbot
sudo /opt/certbot/bin/pip install --upgrade pip
sudo /opt/certbot/bin/pip install certbot certbot-nginx
sudo ln -s /opt/certbot/bin/certbot /usr/bin/certbot
Com os comandos acima, teremos o Certbot instalado. Antes de emitirmos o certificado, garanta que o parâmetro server_name no arquivo de configuração do nginx do Zabbix (/etc/zabbix/nginx.conf
) está preenchido corretamente com o endereço DNS.
Execute:
sudo certbot --nginx

y
. 
Nota do autor: eu duvido que alguém leu os termos.
yes
ou no
, se aceitar irá receber e-mails promocionais dos desenvolvedores do certbot. 




Não é possível nem mesmo ver a URI ou o método HTTP que foi acessado.
Por fim, vamos adicionar uma tarefa na cron para que o certbot renove os certificados de forma automática:
echo "0 0,12 * * * root /opt/certbot/bin/python -c 'import random; import time; time.sleep(random.random() * 3600)' && sudo certbot renew -q" | sudo tee -a /etc/crontab > /dev/null
Alterar a senha do usuário admin



Pronto, com isso alteramos a senha do usuário Admin.
Entender quais portas o Zabbix utiliza para restringir acesso apenas a endereços IP permitidos.
Este ponto dependerá bastante da sua infraestrutura local e como pretende usar o Zabbix (na nuvem, instalado localmente). Mas irei deixar um exemplo de configuração de firewall utilizando o UFW (Uncomplicated Firewall), que vem instalado por padrão junto do Ubuntu, permitindo acesso apenas a redes locais.
Mas atenção!
Antes de iniciarmos qualquer configuração de firewall, na qual existe uma chance de perder acesso ao servidor, garanta que você ainda consegue acessar o console de alguma forma para eventuais correções. Valide que o ufw está inativo por meio do comando sudo ufw status
. Caso ele esteja ativo por algum motivo, desabilite-o antes de criar as regras com o comando sudo ufw disable
.
root@ubuntu-s-1vcpu-1gb-nyc1-01:~# sudo ufw status
Status: inactive
No script abaixo existem comentários para o que cada porta representa.
# Variável que representa o seu endereço IP público ou o IP que fecha a conexão com o Zabbix
MEU_IP="200.100.50.25"
# Bloquear tudo por padrão
sudo ufw default deny incoming
sudo ufw default allow outgoing
# Liberar SSH (22/TCP)
sudo ufw allow from 10.0.0.0/8 to any port 22 proto tcp
sudo ufw allow from 172.16.0.0/12 to any port 22 proto tcp
sudo ufw allow from 192.168.0.0/16 to any port 22 proto tcp
sudo ufw allow from ${MEU_IP}/32 to any port 22 proto tcp
# Liberar acesso ao frontend do Zabbix (HTTP/HTTPS)
sudo ufw allow from 10.0.0.0/8 to any port 80 proto tcp
sudo ufw allow from 172.16.0.0/12 to any port 80 proto tcp
sudo ufw allow from 192.168.0.0/16 to any port 80 proto tcp
sudo ufw allow from ${MEU_IP}/32 to any port 80 proto tcp
sudo ufw allow from 10.0.0.0/8 to any port 443 proto tcp
sudo ufw allow from 172.16.0.0/12 to any port 443 proto tcp
sudo ufw allow from 192.168.0.0/16 to any port 443 proto tcp
sudo ufw allow from ${MEU_IP}/32 to any port 443 proto tcp
# Liberar portas de monitoramento Zabbix Agent (10050/TCP e 10051/TCP)
sudo ufw allow from 10.0.0.0/8 to any port 10050 proto tcp
sudo ufw allow from 172.16.0.0/12 to any port 10050 proto tcp
sudo ufw allow from 192.168.0.0/16 to any port 10050 proto tcp
sudo ufw allow from ${MEU_IP}/32 to any port 10050 proto tcp
sudo ufw allow from 10.0.0.0/8 to any port 10051 proto tcp
sudo ufw allow from 172.16.0.0/12 to any port 10051 proto tcp
sudo ufw allow from 192.168.0.0/16 to any port 10051 proto tcp
sudo ufw allow from ${MEU_IP}/32 to any port 10051 proto tcp
# Liberar SNMP (161/UDP e 162/UDP)
sudo ufw allow from 10.0.0.0/8 to any port 161 proto udp
sudo ufw allow from 172.16.0.0/12 to any port 161 proto udp
sudo ufw allow from 192.168.0.0/16 to any port 161 proto udp
sudo ufw allow from ${MEU_IP}/32 to any port 161 proto udp
sudo ufw allow from 10.0.0.0/8 to any port 162 proto udp
sudo ufw allow from 172.16.0.0/12 to any port 162 proto udp
sudo ufw allow from 192.168.0.0/16 to any port 162 proto udp
sudo ufw allow from ${MEU_IP}/32 to any port 162 proto udp
# Ativar o UFW
sudo ufw enable
# Verificar as regras aplicadas
sudo ufw status verbose
Boas práticas para organização via grupos
A separação de hosts e templates por grupos auxilia na ornigação do ambiente, além de facilitar ações massivas de mudança de configuração nos hosts. E se você pretende usar um Grafana depois, você irá me agradecer por já te fazer pensar em algo um pouco mais organizado desde o início.
Este é um ponto que depende, e varia muito, de ambiente para ambiente e quiçá você irá apenas saber qual é o melhor formato para o seu caso de uso durante o dia a dia. Mas, ainda sim, existem coisas que são padrões em praticamente qualquer instalação.


No Zabbix é possível criar hierarquias entre grupos utilizando o separador /. Ou seja, podemos ter o grupo BRASIL e o subgrupo BRASIL/SAO_PAULO. O que eu recomendo aqui é:
- Crie grupos para separar por localização geográfica: pontos de presença, data-centers, cidades, estados (LOCAL/SUBLOCAL)
- Crie grupos para seprar por tipo de equipamento: roteadores, switches, servidores (EQUIPAMENTO/TIPO)
- Crie grupos para separar por sistema operacional: Linux, Windows, Proxmox (SO/NOME)
- Crie grupos para separar serviços, quando se tem múltiplos servidores: (SO/LINUX/DNS)
Habilitar o inventário automático de hosts
O inventário automático irá permitir que o Zabbix documente os hosts com base nos itens coletados via monitoramento, isso facilita bastante a vida, principalmente quando desejamos filtrar hosts por versão de software ou hardware.

Personalizar o ambiente Zabbix
Créditos: InitMax
Trocando as Logos
Para fazermos a personalização do servidor precisamos de três imagens com os seguintes tamanhos:
- Logo principal: 114x30px
- Logo do menu lateral: 91x24px
- Logo do menu lateral minimizado: 24x24 px
Para trocarmos as imagens, primeiro, crie dois diretórios para salvar nossas modificações:
sudo mkdir -p /usr/share/zabbix/local/conf
sudo mkdir -p /usr/share/zabbix/rebranding
Depois faça upload das imagens no diretório rebranding, você pode fazer via SCP ou usar algum utilitário gráfico, como o WinSCP.
Crie o arquivo responsável por realizar a troca das imagens usando o comando abaixo, lembre-se de alterar nome_da_imagem.png para o valor real do nome do arquivo que foi realizado o upload:
echo "<?php
return [
'BRAND_LOGO' => './rebranding/nome_da_imagem.png',
'BRAND_LOGO_SIDEBAR' => './rebranding/nome_da_imagem.png',
'BRAND_LOGO_SIDEBAR_COMPACT' => './rebranding/nome_da_imagem.png',
'BRAND_FOOTER' => 'Felipe Padilha',
'BRAND_HELP_URL' => 'https://felipepadilha.com.br/'
];
" | sudo tee /usr/share/zabbix/local/conf/brand.conf.php > /dev/null
E pronto, nosso rebranding estará concluído.