MRTG (Multi Router Traffic Grapher) 是經典的網絡流量視覺化工具,配合 SNMP 協議可實現對交換機、路由器等網絡設備的無代理監控。本文以 H3C 5500 系列交換機為例,完整記錄從 SNMP 配置、MRTG 部署、圖表生成到 Nagios 告警整合的全流程。
system-view snmp-agent enable snmp-agent community read public snmp-agent sys-info version all snmp-agent group v1 public snmp-agent group v2c public snmp-agent group v3 public snmp-agent target-host trap address udp-domain <Nagios_Server_IP> params securityname public
關鍵點:community read public 定義唯讀團體字;target-host trap 將告警推送至 Nagios 服務器。
[root@nagios ~]# yum -y install mrtg
[root@nagios ~]# mkdir -p /usr/local/nagios/mrtg [root@nagios ~]# cfgmaker --output=/usr/local/nagios/mrtg/mainswitch.cfg public@<Switch_IP>
cfgmaker 會自動遍歷交換機所有接口,生成對應的監控項。
[root@nagios ~]# mkdir -p /usr/local/nagios/share/mrtg [root@nagios ~]# sed -i 's|^#*WorkDir:.*|WorkDir: /usr/local/nagios/share/mrtg|' /usr/local/nagios/mrtg/mainswitch.cfg
[root@nagios ~]# env LANG=C /usr/bin/mrtg /usr/local/nagios/mrtg/mainswitch.cfg
連續執行 2-3 次直至無警告,完成 RRD 數據文件初始化。
[root@nagios ~]# echo '*/5 * * * * root /usr/bin/env LANG=C /usr/bin/mrtg /usr/local/nagios/mrtg/mainswitch.cfg' >> /etc/crontab [root@nagios ~]# systemctl restart crond
[root@nagios ~]# indexmaker --output=/usr/local/nagios/share/mrtg/index.html --title="MainSwitch Traffic Monitoring" /usr/local/nagios/mrtg/mainswitch.cfg
訪問 https://<Nagios_IP>/nagios/mrtg/ 即可查看流量圖表。
Nagios 內置 check_mrtgtraf 插件,可直接讀取 MRTG 生成的 .log 文件進行閾值判斷。
/usr/local/nagios/etc/objects/switch.cfg)define host{
use generic-switch
host_name MainSwitch
alias Core Switch
address <Switch_IP>
hostgroups switches
}
define service{
use generic-service
host_name MainSwitch
service_description Port_1_Traffic
check_command check_local_mrtgtraf!/usr/local/nagios/share/mrtg/<Switch_IP>_1.log!AVG!1000000,1000000!5000000,5000000!10
}
參數解析:_1.log 中的 1 代表交換機端口索引;閾值單位為 Bytes,示例中警告 1Mbps、嚴重 5Mbps,檢查最近 10 個採樣週期。
[root@nagios ~]# systemctl reload nagios
等待 2-3 個採樣週期後,Nagios 服務頁面將顯示流量狀態與圖表鏈接。
只需複製 define service 塊,修改 service_description 與 _X.log 中的端口索引即可批量監控所有業務端口。
「SNMP 配置 → MRTG 採集圖表 → Nagios 閾值告警」三步走,構建輕量級網絡流量可視化與告警體系,零代理、低資源佔用,適合中小型網絡環境快速落地。