O Zabbix não executa o alerta personalizado

2

Estou usando o Debian 8 e o Zabbix 3.2.

Eu fiz um script de alerta personalizado, que funciona bem quando eu corro no terminal:

/bin/sh /usr/lib/zabbix/alertscripts/send_sms.sh 4483222740 Hello

Isso envia um SMS via Twilio, funciona bem.

No meu zabbix_server.conf eu tenho:

AlertScriptsPath=/usr/lib/zabbix/alertscripts

Eu criei um tipo de mídia personalizado seguindo o link

Mas o script não está sendo chamado. Eu tenho um tipo de mídia geral para e-mail que está sendo acionado corretamente.

Minhas permissões para o script são:

ls -alh
total 12K
drwxr-xr-x 2 root root 4.0K Mar  9 09:04 .
drwxr-xr-x 4 root root 4.0K Feb  3 13:36 ..
-rwxr--r-- 1 root root  165 Mar  9 09:12 send_sms.sh

Eu tentei grep para "send_sms" no diretório / var / log / para ver se algum erro ocorreu. Nada.

Estou terminando meu script com

exit 0

Como depurar?

    
por Michael Nielsen 09.03.2017 / 10:24

3 respostas

3

a) as permissões que você cita, -rwxr--r-- 1 root root 165 Mar 9 09:12 send_sms.sh , só permitem executar o script para o root user (proprietário do script). Os daemons do Zabbix normalmente são executados como o usuário zabbix , para que o usuário não tenha permissão para executar o script. Como o script já é legível, alterar as permissões para 755 deve ser aceitável e permitirá que o Zabbix execute o script

b) se o seu script se basear em quaisquer variáveis de ambiente, certifique-se de definir aquelas no próprio script - o Zabbix não cria o perfil ou qualquer outra coisa que você possa esperar para definir essas variáveis

    
por 09.03.2017 / 10:47
1

Em vez de abrir as permissões, você pode criar um arquivo sudoers que permita ao usuário do zabbix executar o script. A sintaxe Sudoers é realmente complicada e se você errar, irá quebrar completamente o sudo até que você remova o arquivo ou a linha que está incorreta, então tenha cuidado.

zabbix ALL=NOPASSWD: /usr/lib/zabbix/alertscripts/send_sms.sh * É necessário que haja um caractere de tabulação entre o zabbix e o ALL, não um espaço, portanto, certifique-se de que seu editor não substitua isso. Este site parece não copiar e colar diretamente.

Solte essa linha em /etc/sudoers.d/zabbix , por exemplo. Faça isso como root para que você não seja bloqueado se acidentalmente quebrar o sudo em você mesmo. Você pode testar a sintaxe depois com visudo -cf /etc/sudoers.d/zabbix .

Edit: Então, novamente, meu caso de uso para isso é uma verificação relacionada a atualizações usando o apt-get que precisa de root. O Twilio provavelmente ainda funciona e é apenas uma questão de ler / executar seu arquivo.

    
por 09.03.2017 / 11:40
-1

eu resolvi essa questão, não sobre a permissão, escrever aqui pode ajudar os outros. Como o zabbix roda o seu script não está no seu Alertscript, então você só precisa adicionar um comando: cd $ Alertscriptpath (base em seu ambiente), é apenas um trabalho

    
por 02.06.2017 / 12:15