中圖分類號:TP393.07 文獻標志碼:ADOI: 10.12475/aie.20250308
本文引用格式:,,.融合 Zabbix 和 SNMPv3的網絡流量監控方法[J].自動化與信息工程,2025,46(3):52-57.TAN Zhiyong, LIN Yanhua, GU Jiaming. Zabbix-SNMPv3 integrated network traffic monitoring approach[J].Automation amp; Information Engineering,2025,46(3):52-57.
文章編號:1674-2605(2025)03-0008-06開放獲取
Zabbix-SNMPv3 Integrated Network Traffic Monitoring Approach
TAN Zhiyong LIN Yanhua GU Jiaming (Department of Information Technology, Wuhan Vocational College of Software and Engineering (Wuhan Open University), Wuhan 430033, China)
Abstract: The rapid evolution of networks has triggered exponential growth in trafic volumes, making traffic monitoring particularlycrucial fornetworkmanagement.Toaddressthelimitationsofnative trafic monitorigfeatures innetwork equipment suchascompatibilityconstraintsandscalabilitydeficiencies-along withthedrawbacksof third-partymonitoringsystems (including cumbersome maintenanceandmanagement,elevatedsecurityisks,andsuboptimal applicability),this paper proposesaZabixSNMPv3 integrated network traffc monitoringapproach.The method deploys open-source Zabbix monitoring software onLinux systems,collectsticdatafromciticalintefcesofetwokdevicesviathprotool,persiststedataiatabasend finall visualizes preprocessedtraficmetrics troughgraphical representationsonawebinterface.Exprimentalresults demostrate thatthismethodologydeliversintutiveisualationofetworktrafcdata,sgnificantlyfacilitatingmoitoringoerationsfortwork administrators.
Keywords: network management; traffic monitoring; Zabbix; SNMPv3
0 引言
網絡管理是計算機網絡三大經典問題(路由、流量控制和網絡管理)之一[1]。近年來,隨著網絡技術的飛速發展,各種新型網絡應用層出不窮,網絡的規模不斷擴大,結構日趨復雜,流量快速增長,這些都對網絡管理提出了更高的要求。網絡流量監控作為網絡管理的基礎,不僅能呈現當前的網絡狀態,還能用于網絡性能優化,滿足行為監控、流量工程、異常檢測、故障分析等方面的需求[2-3]。因此,網絡流量監控方法一直是網絡研究領域的熱點問題[4]。
針對網絡流量監控的現實需求,大多數網絡設備的主流制造商都提供了配套軟件。但這些軟件通常為商用版,部署需要額外的成本;且兼容性和擴展性較差,往往僅能監控對應廠商的設備,無法兼容其他廠商的設備[5];用戶無法在現有軟件的基礎上通過二次開發來滿足自身業務場景需求。此外,在網絡設備種類繁多的環境中,如數據中心,通過多個不同的軟件來監控網絡會增加網絡管理的復雜性。
近年來,相關學者針對網絡流量監控做了很多探索與實踐。文獻[6]利用開源流量監測工具——多路由器流量圖示器(multirouter traffic grapher,MRTG)來部署網絡流量監控系統,實現對核心網絡設備上下行流量的監控;但該系統監控多臺設備時,需要運行多個命令行窗口,且可視化頁面不在同一Web頁面展示,管理維護較為繁瑣。文獻[7]在WindowsServer2003環境部署了圖形化網絡監測工具Cacti,結合圖形插件模塊來監控網絡設備端口流量;但因其部署使用的操作系統版本較低,在實際應用中可能存在兼容性問題或安全性風險。文獻[8-9]基于Netflow技術監測分析網絡流量,但支持的網絡設備廠商以Cisco、Juniper為主,應用普適性欠佳。
Zabbix作為企業級的分布式開源監控解決方案[10],相較于Cacti、Nagios等開源監控系統,具有更強的告警方式、詳細的審計系統、靈活的用戶權限管理、完備的支持文檔和相對較低的學習成本等特點[11-12],在實際應用環境中能滿足網絡管理與流量監控的需求[13-15]。簡單網絡管理協議(simple network manage-mentprotocol,SNMP)、公共管理信息服務/公共管理信息協議(common management information service/common management information protocol, CMIS/CMIP)是兩種網絡管理標準。其中,CMIS/CMIP制定的服務標準較全面,但因其實現難度較大,目前支持CMIS/CMIP的產品較少[16];SNMP提供了一系列標準,可訪問任何生產廠商的任何網絡設備,具有應用簡單、容易實現和易于部署等特點,應用廣泛[17],并不斷演變產生多個版本,其中v2c和v3版為應用主流,且v3版的安全性更高。
本文提出一種融合Zabbix和SNMPv3的網絡流量監控方法。該方法在Linux系統部署開源網絡監控軟件Zabbix,通過SNMPv3協議采集網絡設備關鍵端口的流量數據,將流量數據預處理后以圖形化方式在Web端展示,具有易于實現,普適性較強的特點。
1關鍵技術分析
1.1 Zabbix
Zabbix作為一款高度集成的網絡監控軟件,提供了網絡發現、數據采集、數據存儲、通知告警、可視化圖形等功能,可以監控眾多網絡參數以及服務器的健康度和完整性。Zabbix所有的邏輯運算都在服務器端執行,對被監控對象的性能影響很小[18]。Zabbix監控系統主要包括ZabbixServer、ZabbixWeb、Database、ZabbixProxy、ZabbixAgent等組件,其結構如圖1所示。

