Zabbix “not supported” troubleshooting com zabbix_get

No Zabbix, em alguns Itens eu utilizo UserParameters. Vários desses UserParameters executam scripts. Alguns destes Itens estavam como “not supported”. Mas ao executa-los manualmente com o usuário zabbix no servidor monitorado, o script funcionava corretamente.

[zabbix@Oracle ~]$ /etc/zabbix/zabbix_agentd.d/Oracle_CheckStatus_ORACLE_SID_01.sh
OPEN
[zabbix@Oracle ~]$

Para tirar a dúvida preciso executar o Item exatamente como o Zabbix o executa, ou seja, não é abrindo um shell e executando. O comando zabbix_get “pede” o Item para o Zabbix Agent no servidor monitorado.

Abaixo eu instalo o zabbix_get no Zabbix Proxy (Debian 9), e solicito o Item para o servidor monitorado. Após o -s coloque o IP do servidor monitorado, e após o -k coloque o nome do Item.

suporte@eva00:~$ sudo apt-get install zabbix-get
...
suporte@eva00:~$ zabbix_get -s 192.168.0.2 -k Oracle.CheckStatusORACLE_SID_01
/etc/zabbix/zabbix_agentd.d/Oracle_CheckStatus_ORACLE_SID_01.sh: line 8: cannot create temp file for here-document: Permission denied
suporte@eva00:~$

Opa, realmente temos um resultado diferente, e parece ser algo relacionado a permissões. Com o comando abaixo, eu garanto que o usuário zabbix é o proprietário em todo o diretório onde estão os scripts.

[ricardo@Oracle ~]$ sudo chown -R zabbix:zabbix /etc/zabbix/
[ricardo@Oracle ~]$

Mas o erro continua… 🙁

suporte@eva00:~$ zabbix_get -s 192.168.0.2 -k Oracle.CheckStatusORACLE_SID_01
/etc/zabbix/zabbix_agentd.d/Oracle_CheckStatus_ORACLE_SID_01.sh: line 8: cannot create temp file for here-document: Permission denied
suporte@eva00:~$

Erros de permissões quando, bem, temos permissões, sugerem um bloqueio feito pelo SELinux. É totalmente incorreto desabilita-lo completamente, mas fiz isso como uma solução temporária para validar a origem do erro.

[ricardo@Oracle ~]$ sudo getenforce
Enforcing
[ricardo@Oracle ~]$ sudo setenforce 0
[ricardo@Oracle ~]$ sudo getenforce
Permissive
[ricardo@Oracle ~]$

E pronto.

suporte@eva00:~$ zabbix_get -s 192.168.0.2 -k Oracle.CheckStatusORACLE_SID_01
OPEN
suporte@eva00:~$

Leave a Reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.