Vamos ensinar a instalar o Zabbix Agent no TrueNAS que utiliza uma base FreeBSD 13.1 customizada. Para instalar o Zabbix Agent 7, precisamos corrigir a cadeia de repositórios e dependências que vêm travadas por padrão.
O TrueNAS tenta buscar pacotes em um diretório local inexistente, gerando o erro Unable to update repository local. Precisamos desativar o local e apontar para o repositório global.
Verifique se o arquivo e diretórios abaixo existem. Caso o diretório abaixo não exista crie-o.
Verificar:
cat /usr/local/etc/pkg/repos/FreeBSD.conf
Criar:
mkdir -p /usr/local/etc/pkg/repos/
Ele aponta para o repositório oficial e estável
printf 'FreeBSD: { url: "http://pkg.FreeBSD.org/${ABI}/latest", mirror_type: "srv", enabled: yes }\n' > /usr/local/etc/pkg/repos/FreeBSD.conf
Desative o repositório local que causa erro:
printf 'local: { enabled: no }\n' > /usr/local/etc/pkg/repos/local.conf
O pkg original do TrueNAS é antigo (v1.17) e não entende os novos índices. Ao rodar o update, ele solicitará uma atualização própria primeiro.
env IGNORE_OSVERSION=yes pkg update
O que esperar: O sistema dirá New version of pkg detected. Confirme com y. Após a atualização do binário, execute o comando de update novamente para carregar os pacotes disponíveis.
Ao instalar e tentar rodar o Zabbix, você encontrará um erro de link dinâmico: ld-elf.so.1: /usr/local/lib/libpcre2-8.so.0: version PCRE2_10.47 required.
Isso ocorre porque o Zabbix 7 exige a biblioteca PCRE2 atualizada, que não vem por padrão no TrueNAS.
Solução:
Instale o Agente:
env IGNORE_OSVERSION=yes pkg install -y zabbix7-agent
Atualize a biblioteca PCRE2 para a versão 10.47.
env IGNORE_OSVERSION=yes pkg install -y pcre2
4. Configuração e Inicialização
No FreeBSD, o comando sed requer uma sintaxe específica para edição direta.
Ajuste do arquivo de configuração:
Defina o IP do Servidor Zabbix
sed -i '' 's/^Server=127.0.0.1/Server=192.168.x.x/' /usr/local/etc/zabbix7/zabbix_agentd.conf
Defina o Hostname do TrueNAS
sed -i '' 's/^Hostname=Zabbix server/Hostname=TrueNAS-Core/' /usr/local/etc/zabbix7/zabbix_agentd.conf
Habilitar no Boot e Iniciar:
sysrc zabbix_agentd_enable="YES"
service zabbix_agentd start
5. Troubleshooting (Comandos de Verificação)
Copie e cole estes comandos no console para validar o funcionamento:
+--------------------------------+--------------------------------------+
| COMANDO | UTILIDADE |
+--------------------------------+--------------------------------------+
| service zabbix_agentd status | Verifica se o processo está rodando |
| sockstat -4l | grep 10050 | Valida se a porta 10050 está aberta |
| ifconfig | Identifica o nome da interface rede |
| tcpdump -ni [iface] port 10050 | Monitora pacotes chegando do servidor|
+--------------------------------+--------------------------------------+
Nota sobre o TrueNAS: O uso do env IGNORE_OSVERSION=yes é obrigatório porque o sistema operacional reporta uma versão customizada que o repositório padrão do FreeBSD desconhece, embora os binários sejam 100% compatíveis.