Configuração e Gerenciamento do Zabbix Agent e Agent2 no Linux

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 valor 0 desativa 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

Tags: Zabbix Monitoramento systemd Linux agent2

Publicado em 9-14 05:07