templates-zabbix-itguys/templates_gold/pfsense_hybrid_snmp_agent/INSTRUCOES_AGENTE.txt

87 lines
3.2 KiB
Plaintext

# INSTRUÇÕES DE INSTALAÇÃO - AGENTE ZABBIX P/ OPENVPN (CACHE MODE)
==================================================================
Para que o monitoramento do OpenVPN funcione no Template Hybrid Gold (v2+), você deve realizar os passos abaixo em CADA firewall pfSense.
⚠️ NOTA IMPORTANTE: Esta versão utiliza um sistema de CACHE para evitar timeouts no Zabbix.
- openvpn-collector.sh: Roda via CRON a cada minuto e coleta dados dos sockets.
- openvpn-discovery.sh: Apenas lê o cache instantaneamente.
REQUISITOS
----------
1. Acesso SSH ao pfSense (Opção 8 no console).
2. Pacote "Zabbix Agent" instalado no pfSense (System > Package Manager).
3. OpenVPN rodando e com usuários conectados.
PASSO 1: INSTALAR OS SCRIPTS
----------------------------
1. Crie a pasta se não existir:
mkdir -p /opt/zabbix/
2. Copie os arquivos da pasta 'files/' para o firewall em '/opt/zabbix/':
- openvpn-collector.sh
- openvpn-discovery.sh
3. Dê permissão de execução:
chmod +x /opt/zabbix/openvpn-collector.sh
chmod +x /opt/zabbix/openvpn-discovery.sh
PASSO 2: CONFIGURAR O CRON JOB
------------------------------
Como a coleta via socket é pesada para o timeout do agente, usamos o cron para atualizar o cache.
1. Instale o pacote "Cron" no pfSense (opcional, mas facilita) OU edite via terminal:
vi /etc/crontab
2. Adicione a seguinte linha no final do arquivo:
* * * * * root /opt/zabbix/openvpn-collector.sh
3. Salve e saia. O cron irá atualizar o arquivo /tmp/openvpn_discovery.json a cada minuto.
PASSO 3: HABILITAR PERMISSÕES E INCLUDE NO AGENTE
-------------------------------------------------
O usuário 'zabbix' precisa de permissão para ler os sockets e o arquivo de configuração de UserParameter precisa ser carregado.
1. Edite o arquivo de configuração do agente:
vi /usr/local/etc/zabbix7/zabbix_agentd.conf
(O caminho pode variar: zabbix6, zabbix5, etc)
2. Adicione/Verifique as seguintes configurações:
# Carregar UserParameters
Include=/usr/local/etc/zabbix7/zabbix_agentd.conf.d/*.conf
# Aumentar Timeout (recomendado)
Timeout=30
# Permitir execução de comandos remotos (se necessário para debug)
UnsafeUserParameters=1
3. Adicione o usuário zabbix ao grupo 'wheel' para ter acesso aos sockets do OpenVPN:
pw groupmod wheel -m zabbix
PASSO 4: INSTALAR USERPARAMETERS
--------------------------------
1. Copie o arquivo 'files/userparameter_openvpn.conf' para '/usr/local/etc/zabbix7/zabbix_agentd.conf.d/userparameter_openvpn.conf'
PASSO 5: REINICIAR E TESTAR
---------------------------
1. Reinicie o agente:
service zabbix_agentd restart
2. Gere o cache manualmente pela primeira vez:
/opt/zabbix/openvpn-collector.sh
3. Teste a leitura do discovery pelo agente:
zabbix_agentd -t openvpn.discovery
Deve retornar algo como: [t|{"data":[{"{#VPN.USER}":"joao",...}]}]
TROUBLESHOOTING
---------------
- Se zabbix_agentd -t retornar "Permission denied": Verifique se o usuário zabbix está no grupo wheel.
- Se retornar TIMEOUT: Verifique se você está usando o script DE LEITURA (openvpn-discovery.sh) no UserParameter e não o coletor.
- Se retornar VAZIO { "data": [] }: Execute o coletor manualmente e veja se gera erros. Verifique se existem arquivos em /var/etc/openvpn/server*/sock