ZabbixServer作為監控系統的核心組件,負責將采集的監控數據存儲到Database中,并支持MySQL、Oracle等主流數據庫。為滿足用戶使用瀏覽器訪問、配置、管理系統的需求,Zabbix監控系統提供了基于PHP的Web功能。ZabbixWeb和ZabbixServer通常部署在同一臺服務器上。ZabbixServeramp;ZabbixWeb和Database是Zabbix監控系統的必選組件。
ZabbixProxy可協助ZabbixServer采集監控數據降低了ZabbixServer的負載,是Zabbix監控系統的可選組件。ZabbixAgent部署在被監控對象上,負責監控服務器的本地資源和應用程序,并將采集的監控數據發送給ZabbixServer,是Zabbix監控系統的可選組件。
1.2 SNMPv3
SNMPv3主要包括網絡管理系統(networkmanagement system,NMS)、被管代理進程(agent)和管理信息庫(management informationbase,MIB)等部分,其模型如圖2所示。

Agent、MIB安裝在被管理設備上,如交換機等。其中,Agent負責響應來自NMS的信息查詢請求(Get)或修改請求(Set);MIB是一個數據庫,定義了被管理設備上的一系列被管理對象,如CPU利用率、端口狀態等。每個被管理對象均通過對象標識符唯一標識,并以樹型結構存儲[20]。Agent通過對MIB的操作來完成NMS的請求。
SNMPv3在兼容之前版本的基礎上增加了安全特性,其中基于用戶的安全模型(user-based securitymodel,USM)在SNMPv3的安全運行中發揮了關鍵作用。在具體應用中,需要為SNMPv3用戶分別配置認證密碼和加密密碼。以Get操作為例,Agent收到NMS發來的Get請求后,先對其進行身份認證;認證通過后,再對其數據單元進行解密;解密成功后,在MIB中查詢相應的節點,并將查詢得到的值封裝到Response報文中,加密后發送。
2 方法設計
2.1 設計目標
核心層是網絡的樞紐中心,其設備承擔著網絡流量的轉發任務。因此,對核心層設備的網絡流量進行監控尤為重要。核心層設備網絡流量的監控主要集中在上聯端口,包括出(out)、入(in)方向的流量數據。通過采集這兩個方向的流量數據,并以圖形化的方式直觀展示流量的實時數據和歷史數據,不僅便于發現網絡運行過程中的潛在問題,還能為網絡出口帶寬擴容提供依據。
2.2 整體架構
融合Zabbix和SNMPv3的網絡流量監控方法整體架構由監控服務端、被監控端和用戶端3部分組成,如圖3所示。

監控服務端主要由ZabbixServeramp;ZabbixWeb和Database組成,負責采集、存儲、展示流量數據;被監控端為核心層網絡設備,如核心交換機等,由于網絡設備無法安裝ZabbixAgent,因此監控服務端與被監控端采用安全性較高的SNMPv3協議進行交互,即監控服務端向被監控端發送Get請求來查詢端口流量數據,被監控端查詢MB后,將結果響應給監控服務端;用戶端通過監控服務端的前端頁面進行配置管理,并查看監控服務端展示的流量數據。
3 技術實現
3.1 監控服務端
監控服務端采用LAMP(Linux+Apache+My-SQL+PHP )環境。其中,ZabbixServeramp;ZabbixWeb部署在同一臺服務器上,Database部署在另一臺服務器上。相關軟件版本、操作系統、IP地址、主機名等信息如表1所示。

