网络设备的智能监控预警系统研究

2024-05-19 04:10周叶
电脑知识与技术 2024年7期

周叶

摘要:随着教育新基建的推进,学校网络设施种类越来越多,难以在一个统一的平台上统一监控预警,给日常管理运维带来极大的困难。利用Telegraf、InfluxDB、Grafana 在麒麟操作系统上构建网络设备的智能监控预警系统,通过迈普网络设备验证,监控平台实现了网络运行状态的可视化、故障的实时预警,提升了校园网智能化管理水平。

关键词:Telegraf;InfluxDB;Grafana;麒麟操作系统;监控预警

中图分类号:TP393      文献标识码:A

文章编号:1009-3044(2024)07-0098-03

开放科学(资源服务)标识码(OSID)

0 引言

随着《国家信息化发展战略》的提出,依托信创产业建设的新一代网络基础设施已成为网络安全建设的重要载体。目前,信创类网络设备、操作系统、软硬件已经在政府、教育、工业生产等多个领域得到应用[1]。随着教育新基建的深入推进,高校在多个应用场景中开始采用信创设备,学校网络基础设施中信创和非信创的各种服务器、网络设备、信息系统众多,各设备需要各自的专用软件进行监控。这导致难以在一个统一的平台上实现统一监控,不能提供便捷的设备异常预警,给日常管理运维带来极大的困难。本文以信创迈普交换机为例,在信创银河麒麟操作系统上,构建信创与非信创统一的网络设备的智能监控预警,实现网络运行状态的实时监控预警,提升信创网络设备的自动化管理水平。

1 系统架构

网络设备的智能监控预警系统主要是解决如何快速发现问题、解决问题、预防问题,来保障网络基础设施运行稳定[2]。监控系统主要由数据采集器、数據存储、数据可视化及预警组件组成[3]。数据采集组件负责从网络设备中收集各种指标数据,包括设备的状态、性能参数以及其他相关信息。采集模式主要分为Agent和非Agent模式。Agent采集模式主要是通过各种脚本采集、主机日志采集、插件采集、APM探针等,非Agent采集主要有SNMP、IPMI、SSH、ICMP等通信协议采集。采集的频率一般根据业务场景实际需要分为分钟级、秒级等。数据存储组件主要用于存储采集到的指标数据,为开展进一步分析应用奠定基础。对于监控数据存储主要有关系数据库、时序数据、全文检索数据库,关系数据库在传统监控数据库中使用居多,因数据库有性能瓶颈,逐渐被淘汰,时序数据库非常适合监控业务场景应用,目前主流的监控系统均采用时序数据库,全文检索数据库主要应用于日志型存储和搜索。数据可视化及预警组件主要负责将监控数据进行计算加工,以人类友好的可视化方式呈现出来。可以为不同的用户呈现所需要的监控大屏,根据业务场景需要,通过主流的微信、钉钉、邮件等方式实现预警通知,帮助运维人员快速掌握系统运行状态。网络设备的智能监控预警系统架构如图1所示。

目前主流的监控系统主要有Zabbix、TICK Stack、Nightingale(夜莺)、Open-falcon和Nagios等技术栈。TICK Stack提供了一个完整的端到端的时间序列数据监控解决方案,针对网络设备监控的时序数据业务场景进行了优化,尤其在处理高频率的监控数据时性能优越[4-6]。本文采用TICK Stack结合业界广泛使用的Grafana仪表盘和数据分析工具,使用Telegraf、InfluxDB、Grafana在银河麒麟信创操作系统上构建网络设备的智能监控预警系统,提升校园网智能化管理水平。

2 关键技术研究

2.1 Telegraf数据采集器

Telegraf是一个基于服务器代理的数据采集器,使用Go编写,没有外部依赖项,运行只需要非常小的资源,非常适合在信创平台大规模部署应用[5]。Telegraf拥有大量的内置输入插件,可以采集系统指标(CPU、内存、磁盘I/O等)、网络设备、应用程序日志等监控指标,通过不同的输出插件可以将数据发送到不同的数据后端存储,可以实现网络设备监控指标数据的采集。

2.2 InfluxDB数据存储

InfluxDB是一个专为时序数据设计的开源分布式数据库,特别适合存储网络监控、应用性能监控、物联网(IoT) 设备产生的大量时间序列数据,数据库具有高写入吞吐量和低延迟特性,提供丰富的查询功能,易于理解和使用,可以实现网络设备监控指标数据的存储和查询功能[7]。

2.3 Grafana数据可视化及预警

Grafana是目前广泛使用的仪表盘和数据分析工具,提供强大的仪表板和图表创建工具,支持丰富的图形类型和自定义样式。内置了预警规则和通知机制,广泛应用于监控、日志分析以及应用程序性能管理(APM) 领域[8]。支持从多种数据源获取数据,并以丰富的图表形式展示在仪表板上,提供直观且高度可定制化的数据分析体验,可以为网络设备的智能监控提供多个维度的可视化和预警功能。

2.4 SNMP协议

SNMP(简单网络管理协议)提供了一种标准化的方式来监测和管理网络中的各种设备和服务。MIB(Management Information Base)是一个结构化的数据库,每个MIB对象都有一个唯一的OID(Object Identifier) ,定义了可以被SNMP管理的所有可能的对象和变量,这些对象对应网络设备的各种配置、状态和性能参数[9-10]。监控设备采集器通过SNMP的操作方法和OID,可以获得信创设备需要监控的数据,为监控预警提供数据源。

3 系统设计与实现

3.1 Telegraf数据采集器组件

网络设备需要监控的数据主要是设备运行时间、端口状态、端口流量等指标数据,通过部署Telegraf数据采集组件,使用SNMP的input插件完成数据采集,使用计算和聚合等插件对数据进行加工处理,使用output插件完成数据存储到InfluxDB数据库。

安装部署过程如下:1) 在命令终端使用wget下载 Telegraf 安装包,命令如下:https://dl.influxdata.com/telegraf/releases/telegraf-1.29.1-1.x86_64.rpm ;2) 在命令终端执行安装命令:yum localinstall  telegraf-1.29.1-1.x86_64.rpm;3) 修改/etc/telegraf/telegraf.conf 配置文件inputs.snmp 插件下agents、communnity、inputs.snmp.field、inputs.snmp.table等关键参数;4) 修改/etc/telegraf/telegraf.conf  配置文件outputs.influxdb 插件下urls、database、username、password、timeout等关键参数;5) 启动采集组件,在终端执行命令:systemctl start telegraf;6) 使用终端执行命令:telegraf  --config /etc/telegraf/telegraf.conf --test -input-filter snmp,测试采集组件工作状态。

3.2 InfluxDB数据存储组件

InfluxDB主要用于存储Telegraf采集的网络设备数据,同时提供给Grafana数据可视化及预警组件查询监控指标数据使用。它是时序数据库,为每条采集到的数据添加特定的时间标签。

安装部署过程如下:1) 在命令终端使用wget下载 InfluxDB 安装包,命令如下:wget https://dl.influxdata.com/influxdb/releases/influxdb-1.8.7.x86_64.rpm;2) 在命令终端执行安装命令:yum localinstall influxdb-1.8.7.x86_64.rpm;3) 启动数据存储组件,在终端执行命令:systemctl start influxdb;4) 创建Telegraf采集组件outputs.influxdb的数据库,在命令终端执行influx命令登录数据库,执行create database telegraf完成数据创建,通过create user "telegraf" with password '123456' with all privileges命令完成用户创建和授权。

3.3 Grafana数据可视化及预警组件

Grafana主要实现网络设备监控指标数据的可视化,通过仪表板和图表创建,直观呈现出设备运行状态。通过预警组件,及时将预警事件,推送给相关管理人员,及时解决相关问题。

