栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > 学术 > 人文期刊 > 科技视界

基于企业微信的网络故障告警系统应用与研究

基于企业微信的网络故障告警系统应用与研究

李正 陶鑫 黎斌 邓辉

【摘 要】通过对企业微信API接口和Python编程语言的学习,在Nagios监控系统的基础上,进行二次开发,实现基于企业微信平台的网络故障告警功能插件。

【关键词】企业微信;API;Python;故障告警

中图分类号: F274;G206文献标识码: A文章编号: 2095-2457(2019)19-0056-002

DOI:10.19694/j.cnki.issn2095-2457.2019.19.025

0 引言

随着移动通信技术的发展,信息化服务也迎来了新挑战与机遇。移动应用的普及,将原有的基于PC端的业务,逐步扩展到了移动端。江西省地震局从2011年开始部署Nagios网络监控系统,通过研究,扩展了一些应用。近来,江西省地震局预报中心申请开通了企业微信号,用于信息服务。通过对企业微信API接口的学习与研究,顺利实现了企业微信号推送网络故障消息的目的。

1 监控系统和企业微信介绍

Nagios是一个用于监控网络、服务和主机资源的实时状态的开源IT运维监控框架,在状态变差和变好的时候及时给出告警信息。它运行在Linux或Unix环境,具有稳定强大的功能和维护成本低廉等特征。Nagios监控框架由主程序Nagios Core、插件程序Nagios-plguins和四个可选组件组成。四个可选组件为用于监控Linux/Unix主机资源的NRPE扩展,用于监控Windwos主机资源的NSClient++程序,用于分布式部署的NSCA扩展程序,用于将程序的配置信息和运行产生的数据存入数据中的NDOUtils,NDOUtils支持的数据有MySQL和PostgreSQL。Nagios-plguins不但有強大的监控插件库,还能通过shell、python、perl等语言编写自定义的监控插件程序。

企业微信是腾讯开发的一个高效的免费办公服务平台,一经推出就得到广泛应用。它能与微信APP无缝沟通,普通用户无需安装额外的APP,只需关注企业微信号后就能使用,同时也提供独立的移动端和PC端应用程序。用户需要管理员审核通过后才能使用其功能,并且提供丰富的平台接口,可以与其他平台系统实现无缝对接。企业微信平台由腾讯运营维护,通过国家信息安全等级保护三级测评认证,其通信协议全程加密,安全可靠;单条消息可达2048字节,可以选择性群发,消息精准发送;依托腾讯强大的消息处理能力,发送速度远高于手机短信和电子邮件。

2 现状

江西省地震局在部署Nagios系统后,编写了基于飞信机器人程序的网络故障告警插件。报警插件的使用,极大地缩短了江西省地震局网络故障响应时间,提高了网络运行效率、为地震监测等业务提供了有力保障。但是基于飞信机器人程序的网络故障告警插件只能给用户好友发送消息,而且存在一定的延时。为了满足电信、联通的手机用户,江西省地震局又编写了“一信通”MAS平台的网络故障告警插件,发送时延也有改观,但是使用MAS平台需承担一定的费用。

江西省地震局在企业微信平台开发了一系列应用服务,如自动会商信息、每日地震统计信息等。以上信息只有通过认证的关注用户才能接收到,并且可以选择用户发送。鉴于以上优点,作者开始了Nagios与企业微信对接工作研究,利用企业微信平台高效快速的消息推送服务,快速发送Nagios监测到的网络故障告警信息。

3 功能实现与效果

通过学习企业微信服务端API接口,了解到要发送消息,需要凭据CorpID和CorpSecret获取当前access_oken,access_oken将是调用接口的凭证。

将收信人账号、AgentId、消息内容等信息按照一定的格式拼接成JSON格式数据,利用HTTPS的POST方法,推送到企业微信服务平台,企业微信服务平台在接收到请求后能迅速群发到收信人。

一般在安装完Linux系统后,自动具备了Python运行环境,而Python的字典型数据类型能很好的处理JSON格式数据。基于企业微信的网络故障告警插件代码如下。

上述代码中send_values部分存在多个转义符“\”,用于处理告警消息中的换行符“\n”。在Naigos配置文件中添加企业微信的告警方式,内容如下。

同时需要在配置文件中添加相应的账号信息,内容如下。

4 结论

在Nagios监控平台上,江西省地震局预报中心依次采用基于飞信机器人、E-mail、MAS系统和企业微信平台的网络故障告警插件。在使用这些告警插件时,将所有被监控的设备、服务和联系人进行合理的分组,将设备和服务分配到不同的联系人组。当设备和服务状态发送变化时,Naigos系统就会通过commands触发相应的故障报警配置,将告警信息发送到对应的联系人组内所有联系人,以达到精准告警的目的,并且要求接收到故障告警信息后30分钟内将响应结果向值班室反馈。

虽然基于企业微信平台的网络故障告警插件有速度快,免费等特性,但它依赖于接收到端手机的互联网连接状态,当手机无法连接到互联网时就无法及时接收到告警信息,为此,部分关键人员仍然保留了基于MAS系统的网络故障告警插件。

【参考文献】

[1]Nagios官方文档.https://www.nagios.org/documentation/.

[2]企业微信API文档.https://work.weixin.qq.com/api/doc.

[3]魏星,牛瑞.基于企业微信的配电网短消息系统应用与研究[J].电子技术与软件工程,2018(20):72-74.

[4]陈文迪,程学林,黄智勇.基于微信企业号的医院IT运维管理服务系统的分析与设计[J].中国数字医学,2016,11(11):83-85.

[5]李正,吕坚,付荣国.浅谈基于Nagios的故障告警系统[J]. 江西通信科技,2011(01):16-18.

[6]张晖,周利霞,姚会琴,孙晶岩.Nagios监控系统在天津地震应急系统中的综合应用[J].震灾防御技术,2012,7(03):322-328.

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/xueshu/273714.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号