Parâmetros Essenciais do Arquivo de Configuração
O comportamento do coletor de métricas é definido por diretivas específicas que controlam a rotatividade de registros, a fila de transmissão e os privilégios de execução. As configurações mais impactantes são:
LogFileSize: Limite para rotação automáticca do arquivo de registro, variando de 0 a 1024 MB. O padrão é 1 MB. O valor0desativa a rotação.RefreshActiveChecks: Frequência, em segundos, para sincronização da lista de verificações ativas. Em caso de falha, o próximo ciclo de tentativa é agendado após 60 segundos.BufferSend: Tempo máximo, em segundos, que os dados coletados aguardam na fila antes de serem disparados para o destino.BufferSize: Capacidade máxima de itens retidos na memória cache. Ao atingir o teto, o lote completo é transmitido imediatamente.Timeout: Janela de espera máxima para resposta das chaves de coleta de dados.UnsafeUserParameters: Habilita a interpretação de caracteres curinga e globbing em chaves personalizadas, permitindo maior flexibilidade na execução de comandos externos.AllowRoot: Autoriza a execução do daemon com privilégios de superusuário. Deve ser usado com cautela devido a implicações de segurança.
Modelo de Configuração Padrão
Abaixo segue um exemplo funcional com as diretivas principais organizadas para operação estável:
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=20
Server=192.168.10.5
ServerActive=192.168.10.5
Hostname=srv-monitor-01
Timeout=15
AllowKey=system.run[*]
UnsafeUserParameters=1
AllowRoot=1
Include=/etc/zabbix/zabbix_agentd.d/*.conf
Unidade systemd para o Agent Clássico
Para integração nativa com o gerenciador de serviços, crie o arquivo de unidade correspondente:
[Unit]
Description=Monitoramento Zabbix Agent
Requires=network-online.target
After=network.target syslog.target
[Service]
Type=forking
Restart=on-failure
RestartSec=5s
PIDFile=/var/run/zabbix/zabbix_agentd.pid
KillMode=control-group
Environment=ZABBIX_CONF="/etc/zabbix/zabbix_agentd.conf"
ExecStart=/usr/sbin/zabbix_agentd -c ${ZABBIX_CONF}
ExecStop=/bin/kill -SIGTERM $MAINPID
[Install]
WantedBy=multi-user.target
Ative a inicialização automática e aplique as alterações do sistema:
sudo systemctl daemon-reload
sudo systemctl enable --now zabbix-agent.service
Ajustes Específicos para o Zabbix Agent2
A segunda geração do agente, desenvolvida em Go, exige configurações complementares para controle de sockets e gerenciamento de processos:
PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=15
Server=192.168.10.5
ServerActive=192.168.10.5
Hostname=srv-monitor-01
Timeout=10
ControlSocket=/tmp/zabbix_agent2.sock
AllowKey=system.run[*]
Unidade systemd para Agent2
Devido ao modelo de execução síncrona, a configuração do serviço deve utilizar o tipo simple e estratégias de terminação adequadas:
[Unit]
Description=Zabbix Agent 2 (Go-based)
Requires=network-online.target
After=network.target
[Service]
Type=simple
Restart=on-failure
RestartSec=5s
PIDFile=/var/run/zabbix/zabbix_agent2.pid
KillMode=mixed
Environment=AGENT2_CONF="/etc/zabbix/zabbix_agent2.conf"
ExecStart=/usr/sbin/zabbix_agent2 -c ${AGENT2_CONF}
ExecStop=/bin/kill -SIGTERM $MAINPID
[Install]
WantedBy=multi-user.target
Finalize o provisionamento garantindo que o serviço seja ativado e iniciado:
sudo systemctl daemon-reload
sudo systemctl enable --now zabbix-agent2.service