crm_mon -E não executa o agente externo no Debian Jessie

3

Configuração

Atualmente, tenho um cluster de HA de dois nós trabalhando usando o Pacemaker + Corosync. Meus nós estão rodando no Debian 8 (Jessie). Agora eu seria capaz de ser notificado quando ocorrerem alterações no cluster (recursos parar / iniciar, promover / rebaixar, mover ...).

Como os relatórios de e-mail são de 2008, gostaria de usar o Slack. Para fazer isso, criei um script que usa curl para postar uma mensagem no canal Slack da minha equipe, usando os webhooks do Slack . Meu script está usando variáveis de ambiente documentadas aqui: Pacemaker - 7.3 . Configurando Notificações via Agente Externo .

O script funciona bem quando executado manualmente no shell e é capaz de postar no canal especificado. Ele também registra em /var/log/ocf-notifier.log .

Problema

Com base em esta resposta , criei um novo recurso no cluster usando o agente de recurso ocf:pacemaker:ClusterMon do Pacemaker, que chama meu script personalizado ( /usr/local/bin/ocf-notifier ).

No entanto, notei que meu script simplesmente não é chamado quando ocorrem alterações no nó (tentei parar o recurso e encerrar completamente um nó).

Por isso, tentei executar o crm_mon manualmente, da seguinte forma:

$ crm_mon -Arf --interval=2 -E /usr/local/bin/ocf-notifier -e '@jordan'

E veja se isso poderia acionar a coisa brincando com o cluster com outro shell. Como se constatou, crm_mon foi capaz de ver as mudanças acontecendo no cluster (nó ficando offline, sendo o recurso interrompido / iniciado ...), mas meu script personalizado nunca piscou um olho. Meu arquivo de log personalizado permanece vazio e nada aparece no Slack, pois acredito que o script simplesmente não é chamado.

TL; DR

crm_mon não chama o agente externo em eventos de cluster, como deveria com a opção -E . O que estou fazendo errado?

    
por Jordan Becker 09.02.2016 / 13:49

0 respostas