Nagios微信报警
2014-02-12 15:17
176 查看
转载自:http://www.icanwen.com/?p=746
最近有很多朋友写mail给我,要求分享Nagios微信报警的文章,不好意思由于工作的原因写的有点晚了。
如果要使用微信报警需要用到微信的公众平台,我朋友用Nodejs写了一个模拟微信公众平台登陆的接口,用SHELL调用即可。
只要关注你注册的这个公众号,出现在好友列表中,Nagios就可以发送告警到你的手机。
其实微信公众平台的开发模式下有订阅号和服务号,如果升级到服务号当然是方便多了,但不幸的是微信升级到服务号要公司的营业执照代码之类的东东,制造了很多麻烦。模拟网页发送是迫不得而为之^_^。
下面是具体的操作步骤
一.注册微信公众平台。注册地址 https://mp.weixin.qq.com/
二.下载nodejs程序,在程序config/config.coffee中填写刚注册的公众号和密码。 启用程序(nodejs的启动很简单建议大家用forever作成一个系统服务,上网找找资料由于篇幅问题在这里略过)。程序下载地址:https://github.com/ym1623/node_wx
本程序有两个功能:1.是模拟登陆 2.是获取好友列表
三.写一个调用微信接口的SHELL,我写了几行SHELL在这里奉上。
weixin.rar
四.Nagios的配置
1.在 objects/commands.cfg中增加如下信息
注意:command_line后面的是在一行中
2.以objects/contacts.cfg中示例信息如下:
注明:微信ID号可以通过 http://nodejs IP/wx/friend获取 格式如下:
{
id: 11212856820,
nick_name: "微信昵称",
remark_name: "",
group_id: 0
}
保存重启nagios 测试一下 大功告成
最近有很多朋友写mail给我,要求分享Nagios微信报警的文章,不好意思由于工作的原因写的有点晚了。
如果要使用微信报警需要用到微信的公众平台,我朋友用Nodejs写了一个模拟微信公众平台登陆的接口,用SHELL调用即可。
只要关注你注册的这个公众号,出现在好友列表中,Nagios就可以发送告警到你的手机。
其实微信公众平台的开发模式下有订阅号和服务号,如果升级到服务号当然是方便多了,但不幸的是微信升级到服务号要公司的营业执照代码之类的东东,制造了很多麻烦。模拟网页发送是迫不得而为之^_^。
下面是具体的操作步骤
一.注册微信公众平台。注册地址 https://mp.weixin.qq.com/
二.下载nodejs程序,在程序config/config.coffee中填写刚注册的公众号和密码。 启用程序(nodejs的启动很简单建议大家用forever作成一个系统服务,上网找找资料由于篇幅问题在这里略过)。程序下载地址:https://github.com/ym1623/node_wx
本程序有两个功能:1.是模拟登陆 2.是获取好友列表
三.写一个调用微信接口的SHELL,我写了几行SHELL在这里奉上。
weixin.rar
四.Nagios的配置
1.在 objects/commands.cfg中增加如下信息
define command{ command_name notify-host-by-weixin command_line /usr/bin/printf "%b" "*****ERS monitor Robot*****\n\n Notification Type: $NOTIFICATIONTYPE$\n Host: $HOSTNAME$\nState: $HOSTSTATE$\n Address: $HOSTADDRESS$\n Info: $HOSTOUTPUT$\n\n Date/Time: $LONGDATETIME$\n" >/usr/local/nagios/var/weixin.out | /usr/local/bin/weixin.sh -f $CONTACTADDRESS1$ } # 'notify-service-by-weixin' command definition define command{ command_name notify-service-by-weixin command_line /usr/bin/printf "%b" "***** ERS monitor Robot*****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" > /usr/local/nagios/var/weixin.out | /usr/local/bin/weixin.sh -f $CONTACTADDRESS1$ } |
2.以objects/contacts.cfg中示例信息如下:
define contact{ contact_name nagiosadmin ; Short name of user alias Nagios Admin ; Full name of user service_notification_period 24×7 host_notification_period 24×7 service_notification_options w,u,c,r,f,s host_notification_options d,u,r,f,s service_notification_commands notify-host-by-email,notify-host-by-sms ,notify-service-by-weixin host_notification_commands notify-host-by-email,notify-host-by-sms ,notify-service-by-weixin pager 134123456 ;pager number email abc@abc.com ;Email message address1 2447905640 ;微信好友ID号 } |
注明:微信ID号可以通过 http://nodejs IP/wx/friend获取 格式如下:
{
id: 11212856820,
nick_name: "微信昵称",
remark_name: "",
group_id: 0
}
保存重启nagios 测试一下 大功告成
相关文章推荐
- 整合nagios+cacti+微信、飞信实现网络监控报警
- Python利用Nagios增加微信报警通知的功能
- nagios微信报警(版本V2)
- Nagios微信报警
- Python利用Nagios增加微信报警通知的功能
- nagios用python实现微信报警
- 实战Nagios网络监控(3)——Nagios 微信报警
- 整合nagios+cacti+微信、飞信实现网络监控系统报警
- nagios报警参数详细设置
- Nagios全方位告警接入-电话/微信/短信都支持
- Nagios短信分组报警
- zabbix 结合企业微信实现微信报警功能
- Zabbix 报警通知邮件和微信vim /etc/hosts
- Zabbix与微信报警
- 使用nagios监控交换机端口流量,对低于阈值的流量进行报警
- 微信报警 zabbix实现详解
- Zabbix微信报警
- linux系统报警软件nagios与飞信结合
- Nagios使用mutt发用报警邮件
- nagios load 百分比 监控报警插件