监测起搏器与url触发外部代理

我有一个HA设置,现在唯一configuration的资源是主动/被动configuration的心跳。 在云中运行Debian 7,64位。

现在我想在资源发生变化时触发一个来自Pacemaker的信息。 URL指向某个将发送电子邮件/ SMSalert的服务器。让URL触发为http://example.com/pacemaker.php?CRM_notify_node=node1&CRM_notify_rsc=blah

由于configurationPacemaker的所有东西是乏味的。 所以所有的处理或发送电子邮件/警报被放入网页。

那么,如何configurationPacemaker来调用URL。

谢谢

您可以通过External-Agentconfiguration通知,添加外部脚本来处理群集更改。

例如configurationClusterMon执行一个外部代理:

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" 

脚本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 

或者,您可以启动crm_mon作为后台守护程序,并使用相同的脚本来处理群集更改。

例如。

 crm_mon -d -i 30 -p /tmp/ClusterMon_ResourceMonitor.pid -E /path/to/pcmk_curl_helper.sh 

我希望这个帮助。