天天看點

zabbix通過微信企業号發送圖文消息

    我有篇部落格寫到如何用微信發送告警消息,實作了發送文字消息,不能帶圖檔,這樣不是很直覺,最近又研究了一下如何發送圖檔,寫了腳本實作了發送文字+圖檔的告警。

    效果如下:

zabbix通過微信企業号發送圖文消息

先發送文字消息,下面挨着graph。

    這裡隻提供腳本和思路,具體配置請看我的另一篇部落格:(http://wuhf2015.blog.51cto.com/8213008/1688614#662543)

    實作方式:

在Action中設定Default Subject的格式為"狀态:#{TRIGGER.STATUS}#主機:#{HOST.NAME}#鍵名:#{ITEM.KEY}#"。這樣可以在腳本裡做判斷,如果狀态為OK則不發送圖檔,如果狀态為problem則發送圖檔。

zabbix通過微信企業号發送圖文消息

腳本有了{HOST.NAME}和{ITEM.KEY}這兩個參數後,可以通過查詢Mysql或者調用zabbix_api的方式得到我們必要的變量ItemID,有了這個變量才能擷取圖檔。

通過itemid從zabbix中擷取圖檔後,我們需要将圖檔上傳到微信企業号的臨時素材裡,上傳後我們會得到一個media_id

我們将media_id通過p_w_picpath格式發送出來就能收到圖檔消息了。

zabbix通過微信企業号發送圖文消息

    腳本:

    互相學習:

    腳本參照了下面這兩篇部落格:

http://babyfenei.blog.51cto.com/443861/1728604

http://grass51.blog.51cto.com/4356355/1094098

    注意:

    1.key_ 中不能帶引号,例如grpsum{"zabbix server",net.if.in[eth0],last,0}這樣就不正确

    2.Action中的Default Subject項一定按照我寫的來