公司使用的高可用軟件中有一種是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 採集器 |
對應的觸發器如下:
另外可通過HA浮動地址,監控服務提供情況,使用浮動地址新建主機,加一個監控項 proc.num[zxmsc,root]。