Nagios强大的报警功能现在又有了新玩法,思路就是调用微信公共平台的api接口发送报警邮件。在正式操作之前,有几个准备工作要做。先安装nagios,可以使用我提供的nagios一键安装脚本。然后是去微信公共平台申请一个企业号,我申请时填的是组织,没有认证也可以使用。最后登录公共平台添加通讯录,和新建应用(例如nagios),记录应用的id后面要用。用户权限什么自己设定。 
	 
	 微信脚本nagios和微信平台都准备好之后,接下来下载微信命令脚本。右键点击下载,保存。然后上传到nagios服务器,例如/usr/local/nagios/python/weixin目录,设置文件权限为可执行。在/usr/local/nagios/python/weixin目录新建config.py文件,添加如下配置。 #coding:utf-8 CorpID='xxxxx' Secret='xxxxxxxxxxxxxxxxx' DEBUG=0 ToUser='sijitao.net' AgentId=1 其中CorpID和Secret这两个可以通过登录微信公共平台,打开添加的应用(例如nagios)获取。 微信脚本命令传递的参数通过“-@@-”符号来分割,详细说明可以参考我的github地址:https://github.com/zhangnq/nagios/tree/master/weixin Nagios配置下面就是nagios上的常规配置。 commands.cfg命令文件中添加weixin命令: 
define command{
    command_name notify-host-by-weixin
    command_line /usr/local/nagios/python/weixin/NotifyByWeixin.py "host-@@-$NOTIFICATIONTYPE$-@@-$HOSTNAME$-@@-$HOSTSTATE$-@@-$HOSTADDRESS$-@@-$HOSTOUTPUT$-@@-$CONTACTALIAS$"
}
define command{
    command_name notify-service-by-weixin
    command_line /usr/local/nagios/python/weixin/NotifyByWeixin.py "service-@@-$NOTIFICATIONTYPE$-@@-$SERVICEDESC$-@@-$HOSTALIAS$-@@-$HOSTADDRESS$-@@-$SERVICESTATE$-@@-$SERVICEOUTPUT$-@@-$CONTACTALIAS$"
}
templates.cfg模板文件中添加联系人模板: 
define contact{
    name weixin-contact
    service_notification_period 24x7
    host_notification_period 24x7
    service_notification_options w,u,c,r,f,s
    host_notification_options d,u,r,f,s
    service_notification_commands notify-service-by-weixin
    host_notification_commands notify-host-by-weixin
    register 0
}
contacts.cfg联系人中添加微信通知联系人,这里alias名字要和微信公共平台通讯录中名字帐号一样才会发送成功。 
define contact{
    contact_name zhangnq-weixin
    use weixin-contact
    alias zhangnq
    email admin@sijitao.net
}
最后在配置service的时候添加zhangnq-weixin这个联系人后就可以通过微信发送报警邮件了。 
	  | 





							dedecms建站公司bean清新绿模
							人气:680
						
							ecshop 运费查询 不同的地方
							人气:2358
						
							ecshop仿九九康体保健品商
							人气:654
						
							Fastest外贸多用途商城mag
							人气:221
						
							ecshop专业汽车用品英文外
							人气:1021
						
							ecshop英文外贸高尔夫模板
							人气:715