Você pode configurar as notificações via agente externo adicionando script externo para processar mudanças de cluster.
Por exemplo, configure o ClusterMon para executar um agente externo:
primitive ClusterMon ocf:pacemaker:ClusterMon \
params user="root" update="30" extra_options="-E /path/to/pcmk_curl_helper.sh" \
op monitor on-fail="restart" interval="10"
clone ClusterMon-clone ClusterMon \
meta target-role="Started"
Script pcmk_curl_helper.sh
:
#!/bin/bash
# Generates alerts for any failing monitor operation or
# for any operations (even successful) that are not a monitor
# env vars: ${CRM_notify_recipient} ${CRM_notify_rsc} ${CRM_notify_rsc} ${CRM_notify_desc} ${CRM_notify_status} ${CRM_notify_rc} ${CRM_notify_target_rc}
if [[ ${CRM_notify_rc} != 0 && ${CRM_notify_task} == "monitor" ]] || [[ ${CRM_notify_task} != "monitor" ]] ; then
/usr/bin/curl -sS http://example.com/pacemaker.php?CRM_notify_node=${CRM_notify_node}&CRM_notify_rsc=${CRM_notify_rsc} > /dev/null
fi
exit 0
Como alternativa, você pode iniciar o crm_mon como um daemon de segundo plano e usar o mesmo script para processar as alterações do cluster.
Por exemplo.
crm_mon -d -i 30 -p /tmp/ClusterMon_ResourceMonitor.pid -E /path/to/pcmk_curl_helper.sh
Espero que isso ajude.