Zabbix: Como posso monitorar se os comandos remotos estão habilitados?

1

Eu tenho um problema com alguns gatilhos zabbix não disparando devido ao fato de que EnableRemoteCommands não foi habilitado em determinados hosts. Eu tentei resolver isso adicionando um gatilho especificamente verificando se o EnableRemoteCommands está configurado para 1 na configuração do agente do zabbix:

{Template OS Linux:system.run["cat /etc/zabbix/zabbix_agentd.conf | grep EnableRemoteCommands=1"].str(EnableRemoteCommands=1)}=0

Mas, é claro, esse gatilho depende de comandos remotos, portanto, não será executado em hosts que os desativaram.

Por alguma razão, se o zabbix não puder executar um comando remoto, ele deixará o gatilho com um status "OK". Existe alguma maneira de fazer isso mudar para um status "PROBLEM"?

    
por lucas 25.12.2015 / 00:44

2 respostas

1

Use UserParameter que está funcionando sem EnableRemoteCommands enabled:

UserParameter=<key>,<command>

No seu caso:

UserParameter=zabbix.remotecommands, egrep 'EnableRemoteCommands.*=.*1' /etc/zabbix/zabbix_agentd.conf

Em seguida, crie um item zabbix.remotecommands com o tipo Zabbix Agent e a seguinte declaração para verificar:

{Template OS Linux:zabbix.remotecommands.strlen()}=0

Ele será acionado se o item não retornar nada, por exemplo EnableRemoteCommands está desativado. Por favor, não use system.run quando você absolutamente não precisa, ele é desativado por padrão por propósito - você pode fazer qualquer coisa usando outras maneiras que o Zabbix lhe oferece.

    
por 25.12.2015 / 09:57
0

Se a configuração principal do agente for feita em apenas um arquivo, provavelmente poderíamos usar item vfs.file.regexp (ou vfs.file.regmatch) aqui. Por exemplo:

vfs.file.regexp[{$AGENT_CONFIG},^EnableRemoteCommands=1]

Isso não é perfeito, porque ele procura apenas no arquivo de configuração principal a configuração EnableRemoteCommands , mas essa configuração pode ser substituída em um arquivo incluído.

    
por 28.12.2015 / 08:52