Zabbix使用hanotify接口監控HA狀態,及從浮動地址監控雙機進程

公司使用的高可用軟件中有一種是Skybility HA,其實HA軟件本身非常穩定,實沒有監控的必要,否則也不能叫HA了,但既然領導有需要,工作還是要做的。

我查閱了相關文檔,發現Skybility HA本身帶有用戶接口:Skybility HA Service爲了更好的方便用戶監控,提供了用戶報警的接口,您可以通過編輯/opt/ha/bin/hanotify來實現在發生故障時的報警機制。簡單的報警方法是通過給root發送mail,如下所示:

#!/bin/sh
mail_user()
{
user=$1
msg=$2
mail $1<<-EOF
HAEmerg Event Occur
$msg
EOF
}
logmsg="$1"
#if you wanna use mail to notify user when emerg event occurs, uncomment this
mail_user root $logmsg
#if you wanna use other way to notify, add your code here

也可通過zabbix_sender協議發送給zabbix server:

#!/bin/sh -u
mail_user()
{
        user=$1
        msg=$2
        mail $1<<-EOF
        HA Emerg Event Occur
        $msg
        EOF
}

logmsg="$1"
/usr/sbin/zabbix-sender -z 192.168.128.181 -s 192.168.136.148 -k ha.notify -o "$1"

zabbix web端的配置如下:

監控項 鍵值 類型
hacenter進程監控 proc.num[hacenter,root] Zabbix 客戶端
hacomm進程監控 proc.num[hacomm,root] Zabbix 客戶端
halockd進程監控 proc.num[halockd,root] Zabbix 客戶端
Skybility HA告警 ha.notify Zabbix 採集器

對應的觸發器如下:

hacenter進程異常 {Skybility HA Notify User-Interface:proc.num[hacenter,root].last()}=0
hacomm進程異常 {Skybility HA Notify User-Interface:proc.num[hacomm,root].last()}=0
halockd進程異常 {Skybility HA Notify User-Interface:proc.num[halockd,root].last()}=0
雙機狀態異常 {Skybility HA Notify User-Interface:ha.notify.nodata(300)}=0

另外可通過HA浮動地址,監控服務提供情況,使用浮動地址新建主機,加一個監控項 proc.num[zxmsc,root]。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章