APP下载

企业级服务器监控及数据化运维系统的研究

2021-07-28孔祥文沈辰楠张重阳任仕辉

数字技术与应用 2021年6期
关键词:网络设备进程运维

孔祥文 沈辰楠 张重阳 任仕辉

(中国市政工程华北设计研究总院有限公司,天津 300074)

0 引言

随着企业信息化程度的不断提高,服务器硬件设备、存储设备、应用系统、中间件、数据库等数量呈逐年递增趋势,对集中式服务器端/群等的提出了更多的考验。动态了解企业信息化需求,合理分配网络资源;保障信息系统的高效性、稳定性、可靠性;及时发现网络中潜在的各种风险并采取有效措施,都对企业日常网络运维以及系统监控工作提出了更高的要求。网络故障的预警机制不够完善,运维工程师的大部分时间和精力都花在处理简单且重复的问题,而且有可能出现难以预见的连锁反应,这种解决方式无法满足对网络故障预警机制的灵活性和可靠性的要求。维护IT基础设计的稳定是企业发展的基础,也是开展业务的必要条件。通过建立监控解决方案,构建了一套稳定、实时的智能化监控平台不仅能够规范化运维管理流程,有效提升运维工作的效率和服务质量,实时采集硬件、操作系统、服务进程网络设备等各类被监控对象的指标数据,从多角度掌握网络及信息系统运行状况,将有限的管理人员从繁杂的运维工作中解放出来,同时可以通过对监控数据性能图表的智能分析,为服务器系统重构和完善提供重要参考,对企业的标准化、平台化与智能化推进具有重要意义。

1 研究基础及平台需求分析

主服务器Server底层运行的环境为Linux+PHP+MySQL,软件环境以CentOS7(64位)操作系统、httpd、PHP和MariaDB为基础。集成安装官方RPM包,在此基础之上导入源码,安装数据库并修改配置文件,编译生成监控平台管理界面。对主服务器及客户服务器分别安装Agent插件,网络监控平台工作流程在此基础上进行,Agent将获取到的监控网络设备的数据,实时/非实时地通过主动推送或者被动响应的模式传输给主服务器,将网络参数以图表形式进行数据可视化展现,通过监控平台来实现告警的发送和分析,并具备一定的可扩展能力[1]。监控平台数据处理流程图1所示。

图1 监控平台数据处理流程Fig.1 Data processing flow of monitoring platform

2 网络监控平台的开发与实例

2.1 监控平台的开发

Web服务器监控对状态码、返回字符串等特定的数据进行比较和监控,从而判断Web服务的高性能和可用性[2]。

2.1.1 基于Web性能的监控

HTTP状态码、响应时间和页面加载速度是直观反映Web服务的可用性和性能的指标。Web性能监控通过几个环节进行设置:(1)通过监控平台设置configure→Hosts→Web→Create Web scenario,建立可视化界面监控模板;(2)在Web监控中对登录用户的账号和密码设置变量;(3)定义URL全路径和登录回显参数等模拟Web登录行为的参数。在监控系统的可视化界面可以实时查看服务的运行状态。配置触发器当页面加载速度为零或者响应时间大于1000毫秒,并且持续时间大于5秒,或者HTTP状态码不是200时,监控平台提示服务运行异常的告警数据。

2.1.2 基于Web进程的监控

HTTP服务的可用性,是实时判断HTTP进程运行状态的指标,通过几点设置实现对其监控:(1)net.tcp.listen[port]用于监控服务器port是否处于开启状态。返回值1:开启;返回值0:未开启。(2)service.info[service,]用于监控与Web服务相关联的关键服务的进程状态。返回值0:服务进程运行正常;返回值1:服务进程暂停;返回值6:服务进程停止;返回值255:服务进程不存在。

2.1.3 基于SNMP协议对网络设备的监控

针对网络的核心传输中不能或者不方便安装Agent插件的设备,包括打印机、交换机、路由器、UPS等网络设备,需要采用SNMP协议进行数据信息的采集。通过命令行或者Web界面配置被监控端网络设备的SNMP协议支持,使用snmpwalk获取SNMP数据。

2.2 部分监控实例

2.2.1 服务器监控

(1)CPU负载监控如图2所示。(2)网卡流量如图3所示。

图2 CPU负载监控Fig.2 CPU load monitoring

图3 网卡流量Fig.3 Network card traffic

2.2.2 网络拓扑图

监控平台拓扑图用来直观地图形化地显示设备的整体情况,并可以通过标记显示不同的故障事件。监控平台如图4所示。

图4 监控平台拓扑图Fig.4 Monitoring platform topology

3 告警模块的实现

监控系统根据实际应用的需求,实时或非实时地进行数据采集和展示,通过第三方告警介质可编程接口实现多种方式可定制化的告警模块[3]。

3.1 以邮件形式推送

通过关联SMTP对报警邮件进行实时/非实时推送。邮件推送通过几个步骤进行配置:(1)在/etc/zabbix/zabbix_server.conf配置文件中的SMTP地址、登录用户、授权码等信息;(2)在/etc/zabbix/alertscripts/目录下创建邮件Shell脚本程序zabbix_sendmail.py;(3)在监控平台报警媒介中配置自定义Shell脚本程序,并进行触发及告警配置。

3.2 以微信形式推送

通过企业微信提供的接口调用相关的消息发送接口,在移动终端APP对告警消息进行实时/非实时推送。微信推送通过几步骤进行配置:(1)在/etc/zabbix/alertscripts/wechat目录下配置Shell脚本程序;(2)在监控平台Web报警界面中调用微信Shell脚本程序[4]。所配置的参数如图5所示。

图5 监控平台报警媒介Fig.5 Monitoring platform alarm media

4 结语

随着企业信息化规模的不断扩大以及网络设备及服务的增多,对网络基础架构和信息系统的运行进行监控和管理的重要性与日俱增。本文通过对监控平台的开发与部署,以及深层次的应用实践,实现了网络应用的性能监控和自动告警,为企业信息系统自动化、智能化提供了有效的支撑手段。在未来的工作中,将致力于针对监控平台分布式架构进行探索,并将跟随企业云平台的建设提供更多的网络支持。

猜你喜欢

网络设备进程运维
一种基于C# 的网络设备自动化登录工具的研制
债券市场对外开放的进程与展望
运维技术研发决策中ITSS运维成熟度模型应用初探
基于ITIL的运维管理创新实践浅析
社会进程中的新闻学探寻
基于列车监测网络设备的射频功放模块设计
基于三层交换技术架构数字化校园网络设备的配置与管理
我国高等教育改革进程与反思
Linux僵死进程的产生与避免