安装部署过程如下:1) 在命令终端使用wget下载 Grafana 安装包,命令如下:wget https://dl.grafana.com/oss/release/grafana-10.2.3-1.x86_64.rpm;2) 在命令终端执行安装命令:yum localinstall grafana-10.2.3-1.x86_64.rpm;3) 启动Grafana 组件,在终端执行命令:systemctl start grafana;4) Grafana 默认使用3000端口,首次登录修改密码;5) 在Grafana数据源添加InfluxDB数据源。

3.4 SNMP管理测试工具

SNMP管理测试工具主要用于探测目标设备 SNMP 的可用性,常用的有基于命令行的snmpwalk 和基于图形界面的MIB Browser[11],本文使用snmpwalk进行测试。

安装部署过程如下:1) 在命令终端使用: yum -y install net-snmp-utils;2) 测试命令格式为:snmpwalk -v 版本 -c 团体字 IP OID。

4 功能测试

4.1 设备实时监控配置

以迈普NSS4330交换机为例,使用网络设备的智能监控预警系统,实时监测设备的内存、端口状态、端口流量等运行状态。步骤如下:1) 测试查询设备运行时间和内存为例,使用节点名称获取运行时间:snmpwalk -v 2c -c read 172.16.0.30 "RFC1213-MIB::sysUpTime.0",使用节点值获取内存剩余大小snmpwalk -v 2c -c read 172.16.0.30 "1.3.6.1.4.1.5651.3.20.1.1.1.1";2) 修改/etc/telegraf/telegraf.conf 配置文件inputs.snmp 插件,添加采集项;3) 在Grafana新建面板和配置监控预警。

4.2 设备实时监控

通过本文介绍的网络设备智能监控预警系统,实现了对迈普等网络设施的运行时长、端口流量、端口状态、端口速率等关键设备指标的监控和预警。迈普交换机监控仪表板的运行图如图2所示。

5 结束语

本文通过在信创麒麟操作系统上,使用Telegraf、InfluxDB、Grafana 等组件,研究网络设备的智能监控预警系统,实现了网络设备的实时监控、故障预警和智能分析,提升网络运行的稳定性和可靠性。通过迈普网络交换机的实际应用,验证了基于信创网络设备的智能监控预警系统的可用性,为下一步统一管理校园网络基础设施奠定基础,为基于信创解决方案的大型网络建设提供参考经验。目前在系统智能化预警维度和方式尚有不足,下一步将完善系统功能,重点提升系统的智能化水平,拓展应用场景。

参考文献:

[1] 倪光南.坚持信创科技自立自强建设网络强国和数字中国[J].信息安全研究,2021,7(1):2-3.

[2] 李刚.网络运维系统在高校中的运用[J].电子测试,2022,36(14):117-119.

[3] 李欣怡.大数据技术在智能电网中的应用策略分析[J].数字通信世界,2023(2):115-117.

[4] 胡安东.基于Opc+influxDb+grafana的数据可视化设备运维平台在钢铁企业的开发应用[J].冶金设备,2022(S2):71-73.

[5] 王博远,梁子阳,刘雪萌,等.基于Telegraf+InfluxDB+Grafana搭建长输供热系统的监控平台研究[J].中国设备工程,2021(22):177-178.

[6] 趙鑫,侯阔,王昊,等.一个基于SNMP和Zabbix的企业网络监控系统的设计与实现[J].电脑知识与技术,2023,19(1):91-94.

[7] 张世贤,张少春,谢晓东.基于InfluxDB的监控设备通用运维管理平台[J].计算机系统应用,2021,30(12):123-127.

[8] 郭彬,杨晨,刘庆涛,等.基于InfluxDB与Grafana的物联网监测系统设计[J].现代电子技术,2022,45(18):41-46.

[9] 夏勇,周桢,胡林,等.SNMP在UPS状态监测中的应用[J].广播电视信息,2023,30(9):98-100.

[10] 钟磊,邓鑫,马强,等.基于SNMP的气象网络监控系统设计与实现[J].气象与环境科学,2023,46(2):101-105.

[11] 王颀,刘丰,张彬,等.SNMP与NetStream流量监控方法的对比分析[J].海洋信息,2021,36(3):18-25.

【通联编辑:谢媛媛】