1)系統環境準備。根據表1的信息,分別在兩臺服務器上安裝CentOS7.6操作系統、配置IP地址、修改主機名;服務器可以是實體機,也可以是虛擬機,如VMware等。
2)在 zabbix-server服務器上安裝Zabbix ServerWeb5.0,安裝前關閉系統防火墻與selinux。首先,安裝zabbix包管理器即YUM源并將源中的鏡像站點地址替換為阿里云鏡像;然后,安裝ZabbixServer,即 zabbix-server-mysql。
3)在zabbix-server 服務器上安裝Zabbix Web5.0。首先,卸載系統自帶的低版本PHP并安裝高版本的PHP7.2;然后,激活Zabbix前端源并使用yum命令安裝Zabbix 前端包,即 zabbix-web-mysql-scl 和zabbix-apache-conf-scl。
4)在zabbix-mysql服務器上安裝MySQL5.7數據庫。由于CentOS7.6自帶MariaDB數據庫,為避免沖突,先卸載MariaDB數據庫,再安裝MySQL5.7數據庫。安裝完成后,啟動數據庫的mysqld服務,并執行mysql_secure_installation運行安全配置向導。
5)在MySQL數據庫中創建數據庫Zabbix,并創建該數據庫的管理用戶(zabbix)及密碼(pwd!2345),再向Zabbix 數據庫中導入sql文件。關鍵命令如下:
mysql-uroot -p-e \"create database zabbix character set utf8 collate utf8_bin;\"
mysql -uroot -p -e \"grant all privileges on zabbix.* to 'zabbix'@'192.168.0.%' identified by'pwd!2345';\"
zcat/usr/share/doc/zabbix-server-mysql-*/create.sql.gz|mysql -uroot-p zabbix
sql 文件導入成功后,利用vim編輯器打開/etc/zabbix/zabbix_server.conf文件,找到以下4個key(即“
”左邊),取消key前面的注釋符號#,并根據之前設置的數據庫信息為其賦予相應的value(即“=”右邊):
DBHost=192.168.0.2DBName=zabbixDBUser-zabbixDBPassword-pwd!23456)在zabbix-server服務器上啟動zabbix-server、httpd 和 rh-php72-php-fpm 等服務。
3.2 被監控端
被監控端的核心交換機以華為S12700為例,其管理地址為192.168.100.254/24,該地址需要與zabbix-server服務器的IP地址192.168.0.1互通。S12700通過SNMPv3與ZabbixServer通信,SNMPv3用戶組為grp、用戶為usr,認證算法選用SHA,認證密碼為pwd12345,加密算法選用AES128,加密密碼為pwd54321。關鍵命令如下:
snmp-agent snmp-agent sys-infoversionv3 snmp-agent group v3 grp privacy snmp-agent usm-user v3 usr snmp-agent usm-user v3 usr group grp snmp-agent usm-userv3 usr authentication-mode sha cipher pwd12345
snmp-agent usm-user v3 usr privacy-mode aesl28 cipher pwd54321
配置完成后,在zabbix-server服務器上利用snmpwalk命令獲取交換機的端口描述信息,可得到交換機端口在MIB表中的編號:
snmpwalk-v 3 -u usr-a SHA -A pwdl2345-x AES -X pwd54321-lauthPriv192.168.100.254 ifDescr
3.3 用戶端
通過瀏覽器訪問http://192.168.0.1/zabbix,即可進入Zabbix的Web頁面。首次登錄需按照頁面提示依次完成Checkofpre-requisites環境預檢、ConfigureDBconnection數據庫連接配置、Zabbixserverdetails服務器參數設置等步驟,才能進行以下配置。
1)添加主機。在Zabbix前端頁面通過“配置 $$ 主機 $$ 創建主機”添加主機。其中,“接口”項選擇SNMP;IP地址填寫核心交換機的管理地址即192.168.100.254;端口號保持默認的161;SNMP版本選擇SNMPv3;安全級別選擇authPriv;驗證協議、驗證口令、隱私協議、私鑰等按3.2中配置的信息選擇或填寫。
2)添加監控項。先在Zabbix前端頁面點擊步驟
1)中添加的主機,再通過“監控項 $$ 創建監控項”
來監控核心交換機上聯端口的網絡流量。由于端口流量分為出(out)、入(in)方向,因此需要創建兩個監控項:出流量監控項的OID為IF-MIB::ifHCOutOctets.x,入流量監控項的OID為IF-MIB::ifHCInOctets.x,其中,x表示端口編號,可通過3.2中的snmpwalk命令獲取。監控項的單位為 b/s ,由于從交換機返回的數據單位為byte,且是一個隨時間不斷增加的總量,因此ZabbixServer將其存儲到數據庫之前需進行預處理,即在“預定步驟”中先添加“每秒更改”,再添加“自定義倍數”,參數填8(1byte =8 bit)。
3)創建圖形。首先,在Zabbix前端頁面點擊步驟1)中添加的主機;然后,通過“圖形 $$ 創建圖形”添加網絡流量的可視化圖形,可以分別為出流量與入流量各創建一個圖形,也可以在一個圖形中同時展示出流量與入流量;最后,在“監控項”選擇步驟2)中創建的監控項即可。核心交換機上聯端口流量監控圖如圖4所示。

