最近計劃把生產網絡 cisco 流量監控功能從 windows 2003轉到 Centos7下, 仍然採用 mrtg 這一款經典小軟件.
環境說明
1) 交換機 vlan ip: 192.168.200.1/255.255.252.0 (交換機可以是幾台,也可以是很多台,操作步驟一樣)
2) snmp流量監控server
ip: 192.168.201.125/255.255.252.0 用於提供搭建 snmp/mrtg/httpd 服務器
3) windows pc(web client)
ip: 192.168.201.105/255.255.252.0 用於查看流量圖
交換機配置
配置通訊字串為 publicstr, ro:表示只讀
# snmp-server community publicstr ro
設置 snmp 接收主機和字串
# snmp-server host 192.168.201.125 publicstr
開啟流量監控
# snmp-server enable traps tty
服務器配置
1) 安裝組件/配置服務開機啟動
# yum install net-snmp
# yum install mrtg
# yum install httpd
# systemctl enable snmpd.service
# systemctl enable mrtg.service
# systemctl enable httpd.service
再逐個啟動服務, 我習慣在安裝完軟件之後重啟服務器(如果條件允許)
2) 配置 mrtg
(1)配置接收網絡接口流量,
# vi /etc/snmp/snmpd.conf
在 view systemview included .1.3.6.1.2.1.1 的下面增加一行, 內容為:
view systemview included .1
# systemctl restart snmpd.service
(2)建立 mrtg 配置文件, 如果有多個交換機, 則建立多個 mrtg配置文件,本文以 ip 地址的最後兩段命名,以免弄混
如果一個交換機中有多個 VLAN, 只需要操作一次就行了, IP 可以是任何一個VLAN IP, 我的交換機 VLAN IP為 192.168.200.1
# mkdir /var/www/200.1
# cfgmaker --global "WorkDir:/var/www/200.1" --output /etc/mrtg/200.1.cfg publicstr@192.168.200.1
(3)配置 mrtg 每5分鍾自動統計(如果有多個監控的交換機,也加到這個文件中)
# vi /etc/cron.d/mrtg
內容如下:
* /5 * * * * root LANG=C LC_ALL=C /usr/bin/mrtg /etc/mrtg/200.1.cfg --lock-file /var/lock/mrtg/200.1 --confcache-file /var/lib/mrtg/200.1.ok
3)配置 httpd
(1)生成網頁索引文件
# indexmaker /etc/mrtg/200.1.cfg --output /var/www/200.1/index.html
(2)配置別名與來訪白名單
# vi /etc/httpd/conf.d/mrtg.conf
增加以下一行別名, 表示:在瀏覽器輸入 http://192.168.201.125/200.1 時, 對應打開的是 /var/www/200.1/index.html
Alias /200.1 /var/www/200.1
來訪白名單默認只有本機能訪問, 增加以下一行, 表示允許 192開頭的全部 IP訪問 httpd 服務器
Require ip 192.0.0.0/8
# systemctl restart httpd.service
效果演示
在瀏覽器中輸入服務器的 ip 地址 + 別名, 即可查看對應的交換機流量
如果按以上方式添加了多個交換機, 只需將地址中的 200.1 換成其它別名即可
本文OS與各組件版本如下: