溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Zabbix的兩種報警方式--微信和E-mail(一)

發布時間:2020-06-12 11:50:14 來源:網絡 閱讀:3962 作者:zhangyahui7116 欄目:開發技術

以前,我們在用Nagios監控時,結合飛信、E-mail、短信等方式來報警。如今在使用Zabbix監控時,依然有很多種報警方式,今天我們就來講一下微信和E-mail這兩種報警方式!

Zabbix結合微信報警:

Zabbix_server:192.168.30.192

Zabbix_agent:192.168.30.198

在做此實驗之前,你必須要注冊一個微信公眾號(訂閱號或者服務號),然后讓你的用戶關注你的微信工作號。如何申請公眾號請自行百度!


第一步:下載源碼

下載微信公眾平臺私有接口

git clone https://github.com/lealife/WeiXin-Private-API

cp -r WeiXin-Private-API  /etc/zabbix/alertscripts  

/etc/zabbix/alertscripts此目錄為zabbix默認報警腳本目錄,rpm安裝的zabbix默認的報警腳本目錄在這個目錄下,編譯安裝的可以自己查找。

chown -R  zabbix:zabbix   /etc/zabbix/alertscripts/WeiXin-Private-API


第二步:設置微信公眾號

cd   /etc/zabbix/alertscripts/WeiXin-Private-API

修改config.php文件

Zabbix的兩種報警方式--微信和E-mail(一)

修改test.php文件,只保留一下幾行:

Zabbix的兩種報警方式--微信和E-mail(一)

注意這里 $msg = "$argv[3]" 表示接受zabbix傳入的第三個參數,因為在zabbix在報警時會傳入三個參數:一是微信好友ID,二是報警信息的主題,三是報警信息的具體內容,這里跳過了報警主題,直接發送報警信息內容。


第三步:創建測試腳本

vim  /etc/zabbix/alertscripts/weixin

/usr/bin/php /etc/zabbix/alertscripts/WeiXin-Private-API/test.php "$1" "$2" "$3"

Zabbix的兩種報警方式--微信和E-mail(一)

chmod +x  /etc/zabbix/alertscripts/weixin

chown -R zabbix.zabbix  /etc/zabbix/alertscripts/weixin


第四步:測試腳本 

在測試腳本之前,你必須要得到用戶的tofakeid。

獲取tofakeid的方法如下:

登錄你的微信公眾號,用戶管理-->選中你要測試的用戶,點擊他的圖像,你會得到一個地址:

https://mp.weixin.qq.com/cgi-bin/singlesendpage?t=message/send&action=index&tofakeid=o-ARgwmMXLd8IdYIeWajD6glUe4I&token=2046185283&lang=zh_CN

上面網址中tofakeid后面紅色的部分即為用戶的tofakeid。


[root@server92 alertscripts]# /etc/zabbix/alertscripts/weixin o-ARgwmMXLd8IdYIeWajD6glUe4I "" "hello"

PHP Notice:  Undefined index: HTTP_USER_AGENT in /var/lib/zabbixsrv/alertscripts/WeiXin-Private-API/include/LeaWeiXinClient.php on line 33

PHP Notice:  Undefined index: HTTP_USER_AGENT in /var/lib/zabbixsrv/alertscripts/WeiXin-Private-API/include/LeaWeiXinClient.php on line 33

stdClass Object

(

    [base_resp] => stdClass Object

        (

            [ret] => 0

            [err_msg] => ok

        )


)

當你看到OK時,則測試成功!


如果你在測試時出現如下問題:

[root@server92 alertscripts]# /etc/zabbix/alertscripts/weixin o-ARgwmMXLd8IdYIeWajD6glUe4I "" "hello"

PHP Notice:  Undefined index: HTTP_USER_AGENT in /var/lib/zabbixsrv/alertscripts/WeiXin-Private-API/include/LeaWeiXinClient.php on line 33

PHP Notice:  Undefined index: HTTP_USER_AGENT in /var/lib/zabbixsrv/alertscripts/WeiXin-Private-API/include/LeaWeiXinClient.php on line 33

stdClass Object

(

    [base_resp] => stdClass Object

        (

            [ret] => 10706

            [err_msg] => customer block

        )


)


這是因為該用戶48小時之內未與你互動,你不能主動發消息給他。你可以讓該用戶給你的微信公眾號隨便發條消息,再重新測試一遍就可以解決了!

如果上面出現錯誤信息使得微信收不到測試信息,請分析下你的賬號信息是否填寫錯誤;如果不是,請檢查你的公眾號是否由于長時間沒和用戶互動被微信平臺封鎖了,這時請要求需要接受此報警信息的用戶發送任意信息到你的公眾賬戶上即可。如何還是不行,請將cache目錄下的文件全部刪除即可。

注意:如果你更改了公眾號密碼,cache目錄下的文件同樣需要刪除掉;


第五步:配置Zabbix

添加警示媒體:Administration --> Media types-->Create media type

Zabbix的兩種報警方式--微信和E-mail(一)
點擊Administration -> Users, 在Admin用戶的Media選項卡中,配置微信好友ID:

Zabbix的兩種報警方式--微信和E-mail(一)
此處的用戶ID即為用戶的tofakeid。

添加報警動作:

Zabbix的兩種報警方式--微信和E-mail(一)

報警主機: {HOST.NAME}

報警IP: {HOST.IP}

報警時間: {EVENT.DATE}{EVENT.TIME}

報警問題: {TRIGGER.NAME}

報警狀態: {TRIGGER.STATUS}

報警級別: {TRIGGER.SEVERITY}

報警詳情: {ITEM.NAME}{ITEM.VALUE}

事件ID:{EVENT.ID}


第六步:報警測試

關閉Zabbix_agent上的HTTP服務,報警如下:

Zabbix的兩種報警方式--微信和E-mail(一)
當你解決了zabbix_agent上的HTTP故障后,微信也會給你發相應的提示!


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女