关于邮件通知的配置很简单,只需要设置SMTP即可,因此这里不多说。但是zabbix默认的短信通知可就有点坑了,。与此同时,现在开发中为了方便一般都是将短信发送的操作封装成接口的形式的,当需要发短信时只需要调用该接口同时传入收件人,短信详情等信息就可以完成一条短信的发送了
因此,为了简化zabbix短信通知的成本,我们可以考虑让zabbix调用外部的脚本请求短信接口来实现短信发送的功能
- <李>
李> <李>
李>
(1)添加两个脚本(PS:发送短信脚本,并且是在zabbix_server上添加):
(root@nmp01 脚本)#,cd /usr/地方/zabbix (root@nmp01 脚本)#,cd mkdir 脚本 (root@nmp01 脚本)#,vim /usr/地方/zabbix/脚本/sendsms。py
# !/usr/bin/python #编码:utf-8 时间=URL “http://192.168.150.2:8075 xxxx wmgw.asmx” import 系统 import urllib import urllib2 import 时间 def sendsms(移动、内容): ,,,,,,,content =, (% s), % s的,%,(time.strftime (“% Y % m % d H %: % m: % s '),内容) ,,,,,,,data =,‘& lt; soap: Envelope xmlns: soap=" http://www.w3.org/2003/05/soap-envelope ", xmlns: tem=" http://tempuri.org/"在……& lt; tem: pszMobis>”, +, mobile +,‘& lt;/tem: pszMobis> & lt; tem: pszMsg>”, +, content +,‘& lt;/tem: pszMsg> ....... & lt;/soap: Envelope>” ,,,,,,,# body =, urllib.urlencode(数据) ,,,,,,,request =, urllib2.Request (URL,数据) ,,,,,,,urldata =, urllib2.urlopen(请求) ,,,,,,,# print urldata.read () if __name__ ==,“__main__”: ,,,,,,,sendsms (sys.argv [1], sys.argv [2])
(root@nmp01 脚本)#,vim /usr/地方/zabbix/脚本/发送。sh
# !/bin/sh 手机=(15812341204,15812341204) 消息=" " for 小姐:$ @拷贝;做 ,,,消息=消息我美元“,” 完成 for m 拷贝${手机[@]}; 做 ,,,./sendsms.py m 美元;“美元消息” 以前做>
注:这个脚本主要是通过循环遍历的形式控制到底给哪些用户发送短信,手机号放在“手机”数组中。脚本通过遍历参数当做短信内容,然后通过上面的sendsms.py发送短信
给脚本添加可执行权限:
(root@nmp01 脚本)#,chmod a + x /usr/地方/zabbix/脚本/*
(2)配置zabbix_server的Web站点:
cd /usr/地方/zabbix/脚本 。/send.sh “{TRIGGER.STATUS},服务器:{HOSTNAME1}发生:,{TRIGGER.NAME},故障,"
到此zabbix短信报警的配置就全部结束了,亲测可以正常收到短信,这里就不截图了
zabbix自定义脚本实现短信报警提醒