圖4展示了兩?;ヂ撴溌吩谀硶r間段的流量出入情況,觀察發現,入流量顯著高于出流量,出流量相對穩定,但入流量從11點開始出現明顯突增,提示網絡管理人員有必要對這一現象進行排查。
4結論
本文在分析Zabbix和SNMPv3技術原理的基礎上,提出一種融合Zabbix和SNMPv3的網絡流量監控方法。該方法易于實現,普適性強。Zabbix的功能不限于流量監控,還包括通過創建監控項觸發器配置告警動作、監控服務器等關鍵設施的資源使用情況等,這些功能也是網絡管理領域值得深入研究與應用的重要方向。
? The author(s) 2024.This is an open access article under the CC
BY-NC-ND 4.0 License (https://creativecommons.org/licenses/ by-nc-nd/4.0/)
參考文獻
[1]王宏,王承松,酈蘇丹.計算機網絡管理困境與對策[J].計算機工程與科學,2021,43(11):1952-1958.
[2]張恒,蔡志平,李陽.SDN 網絡測量技術綜述[J].中國科學:信息科學,2018,48(3):293-314.
[3]沈萍,陳俊麗,張漢舉.增強的Zeek網絡流量采集與監控分析系統設計[J].計算機技術與發展,2024,34(10):77-83.
[4]朱相楠.輕量級細粒度網絡流量監控機理與仿真實現[D].成都:電子科技大學,2021
[5]姜歡.SDN網絡流量監控方法研究及系統設計[D].桂林:桂林電子科技大學,2022.
[6]劉鵬,王光武.基于MRTG的校園網絡流量監控系統部署與實現[J].中國教育信息化,2017(1):94-96.
[7]王寧邦,劉江濤,梁紅飛,等.Cacti在可視化校園網絡管理中的應用[J].云南民族大學學報(自然科學版),2018,27(2):129-135.
[8]李春平,王東,張淑榮,等.基于Netflow的網絡流量監測與分析[J].現代計算機,2022,28(4):45-51.
[9]王慶剛,顧峰,張雪梅,等.基于校園網流量分析的安全預警系統[J].網絡安全技術與應用,2022(7):73-76.
[10]薛康佳,張玉亮,王林,等.CSNS加速器服務器監控系統設計[J].核電子學與探測技術,2023,43(2):404-408.
[11]李晨,解思江,郝穎,等.信息系統安全運行自動化手段在電力公司的探索[J].電信科學,2017,33(S1):123-128.
[12]喬石.面向算力網絡的資源監控及預測系統的設計與實現[D].北京:北京郵電大學,2023.
[13]梁鵬,岳宗敏.基于Zabbix的礦山物聯網絡監控系統研究[J]單片機與嵌入式系統應用,2021,1(6):39-42
[14]張紅金;劉維.國產云平臺安全體系策略探究[J].自動化與信息工程,2022,43(2):23-28.
[15]周美佳,趙科.基于Zabbix的VMware產品的自動監控系統設計[J].上海船舶運輸科學研究所學報,2022,45(2):63-68.
[16]田昊,王超.基于國密SM3和SM4算法的SNMPv3安全機制設計與實現[J].計算機科學,2024,51(S1):931-937.
[17]張子堯,吳黎兵,夏振廠,等.一種SDN環境的SNMPTrap報文聚合方法[J].小型微型計算機系統,2023,44(9):2059-2067.
[18]賈寶軍,徐雷,郭玉華,等.跨數據中心的統一監控研究與實現[J].電信科學,2016,32(3):2-6.
[19]郭光海,周建勝,潘培華.計算機監控系統改進設計與應用[J].機電工程技術,2022,51(6):255-259.
[20]梁勇,宮翔,熊林林,等.面向服務的一體化網絡監測技術研究[C].第十六屆全國信號和智能信息處理與應用學術會議論文集.北京:計算機工程與應用,2022:269-273.
作者簡介:
譚志勇,男,1985年生,工程師,碩士研究生,主要研究方向:計算機網絡。E-mail:tanzy@mails.ccnu.edu.cn林艷華,女,1982年生,高級工程師,碩士研究生,主要研究方向:教育信息化。顧家銘,女,1984年生,工程師,碩士研究生,主要研究方向:物聯網。