Zabbix利用Python腳本調用短信API發送報警信息python
1、先貼出python腳本:api
#!/usr/bin/python # _*_ coding:utf8 _*_ import sys import urllib import urllib2 def sendMsg(): url='http://smsapi.c123.cn/OpenPlatform/OpenApi?action=sendOnce' data=urllib.urlencode({ 'ac':'***', 'authkey':'***', 'm':sys.argv[1], 'c':sys.argv[2], 'cgid':'***', 'csid':'***'}) req=urllib2.Request(url,data) res=urllib2.urlopen(req) print res.read() sendMsg()
對,就這麼幾行,該腳本主要urllib2模塊給url傳遞參數。測試
其中,ac、authkey爲調用短信API認證信息,cgid和csid分別是通道組編號和簽名編號。腳本中須要傳入兩個參數,分別是接收人手機號和短信內容。url
腳本測試沒問題後,放在zabbix安裝目錄的'zabbix/share/zabbix/alertscripts'目錄下。spa
2、Zabbix監控頁面設置code
一、'管理'-'報警媒介類型'-'建立媒體類型',以下圖:orm
寫好腳本名稱。blog
二、'管理'-'用戶',點擊管理員用戶-'報警媒介'-'添加',填入接收信息的手機號,如圖:事件
配置完後,更新。ip
三、建立觸發器:
配置-動做-建立動做(事件源選觸發器)-建立動做,定義短信內容以下圖:
默認信息:
告警主機:{HOSTNAME1}<br /> 告警時間:{EVENT.DATE} {EVENT.TIME}<br /> 告警等級:{TRIGGER.SEVERITY}<br /> 告警信息: {TRIGGER.NAME}<br /> 告警項目:{TRIGGER.KEY1}<br /> 問題詳情:{ITEM.NAME}:{ITEM.VALUE}<br /> 當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}<br /> 事件ID:{EVENT.ID}<br />
恢復信息:
告警主機:{HOSTNAME1}<br /> 告警時間:{EVENT.DATE} {EVENT.TIME}<br /> 告警等級:{TRIGGER.SEVERITY}<br /> 告警信息: {TRIGGER.NAME}<br /> 告警項目:{TRIGGER.KEY1}<br /> 問題詳情:{ITEM.NAME}:{ITEM.VALUE}<br /> 當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}<br /> 事件ID:{EVENT.ID}
而後點擊'動做',配置以下:
填寫完畢後,更新。
此時,就能夠刪庫、關機測試了。。。