周葉
摘要:隨著教育新基建的推進(jìn),學(xué)校網(wǎng)絡(luò)設(shè)施種類越來越多,難以在一個統(tǒng)一的平臺上統(tǒng)一監(jiān)控預(yù)警,給日常管理運(yùn)維帶來極大的困難。利用Telegraf、InfluxDB、Grafana 在麒麟操作系統(tǒng)上構(gòu)建網(wǎng)絡(luò)設(shè)備的智能監(jiān)控預(yù)警系統(tǒng),通過邁普網(wǎng)絡(luò)設(shè)備驗(yàn)證,監(jiān)控平臺實(shí)現(xiàn)了網(wǎng)絡(luò)運(yùn)行狀態(tài)的可視化、故障的實(shí)時預(yù)警,提升了校園網(wǎng)智能化管理水平。
關(guān)鍵詞:Telegraf;InfluxDB;Grafana;麒麟操作系統(tǒng);監(jiān)控預(yù)警
中圖分類號:TP393? ? ? 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2024)07-0098-03
開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID)
0 引言
隨著《國家信息化發(fā)展戰(zhàn)略》的提出,依托信創(chuàng)產(chǎn)業(yè)建設(shè)的新一代網(wǎng)絡(luò)基礎(chǔ)設(shè)施已成為網(wǎng)絡(luò)安全建設(shè)的重要載體。目前,信創(chuàng)類網(wǎng)絡(luò)設(shè)備、操作系統(tǒng)、軟硬件已經(jīng)在政府、教育、工業(yè)生產(chǎn)等多個領(lǐng)域得到應(yīng)用[1]。隨著教育新基建的深入推進(jìn),高校在多個應(yīng)用場景中開始采用信創(chuàng)設(shè)備,學(xué)校網(wǎng)絡(luò)基礎(chǔ)設(shè)施中信創(chuàng)和非信創(chuàng)的各種服務(wù)器、網(wǎng)絡(luò)設(shè)備、信息系統(tǒng)眾多,各設(shè)備需要各自的專用軟件進(jìn)行監(jiān)控。這導(dǎo)致難以在一個統(tǒng)一的平臺上實(shí)現(xiàn)統(tǒng)一監(jiān)控,不能提供便捷的設(shè)備異常預(yù)警,給日常管理運(yùn)維帶來極大的困難。本文以信創(chuàng)邁普交換機(jī)為例,在信創(chuàng)銀河麒麟操作系統(tǒng)上,構(gòu)建信創(chuàng)與非信創(chuàng)統(tǒng)一的網(wǎng)絡(luò)設(shè)備的智能監(jiān)控預(yù)警,實(shí)現(xiàn)網(wǎng)絡(luò)運(yùn)行狀態(tài)的實(shí)時監(jiān)控預(yù)警,提升信創(chuàng)網(wǎng)絡(luò)設(shè)備的自動化管理水平。
1 系統(tǒng)架構(gòu)
網(wǎng)絡(luò)設(shè)備的智能監(jiān)控預(yù)警系統(tǒng)主要是解決如何快速發(fā)現(xiàn)問題、解決問題、預(yù)防問題,來保障網(wǎng)絡(luò)基礎(chǔ)設(shè)施運(yùn)行穩(wěn)定[2]。監(jiān)控系統(tǒng)主要由數(shù)據(jù)采集器、數(shù)據(jù)存儲、數(shù)據(jù)可視化及預(yù)警組件組成[3]。數(shù)據(jù)采集組件負(fù)責(zé)從網(wǎng)絡(luò)設(shè)備中收集各種指標(biāo)數(shù)據(jù),包括設(shè)備的狀態(tài)、性能參數(shù)以及其他相關(guān)信息。采集模式主要分為Agent和非Agent模式。Agent采集模式主要是通過各種腳本采集、主機(jī)日志采集、插件采集、APM探針等,非Agent采集主要有SNMP、IPMI、SSH、ICMP等通信協(xié)議采集。采集的頻率一般根據(jù)業(yè)務(wù)場景實(shí)際需要分為分鐘級、秒級等。數(shù)據(jù)存儲組件主要用于存儲采集到的指標(biāo)數(shù)據(jù),為開展進(jìn)一步分析應(yīng)用奠定基礎(chǔ)。對于監(jiān)控?cái)?shù)據(jù)存儲主要有關(guān)系數(shù)據(jù)庫、時序數(shù)據(jù)、全文檢索數(shù)據(jù)庫,關(guān)系數(shù)據(jù)庫在傳統(tǒng)監(jiān)控?cái)?shù)據(jù)庫中使用居多,因數(shù)據(jù)庫有性能瓶頸,逐漸被淘汰,時序數(shù)據(jù)庫非常適合監(jiān)控業(yè)務(wù)場景應(yīng)用,目前主流的監(jiān)控系統(tǒng)均采用時序數(shù)據(jù)庫,全文檢索數(shù)據(jù)庫主要應(yīng)用于日志型存儲和搜索。數(shù)據(jù)可視化及預(yù)警組件主要負(fù)責(zé)將監(jiān)控?cái)?shù)據(jù)進(jìn)行計(jì)算加工,以人類友好的可視化方式呈現(xiàn)出來??梢詾椴煌挠脩舫尸F(xiàn)所需要的監(jiān)控大屏,根據(jù)業(yè)務(wù)場景需要,通過主流的微信、釘釘、郵件等方式實(shí)現(xiàn)預(yù)警通知,幫助運(yùn)維人員快速掌握系統(tǒng)運(yùn)行狀態(tài)。網(wǎng)絡(luò)設(shè)備的智能監(jiān)控預(yù)警系統(tǒng)架構(gòu)如圖1所示。
目前主流的監(jiān)控系統(tǒng)主要有Zabbix、TICK Stack、Nightingale(夜鶯)、Open-falcon和Nagios等技術(shù)棧。TICK Stack提供了一個完整的端到端的時間序列數(shù)據(jù)監(jiān)控解決方案,針對網(wǎng)絡(luò)設(shè)備監(jiān)控的時序數(shù)據(jù)業(yè)務(wù)場景進(jìn)行了優(yōu)化,尤其在處理高頻率的監(jiān)控?cái)?shù)據(jù)時性能優(yōu)越[4-6]。本文采用TICK Stack結(jié)合業(yè)界廣泛使用的Grafana儀表盤和數(shù)據(jù)分析工具,使用Telegraf、InfluxDB、Grafana在銀河麒麟信創(chuàng)操作系統(tǒng)上構(gòu)建網(wǎng)絡(luò)設(shè)備的智能監(jiān)控預(yù)警系統(tǒng),提升校園網(wǎng)智能化管理水平。
2 關(guān)鍵技術(shù)研究
2.1 Telegraf數(shù)據(jù)采集器
Telegraf是一個基于服務(wù)器代理的數(shù)據(jù)采集器,使用Go編寫,沒有外部依賴項(xiàng),運(yùn)行只需要非常小的資源,非常適合在信創(chuàng)平臺大規(guī)模部署應(yīng)用[5]。Telegraf擁有大量的內(nèi)置輸入插件,可以采集系統(tǒng)指標(biāo)(CPU、內(nèi)存、磁盤I/O等)、網(wǎng)絡(luò)設(shè)備、應(yīng)用程序日志等監(jiān)控指標(biāo),通過不同的輸出插件可以將數(shù)據(jù)發(fā)送到不同的數(shù)據(jù)后端存儲,可以實(shí)現(xiàn)網(wǎng)絡(luò)設(shè)備監(jiān)控指標(biāo)數(shù)據(jù)的采集。
2.2 InfluxDB數(shù)據(jù)存儲
InfluxDB是一個專為時序數(shù)據(jù)設(shè)計(jì)的開源分布式數(shù)據(jù)庫,特別適合存儲網(wǎng)絡(luò)監(jiān)控、應(yīng)用性能監(jiān)控、物聯(lián)網(wǎng)(IoT) 設(shè)備產(chǎn)生的大量時間序列數(shù)據(jù),數(shù)據(jù)庫具有高寫入吞吐量和低延遲特性,提供豐富的查詢功能,易于理解和使用,可以實(shí)現(xiàn)網(wǎng)絡(luò)設(shè)備監(jiān)控指標(biāo)數(shù)據(jù)的存儲和查詢功能[7]。
2.3 Grafana數(shù)據(jù)可視化及預(yù)警
Grafana是目前廣泛使用的儀表盤和數(shù)據(jù)分析工具,提供強(qiáng)大的儀表板和圖表創(chuàng)建工具,支持豐富的圖形類型和自定義樣式。內(nèi)置了預(yù)警規(guī)則和通知機(jī)制,廣泛應(yīng)用于監(jiān)控、日志分析以及應(yīng)用程序性能管理(APM) 領(lǐng)域[8]。支持從多種數(shù)據(jù)源獲取數(shù)據(jù),并以豐富的圖表形式展示在儀表板上,提供直觀且高度可定制化的數(shù)據(jù)分析體驗(yàn),可以為網(wǎng)絡(luò)設(shè)備的智能監(jiān)控提供多個維度的可視化和預(yù)警功能。
2.4 SNMP協(xié)議
SNMP(簡單網(wǎng)絡(luò)管理協(xié)議)提供了一種標(biāo)準(zhǔn)化的方式來監(jiān)測和管理網(wǎng)絡(luò)中的各種設(shè)備和服務(wù)。MIB(Management Information Base)是一個結(jié)構(gòu)化的數(shù)據(jù)庫,每個MIB對象都有一個唯一的OID(Object Identifier) ,定義了可以被SNMP管理的所有可能的對象和變量,這些對象對應(yīng)網(wǎng)絡(luò)設(shè)備的各種配置、狀態(tài)和性能參數(shù)[9-10]。監(jiān)控設(shè)備采集器通過SNMP的操作方法和OID,可以獲得信創(chuàng)設(shè)備需要監(jiān)控的數(shù)據(jù),為監(jiān)控預(yù)警提供數(shù)據(jù)源。
3 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
3.1 Telegraf數(shù)據(jù)采集器組件
網(wǎng)絡(luò)設(shè)備需要監(jiān)控的數(shù)據(jù)主要是設(shè)備運(yùn)行時間、端口狀態(tài)、端口流量等指標(biāo)數(shù)據(jù),通過部署Telegraf數(shù)據(jù)采集組件,使用SNMP的input插件完成數(shù)據(jù)采集,使用計(jì)算和聚合等插件對數(shù)據(jù)進(jìn)行加工處理,使用output插件完成數(shù)據(jù)存儲到InfluxDB數(shù)據(jù)庫。
安裝部署過程如下:1) 在命令終端使用wget下載 Telegraf 安裝包,命令如下:https://dl.influxdata.com/telegraf/releases/telegraf-1.29.1-1.x86_64.rpm ;2) 在命令終端執(zhí)行安裝命令: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等關(guān)鍵參數(shù);4) 修改/etc/telegraf/telegraf.conf? 配置文件outputs.influxdb 插件下urls、database、username、password、timeout等關(guān)鍵參數(shù);5) 啟動采集組件,在終端執(zhí)行命令:systemctl start telegraf;6) 使用終端執(zhí)行命令:telegraf? --config /etc/telegraf/telegraf.conf --test -input-filter snmp,測試采集組件工作狀態(tài)。
3.2 InfluxDB數(shù)據(jù)存儲組件
InfluxDB主要用于存儲Telegraf采集的網(wǎng)絡(luò)設(shè)備數(shù)據(jù),同時提供給Grafana數(shù)據(jù)可視化及預(yù)警組件查詢監(jiān)控指標(biāo)數(shù)據(jù)使用。它是時序數(shù)據(jù)庫,為每條采集到的數(shù)據(jù)添加特定的時間標(biāo)簽。
安裝部署過程如下:1) 在命令終端使用wget下載 InfluxDB 安裝包,命令如下:wget https://dl.influxdata.com/influxdb/releases/influxdb-1.8.7.x86_64.rpm;2) 在命令終端執(zhí)行安裝命令:yum localinstall influxdb-1.8.7.x86_64.rpm;3) 啟動數(shù)據(jù)存儲組件,在終端執(zhí)行命令:systemctl start influxdb;4) 創(chuàng)建Telegraf采集組件outputs.influxdb的數(shù)據(jù)庫,在命令終端執(zhí)行influx命令登錄數(shù)據(jù)庫,執(zhí)行create database telegraf完成數(shù)據(jù)創(chuàng)建,通過create user "telegraf" with password '123456' with all privileges命令完成用戶創(chuàng)建和授權(quán)。
3.3 Grafana數(shù)據(jù)可視化及預(yù)警組件
Grafana主要實(shí)現(xiàn)網(wǎng)絡(luò)設(shè)備監(jiān)控指標(biāo)數(shù)據(jù)的可視化,通過儀表板和圖表創(chuàng)建,直觀呈現(xiàn)出設(shè)備運(yùn)行狀態(tài)。通過預(yù)警組件,及時將預(yù)警事件,推送給相關(guān)管理人員,及時解決相關(guān)問題。
安裝部署過程如下:1) 在命令終端使用wget下載 Grafana 安裝包,命令如下:wget https://dl.grafana.com/oss/release/grafana-10.2.3-1.x86_64.rpm;2) 在命令終端執(zhí)行安裝命令:yum localinstall grafana-10.2.3-1.x86_64.rpm;3) 啟動Grafana 組件,在終端執(zhí)行命令:systemctl start grafana;4) Grafana 默認(rèn)使用3000端口,首次登錄修改密碼;5) 在Grafana數(shù)據(jù)源添加InfluxDB數(shù)據(jù)源。
3.4 SNMP管理測試工具
SNMP管理測試工具主要用于探測目標(biāo)設(shè)備 SNMP 的可用性,常用的有基于命令行的snmpwalk 和基于圖形界面的MIB Browser[11],本文使用snmpwalk進(jìn)行測試。
安裝部署過程如下:1) 在命令終端使用: yum -y install net-snmp-utils;2) 測試命令格式為:snmpwalk -v 版本 -c 團(tuán)體字 IP OID。
4 功能測試
4.1 設(shè)備實(shí)時監(jiān)控配置
以邁普NSS4330交換機(jī)為例,使用網(wǎng)絡(luò)設(shè)備的智能監(jiān)控預(yù)警系統(tǒng),實(shí)時監(jiān)測設(shè)備的內(nèi)存、端口狀態(tài)、端口流量等運(yùn)行狀態(tài)。步驟如下:1) 測試查詢設(shè)備運(yùn)行時間和內(nèi)存為例,使用節(jié)點(diǎn)名稱獲取運(yùn)行時間:snmpwalk -v 2c -c read 172.16.0.30 "RFC1213-MIB::sysUpTime.0",使用節(jié)點(diǎn)值獲取內(nèi)存剩余大小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 插件,添加采集項(xiàng);3) 在Grafana新建面板和配置監(jiān)控預(yù)警。
4.2 設(shè)備實(shí)時監(jiān)控
通過本文介紹的網(wǎng)絡(luò)設(shè)備智能監(jiān)控預(yù)警系統(tǒng),實(shí)現(xiàn)了對邁普等網(wǎng)絡(luò)設(shè)施的運(yùn)行時長、端口流量、端口狀態(tài)、端口速率等關(guān)鍵設(shè)備指標(biāo)的監(jiān)控和預(yù)警。邁普交換機(jī)監(jiān)控儀表板的運(yùn)行圖如圖2所示。
5 結(jié)束語
本文通過在信創(chuàng)麒麟操作系統(tǒng)上,使用Telegraf、InfluxDB、Grafana 等組件,研究網(wǎng)絡(luò)設(shè)備的智能監(jiān)控預(yù)警系統(tǒng),實(shí)現(xiàn)了網(wǎng)絡(luò)設(shè)備的實(shí)時監(jiān)控、故障預(yù)警和智能分析,提升網(wǎng)絡(luò)運(yùn)行的穩(wěn)定性和可靠性。通過邁普網(wǎng)絡(luò)交換機(jī)的實(shí)際應(yīng)用,驗(yàn)證了基于信創(chuàng)網(wǎng)絡(luò)設(shè)備的智能監(jiān)控預(yù)警系統(tǒng)的可用性,為下一步統(tǒng)一管理校園網(wǎng)絡(luò)基礎(chǔ)設(shè)施奠定基礎(chǔ),為基于信創(chuàng)解決方案的大型網(wǎng)絡(luò)建設(shè)提供參考經(jīng)驗(yàn)。目前在系統(tǒng)智能化預(yù)警維度和方式尚有不足,下一步將完善系統(tǒng)功能,重點(diǎn)提升系統(tǒng)的智能化水平,拓展應(yīng)用場景。
參考文獻(xiàn):
[1] 倪光南.堅(jiān)持信創(chuàng)科技自立自強(qiáng)建設(shè)網(wǎng)絡(luò)強(qiáng)國和數(shù)字中國[J].信息安全研究,2021,7(1):2-3.
[2] 李剛.網(wǎng)絡(luò)運(yùn)維系統(tǒng)在高校中的運(yùn)用[J].電子測試,2022,36(14):117-119.
[3] 李欣怡.大數(shù)據(jù)技術(shù)在智能電網(wǎng)中的應(yīng)用策略分析[J].數(shù)字通信世界,2023(2):115-117.
[4] 胡安東.基于Opc+influxDb+grafana的數(shù)據(jù)可視化設(shè)備運(yùn)維平臺在鋼鐵企業(yè)的開發(fā)應(yīng)用[J].冶金設(shè)備,2022(S2):71-73.
[5] 王博遠(yuǎn),梁子陽,劉雪萌,等.基于Telegraf+InfluxDB+Grafana搭建長輸供熱系統(tǒng)的監(jiān)控平臺研究[J].中國設(shè)備工程,2021(22):177-178.
[6] 趙鑫,侯闊,王昊,等.一個基于SNMP和Zabbix的企業(yè)網(wǎng)絡(luò)監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識與技術(shù),2023,19(1):91-94.
[7] 張世賢,張少春,謝曉東.基于InfluxDB的監(jiān)控設(shè)備通用運(yùn)維管理平臺[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2021,30(12):123-127.
[8] 郭彬,楊晨,劉慶濤,等.基于InfluxDB與Grafana的物聯(lián)網(wǎng)監(jiān)測系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2022,45(18):41-46.
[9] 夏勇,周楨,胡林,等.SNMP在UPS狀態(tài)監(jiān)測中的應(yīng)用[J].廣播電視信息,2023,30(9):98-100.
[10] 鐘磊,鄧鑫,馬強(qiáng),等.基于SNMP的氣象網(wǎng)絡(luò)監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].氣象與環(huán)境科學(xué),2023,46(2):101-105.
[11] 王頎,劉豐,張彬,等.SNMP與NetStream流量監(jiān)控方法的對比分析[J].海洋信息,2021,36(3):18-25.
【通聯(lián)編輯:謝媛媛】