基于Zabbix的气象信息网络监控系统研究与应用
2024-01-18黄丽娜石力伟
黄丽娜 石力伟
(锡林郭勒盟气象局,内蒙古 锡林浩特 026000)
0 引言
随着信息网络技术的快速发展及气象信息化、现代化的有序推进,气象信息网络成为气象行业中的重要组成部分。气象观测资料的采集与传输、预报预测服务产品制作与发布、气象防灾减灾工作的开展等均离不开气象信息网络的支撑。目前,对气象观测数据传输时效性的要求越来越高。以锡林郭勒盟气象部门为例,气象观测站采集到的数据每隔5 min 要自动上传到内蒙古自治区级气象通信系统CTS2.0 中,如果有特殊天气,可加密观测至1 min,天气雷达基数据每隔6 min要自动上传一次。
为确保气象数据传输具有高时效,要不断升级气象专网带宽。目前,锡林郭勒盟气象广域网采用的是联通MSTP、移动PTN 双链路通信,双链路互为备份。其中,联通、移动链路在盟局至区局的带宽均为100 MB、盟局至旗县局的带宽均为50 MB。由于锡林郭勒盟旗县众多,还要实现对雷达站链路的监控,网络管理人员需要监控的广域网链路多达34条。此外,还要对局域网进行监控,才能保障各个楼层的通信网络能正常运行。但在运行过程中难免会出现故障,仅靠人力很难第一时间发现故障并排除,这会影响到气象通信网络畅通,因此,需要借助技术手段来发现并排出故障。
国内外现有开源的网络监控技术较为成熟,并得到广泛应用,完全能满足锡林郭勒盟气象局对信息网络运维管理的需求。本研究通过分析Zabbix、Nagios、ManageEngine、Prometheus、Kentik等网络监控系统的优缺点,选取Zabbix 对锡林郭勒盟气象信息网络进行监控。
1 监控难点
雷达站气象专用网络中的联通、移动双链路存在监控难的问题。由于雷达站双链路两端是直接接入到交换机中的,要求在避免环路的同时,还能达到双链路备份效果,所以配置了STP 生成树协议。该协议通过ping 命令无法监测单链路通断情况,这是因为其中一条链路发生故障时,会自动切换到另一条链路,并不影响通信网络的畅通。由于交换机无法像路由器那样为每个端口都配置一个IP 地址,只能通过划分vlan 的方式来配置一个IP 地址,所以用ping命令测试IP地址是否通畅的方法并不适用这种情况。单链路故障虽然在短时间内不影响通信网络畅通,但却埋下了隐患。当另一条链路也发生故障时,则通信网络出现故障,所以必须要采取有效措施来发现单链路故障。
STP 生成树协议把环形结构变成树形结构。以H3C 交换机为例,配置STP 生成树协议过程如下[1]:首先,查看STP 生成树协议是否默认开启(命令为display stp brief);其次,开启STP 生成树协议(命令为stp enable 或stp global enable),关闭STP 的命令为undo stp enable 或undo stp global enable;最后,两端交换机都开启STP 生成树协议,主端交换机设置为根交换机(命令为stp root primary),两端交换机配置保护边缘端口(命令为stp bpdu-protection)
2 网络设备数据读取
通过简单的网络管理协议(SNMP)来实现对网络设备数据的读取。SNMP 是专门用于IP 网络管理网络节点(路由器、交换机、服务器、工作站等)的一种标准协议,也是一种应用层协议。SNMP 由网络管理站(NMS)、代理进程(Agent)、被管对象(Management object)和管理信息库(MIB)组成。SNMP 协议有三个版本,即SNMPv1、SNMPv2c、SNMPv3,目前应用最为广泛版本的是SNMPv2c和SNMPv3[2]。
以H3C 交换机为例,配置SNMP 简单网络管理协议过程如下:首先,查看SNMP 配置情况(命令为display current-configuration | i snmp);其次,启动SNMP Agent服务(命令为snmp-agent);再次,配置团体名称。设置读团体名为pubilc(命令为snmpagent community read public),设置写团体名为private(命令为snmp-agent community write private);最后,配置支持所有版本SNMP 协议(命令为snmp-agent sys-info version all)。
3 Zabbix搭建配置
3.1 Zabbix简介
Zabbix 能监控网络设备、服务器等的参数,能实时采集监控数据,统一保存到数据库中,并将采集到的数据和设定阈值进行比较,若发现异常,就触发特定事件,产生相应动作,从而发出告警通知。Zabbix通过C/S 模式来采集监控数据,通过B/S 模式来实现对Web 的管理。Zabbix 由Zabbixserver、Zabbix agent组成,Zabbix server 通过SNMP、Zabbix agent、ping 等来实现对远程网络设备、服务器等的状态监视、数据收集等功能,交换机、路由器通过SNMP 来实现对数据的收集,服务器通过Zabbix agent 来完成对数据的收集[3]。
3.2 Zabbix添加主机
先开启网络设备的SNMP 功能,再登录Zabbix的Web 页面进行配置。管理员通过账户登录Web页面,点击进入配置/主机,单击页面右上角“创建主机”按钮,进入“创建主机”页面。由于主机名称为唯一识别,网络设备群组选择Templates/Network devices,也可自建群组。接口(Interfaces)网络设备选择SNMP,服务器选择客户端,填写设备相应的IP 地址及端口号。网络设备的链接模板选择标准通用模板(Template Net Network Generic Device SNMP),也可根据设备厂家型号自建模板。选择继承及主机宏,更改{$SNMP_COMMUNITY}值为设备设置的团体名称。其余选项选择默认值即可,点击“添加”,完成主机创建,从而实现对设备状态监控、数据收集。
3.3 Zabbix拓扑图编辑
打开进入相应拓扑图后,单击右上角“编辑拓扑图”,则当前拓扑图处于编辑状态,可进行编辑配置。选择地图元素添加,单击“新的组件图标”,跳转至地图元素设置页面,“类型”选择主机,“标签”更改为设备名称,选择相应主机,关闭自动图标选择,手动选择图标,单击应用完成主机的添加。选择两个主机,单击链接添加,即可添加两主机之间的链接,可对拓扑图链路故障进行报警显示。点击进入“管理/一般”,单击界面设置,展开下拉菜单,选择“图片”,即可对网络设备图标及拓扑图背景图片进行添加。锡林郭勒盟气象广域网网络拓扑结构如图1所示。
图1 锡林郭勒盟气象广域网网络拓扑结构
3.4 Zabbix监控配置
3.4.1 NQA 技术实施。采用网络质量分析(NQA)技术对锡林郭勒盟气象局上至区气象局、下至旗县气象局的联通、移动双链路进行监控。NQA通过发送测试报文来对网络性能或服务质量进行分析,可对响应时间、网络抖动、丢包率、文件传输速率等网络信息进行统计。要实现对网络设备NQA数据的采集,必须先确定其对象标识符(OID),再建立模板创建监控项,主机调用模板,即可完成对NQA数据采集。锡林郭勒盟气象局联通路由器增加NQA监控项如图2所示。
NQA 测试以测试组形式进行,每个测试组都具有一系列属性,如测试类型、测试目的地址、测试目的端口、测试发包频率等。以H3C路由器为例,配置NQA 测试组的过程如下[4]:①开启NQA 客户端功能,缺省情况下处于开启状态(命令为nqa agent enable);②创建管理员名为admin、操作标签为test 的NQA 测试组(命令为nqa entry admin test);③配置测试类型为ICMP-echo(命令为type icmp-echo);④配置探测报文的目的地址为192.168.5.11(命令为destination ip 192.168.5.11);⑤配置探测报文的源地址为192.168.5.12(命令为source ip 192.168.5.12);⑥配置探测频率为1 000 ms(命令为frequency 1 000);⑦配置探测超时时间为900 ms(命令为probe timeout 900);⑧配置联动项1,连续探测失败5 次触发联动( 命令为reaction 1 checked-element probe-fail threshold-type consecutive 5 action-type triggeronly);⑨启动探测(命令为nqa schedule admin test start-time now lifetime forever)。
3.4.2 雷达站双链路监控。雷达站交换机移动连接端口为21口、联通连接端口为4口,对端气象局交换机移动连接端口为41 口、联通连接端口为33口,通过模拟移动链路故障、气象局交换机移动端口down、联通链路故障、气象局交换机联通端口down,对雷达站交换机2 个连接端口各项数据进行统计分析寻找规律。
测试结果如下:①正常状态。雷达站交换机4口Bits received 2.3 Mbps、Bits sent 104 Kbps,21 口Bits received 2.57 Mbps、Bits sent 19.96 Mbps;②移动故障。雷达站交换机4 口Bits received 2.57 Mbps、Bits sent 20 Mbps,21 口Bits received 1.02 Kbps、Bits sent 2.32 Mbps;③联通故障。雷达站交换机4 口Bits received 256 bps、Bits sent 2.31 Mbps,21 口Bits received 2.57 Mbps、Bits sent 19.85 Mbps。
总结测试规律,结合生成树协议(雷达站交换机移动连接端口21 口为根端口、联通连接端口4 口为后补端口),设置移动故障触发器问题表达式为“{LeiDaShan_S5110:stp.root.port.last()}<>21”,设置联通故障触发器问题表达式为“{LeiDaShan_S5110:ifHCInOctets.4.last()}<=270”。
4 业务应用成效
4.1 半双工模式告警
正常情况下,端口的通信模式为全双工模式,数据可同时在两个方向进行传输,即可同时进行发送和接收数据。半双工模式下可在两个方向传输数据,但不能同时发送和接收数据,这样会影响数据传输效率。
网络监控平台在运行之初便监测到端口的半双工模式告警,半双工模式告警详情如图3所示。
图3 移动端口半双工模式告警
4.2 雷达站单链路故障告警
雷达站联通链路配置的不同光芯分别承担着气象内网数据传输及普通互联网的任务,虽是同一根光缆,但却出现承担气象内网数据传输的光芯故障,而承担普通互联网数据传输的光芯正常的现象,从而给值班人员造成联通链路正常的假象。这是因为在默认状态下,通过移动链路来传输气象数据,对值班人员来说气象内网和互联网都正常,无法察觉链路出现故障。
2021 年8 月17 日,通过网络监控平台发现雷达站联通链路出现故障,联通运维人员排查后给予答复,并对光缆故障进行维修,此时为联通整个光缆故障。2021 年8 月18 日,查看网络监控平台,发现故障告警仍未解除,联系联通运维人员,给予的答复是17日20时已修复链路,经值班人员确认雷达站已于17 日晚上互联网恢复正常,互联网链路为联通链路,但网络监控平台告警仍未解除。值班人员进一步核实,确认气象内网联通链路通信故障,联通运维人员再次排查,排查结果为联通光缆单芯故障,而非整个光缆故障。此次故障告警避免了因互联网联通链路恢复正常,而误以为气象内网联通链路也恢复正常的情况发生。雷达站联通链路故障告警如图4所示。
图4 雷达站联通链路故障告警
4.3 汛期应急演练实时监控
为做好对全盟汛期气象服务的保障工作,确保汛期内通信网络安全稳定运行,汛期前组织开展全盟气象宽带网应急演练,网络监控平台可对应急演练过程进行实时监控,能保障应急演练过程中的气象通信网络运行正常。演练开始前,通过网络监控平台确认各个链路运行是否正常,如果某个旗县网络链路出现故障,则该旗县不参加应急演练。演练过程中,登录路由器相应端口来执行命令,用以模拟链路故障,通过网络监控平台查看链路故障告警及备份链路启用情况。因为网络监控平台设置网络设备大部分监控项监测间隔为1 min 或3 min,所以能及时对网络故障进行报警。最后,登录路由器相应端口执行命令解除故障,通过网络监控平台查看链路是否恢复正常。全盟气象宽带网应急演练记录如图5所示。
图5 全盟气象宽带网应急演练记录
5 结语
基于Zabbix 的网络监控平台自投入运行以来,可对锡林郭勒盟气象局上至区局、下至旗县局及雷达站的广域网链路进行实时监控,解决了雷达站双链路难监控的问题,实现对链路故障及时告警,提高了发现故障和解除故障的效率。此外,该平台还能采集网络设备的其他参数(如端口通信模式、收发流量等),能及时发现网络设备中存在的问题,提高了气象信息网络运维管理能力,保障了通信网络的高效稳定运行。