# Instalação do Monitoramento OpenVPN no pfSense ## Padrão IT Guys Gold (v3 - Cache System) Este guia descreve como instalar os scripts de monitoramento OpenVPN no pfSense usando o sistema de **CACHE** para alta performance e zero timeout no Zabbix. --- ## Arquitetura 1. **openvpn-collector.sh**: Executado via cron a cada minuto. Coleta dados de todos os sockets e salva em JSON. 2. **openvpn-discovery.sh**: Executado pelo Zabbix Agent. Apenas lê o arquivo JSON gerado (instantâneo). --- ## Pré-requisitos - pfSense 2.x ou superior - Zabbix Agent instalado (pacote `zabbix-agent7` ou similar) - Sockets OpenVPN ativos em `/var/etc/openvpn/server*/sock` --- ## Passo 1: Instalar os Scripts ```bash # Via SSH no pfSense: mkdir -p /opt/zabbix # Copie os arquivos da pasta files/ para o firewall: # - openvpn-collector.sh # - openvpn-discovery.sh # Defina 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 O coletor precisa rodar automaticamente. ```bash # Adicione ao /etc/crontab: echo '* * * * * root /opt/zabbix/openvpn-collector.sh' >> /etc/crontab # Execute manualmente uma vez para gerar o cache inicial: /opt/zabbix/openvpn-collector.sh ``` --- ## Passo 3: Configurar Zabbix Agent ```bash # Edite a configuração (caminho pode variar, ex: /usr/local/etc/zabbix7/...) vi /usr/local/etc/zabbix7/zabbix_agentd.conf # GARANTA QUE ESTAS LINHAS EXISTAM: Include=/usr/local/etc/zabbix7/zabbix_agentd.conf.d/*.conf Timeout=30 UnsafeUserParameters=1 # Adicione usuários zabbix ao grupo wheel (permissão socket): pw groupmod wheel -m zabbix ``` --- ## Passo 4: Instalar UserParameters ```bash # Copie o userparameter_openvpn.conf para a pasta de include: # Ex: /usr/local/etc/zabbix7/zabbix_agentd.conf.d/ ``` Reinicie o agente: ```bash service zabbix_agentd restart ``` --- ## Passo 5: Teste ```bash # Teste de leitura instantânea zabbix_agentd -t openvpn.discovery # Saída esperada (imediata): # [t|{"data":[{"{#VPN.USER}":"joao.silva"...}]}] ```