Ad Widget

Collapse

Execução de Script de Notificação

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • edson
    Junior Member
    • Mar 2010
    • 11

    #1

    Execução de Script de Notificação

    olá...

    Estou testando o Zabbix 1.8.1 num OpenSUSE 11.2 em um ambiente de teste com NAT na borda.

    O problema que estou enfrentando resume-se ao título. Assim, descrevendo o que já foi feito:
    - criado script para envio de notificação (testado e funcionando na CLI com direitos do user zabbix);
    - movido o script para /etc/zabbix/externalscript (indicado no .conf do server);
    - criada novo tipo de mídia (script) apontando para "nome_do_script" (sem dir);
    - configurada nova mídia no usuário de teste;
    - criada nova ação utilizando a nova mídia de notificação;

    Neste ponto, verifico na aba de Administração->Notificações alterações no número de notificações usando o script, mas nada acontece. Nada aparece no log do Zabbix (nem com debug=4), nem as mensagens descarregadas no Syslog do sistema pelo script.

    Acredito que seja alguma falta/falha na configuração, mas não consigo encontrar. Alguma idéia???

    Edson.
  • exkg
    Senior Member
    Zabbix Certified Trainer
    Zabbix Certified Specialist
    • Mar 2007
    • 718

    #2
    Oi Edison,

    Foi criada uma acao e relacionada com essa nova midia ?
    Basicamente se nao temos registros no 'Auditoria' e nao temos erros nos logs o Zabbix NAO tentou executar a acao.


    []s,
    Luciano
    --
    Luciano Alves
    www.zabbix.com
    Brazil | México | Argentina | Colômbia | Chile
    Zabbix Performance Tuning

    Comment

    • edson
      Junior Member
      • Mar 2010
      • 11

      #3
      Oi, Luciano... grato pela resposta....

      Respondendo à tua pergunta, sim.... criei uma ação relacionada a triggers. Como já estou nesta 'briga' já tem quase uma semana, já olhei em todos os lados de configuração que identifiquei relacionados. Como não consegui achar nada de errado, assumi que tinha errado na definição da Ação.

      O que testei nas definições das ações:
      1) sem "condição de ação" alguma (li em algum lugar que neste caso, dispara a ação em qqer trigger), mas parece que isto não funciona;
      2) associando como condições de ação o host pertencer a um grupo e ter acionado o trigger de sobrecarga de CPU;

      Agora, concordo que ele não está executando o script externo, porém em Administração->Notificações vejo este registro: 4342 (0/0/4342/0) e no rodapé leio all (Email/Jabber/Manda e-Mail pelo GMail/SMS). Entendo que só hoje ele já 'tentou' enviar 4342 notificações. Estou correto??? Mas porque não encontro nenhum registro de TRIGGER ou ACTION no log do server?

      Edson.

      Comment

      • exkg
        Senior Member
        Zabbix Certified Trainer
        Zabbix Certified Specialist
        • Mar 2007
        • 718

        #4
        Hmmm ... ocorre que o ZABBIX (quando a midia eh do tipo script) nao valida o retorno. Isso faz com que os erros (se exisitrem) dos scripts nao fiquem aparentes na interface.


        Era interessante ativar algum tipo de log no teu 'Manda e-Mail pelo GMail' para verificar onde ele estah parando.

        No log do server (Debug=4) DEVE aparecer o disparo do teu script mas o ZABBIX nao espera retorno e nem valida a execucao.



        []s,
        Luciano
        --
        Luciano Alves
        www.zabbix.com
        Brazil | México | Argentina | Colômbia | Chile
        Zabbix Performance Tuning

        Comment

        • edson
          Junior Member
          • Mar 2010
          • 11

          #5
          O script está com os seguintes atributos:
          XP-2400:/etc/zabbix/externalscripts # ll
          total 4
          -rwxr-x--- 1 zabbix root 846 Mar 5 16:16 MandaEMail

          No final dele tinha chamadas ao Syslog, mas mudei de forma que ele registre na início e no fim da execução, mensagens no /var/log/messages.

          Mas independente disto, o script funciona e envia mensagens quando executado, na linha de comando, pelo usuário "zabbix" (que executa o 'zabbix-server' e usando o comando 'su -s /bin/sh' para obter um shell de execução).

          No LOG do zabbix não aparece nenhuma linha com MandaEMail ou alguma linha informando que trigger ou action falharam.

          O que me intriga é o crescente número de notificações registrados em Administração->Notificações....

          Alguma dica para um troubleshooting mais efetivo?

          Edson.

          Comment

          • edson
            Junior Member
            • Mar 2010
            • 11

            #6
            Complementando...

            XP-2400:/etc/zabbix/externalscripts # su -s /bin/sh zabbix
            XP-2400:/etc/zabbix/externalscripts> whoami
            zabbix
            XP-2400:/etc/zabbix/externalscripts> ./MandaEMail '[email protected]' 'Titulo do e-mail' 'Corpo do e-mail....'
            XP-2400:/etc/zabbix/externalscripts> exit
            exit
            XP-2400:/etc/zabbix/externalscripts # tail /var/log/messages
            Mar 5 16:29:39 XP-2400 su: (to zabbix) root on /dev/pts/1
            Mar 5 16:30:49 XP-2400 MandaEMail: Iniciado com: [[email protected]] com [Titulo do e-mail] e [Corpo do e-mail....]
            Mar 5 16:30:53 XP-2400 MandaEMail: Envio de e-mail para [[email protected]] com [Titulo do e-mail] e [Corpo do e-mail....]
            XP-2400:/etc/zabbix/externalscripts #

            P.S.: o e-mail de destino foi mascarado, claro....

            Comment

            • edson
              Junior Member
              • Mar 2010
              • 11

              #7
              Encontrei o problema.... e por um método nada ortodoxo: parei o MySQL e olhei o LOG de 'nível 4' do Zabbix....

              Apareceu mensagem informando que não encontrou o script /usr/bin/MandaEMail.

              Foi ai que me atentei para o detalhe que no arquivo de configuração tem dois diretórios:
              1) AlertScriptsPath => Location of custom alert scripts
              2) ExternalScripts => Location of external scripts
              Tinha definido o segundo e não o primeiro. Assim, com a mensagem de erro que finalmente consegui fazer aparecer, bastou apontar o AlertScriptsPath para o lugar certo para que tudo passasse a funcionar.

              Grato pela atenção e ajuda.
              Edson.

              Comment

              • rcpapi
                Junior Member
                • May 2011
                • 11

                #8
                Olhando o arquivo zabbix_server.log verifiquei que quando o zabbix tenta enviar uma e-mail via script ele apresenta o seguinte erro:

                Error executing [/etc/zabbix/scripts//zabbix_sendemail.sh] [Exec format error]

                Alguem sabe o que pode ser? Quando eu executo o script por linha de comando funciona. Abaixo segue o script.

                #!/bin/bash
                export smtpemailfrom=monitoracao@dominio #email que sera enviado o alerta
                export zabbixemailto="$1"
                export zabbixsubject="$2"
                export zabbixbody="$3"
                export smtpserver="smtp.dominio"
                export smtplogin=monitoracao@dominio
                export smtppass=*****
                export smtpauth="tls=yes"
                export smtplog=/tmp/zabbix_sendmail.log

                /usr/bin/sendEmail -f $smtpemailfrom -t $zabbixemailto -u $zabbixsubject -m $zabbixbody -s $smtpserver -o $smtpauth -xu $smtplogin -xp $smtppass -l $smtplog


                Obrigado,

                Raphael

                Comment

                • edson
                  Junior Member
                  • Mar 2010
                  • 11

                  #9
                  Pode ser Autorização de Usuário????

                  Oi, Raphael....

                  Tente executar o script como o usuário que executa o Zabbix ('zabbix' por default).... Acho que não vai executar.... dai é só trocar a propriedade (ownership) de usuário e/ou grupo e retestar.... deve funcionar.

                  Edson.

                  Comment

                  • rcpapi
                    Junior Member
                    • May 2011
                    • 11

                    #10
                    Valeu pela resposta Edson,

                    Então eu pensei nisso também, so que ao testar com o usuario zabbix funcionou perfeitamente por linha de comando.... mais pelo zabbix continuo na mesma....O owner do script é o usuarios zabbix....

                    Comment

                    Working...