mrtg可用於監控網絡鏈路流量負載,包括Juniper防火牆的流量監控,那麼在Linux系統中,要如何安裝及使用mrtg呢?下面以mrtg監控Juniper防火牆流量為例,給大家介紹下Linux安裝和配置mrtg的方法。
一、juniper開啟SNMP
二、安裝配置mrtg
1、安裝
mrtg的官方頁面為http://oss.oetiker.ch/mrtg/ ,最新版本是2.17.4 。可以選擇使用源碼包編譯安裝,也可以選擇系統源安裝 。
代碼如下
#yum -y install mrtg mrtg-libs
需要注意的是mrtg也有windows版的,由於個人習慣了使用linux這裡仍以centos/redhat為例。
2、cfgmaker生成配置文件
代碼如下
#cfgmaker --global “WorkDir:/var/www/mrtg” --output /etc/mrtg/mrtg.cfg [email protected]
cfgmaker後面可以跟更多的參數的,回的參數內容為寫入到生成的mrtg.cfg文件中,也可以生成後再修改。編輯mrtg.cfg尤其注意下面幾行配置:
代碼如下
#時間從左至右顯示,最小單位bits,growright不打開,默認是從右至左的時間顯示順序
Options[_]: growright, bits
#頁面刷新頻率,300s
Refresh: 300
#也是刷新頻率,5分鐘
Interval: 5
#mrtg默認數據是以文本的格式存在的,增加下面的內容後支持以rrdtool數據庫的格式生成
#LogFormat: rrdtool
#rrdtool程序所在的目錄
#PathAdd: /usr/bin/
EnableIPv6: no
WorkDir:/var/www/mrtg
除上面之外,其他一些參數可能也會用到,這裡也一並列下:
WorkDir //設置工作目錄,存放mrtg采集的數據和生成的統計文件
Language //設置WEB頁面顯示的語言=中文gb2312
growright //指示流量圖隨時間的變化向右增長
Target //指示監控的設備;
設備的表示方式=port:community@router;
commnunity //表示snmp通訊密碼
Directory 指示該監控設備的相關文件保存的位置=/var/www/mrtg/eth0/;
默認保存在WorkDir工作目錄下
MaxBytes //指示被采集的數據的最大值。如果采集的數據大於該值,MRTG將忽略,並保持上次采集的數據值
Kmg //指示乘數單位(默認每千位跳一個單位)
YLegend //指示Y軸的單位標記(不能用中文)
ShortLegend //指示數據的單位標記
Legend1,2,3,4分別指示四條不同顏色的統計線的文字說明
Legend1: //每5分鐘數據平均流入量的文字說明
Legend2: //每5分鐘數據平均流出量的文字說明
Legend3: //每5分鐘數據最大流入量的文字說明
Legend4: //每5分鐘數據最大流出量的文字說明
LegendI,O //分別說明數據的流出和流出的文字說明
WithPeak //指示如何顯示流量圖
共有四條不同顏色的統計線,綠色表示平均流入,藍色表示平均流出,墨綠色表示最大流入,紫色表示最大流出
n代表不設置w代表每周圖表,代表每月圖表,y代表每年圖表
不設置WithPeak,只有綠色流入和藍色流出
PageTop //指示增加到Web頁頭部的HTML代碼,用於定制網頁
以空格開始的《TABLE》《/TABLE》部分都是PageTop的內容,都直接作為HTML代碼
注:使用rrdtool格式存數據時,查看頁面的話需要cgi調用數據,可用的cgi插件有mrtg-rrd、routers2.cgi、14all.cgi。
3、創建初始web頁面
代碼如下
#mrtg /etc/mrtg/mrtg.cfg
#mrtg /etc/mrtg/mrtg.cfg
#mrtg /etc/mrtg/mrtg.cfg
注意,這裡一般要運行三次,前兩次出現warnning是正常的。
4、生成索引首頁
代碼如下
#indexmaker /etc/mrtg/mrtg.cfg --output /var/www/mrtg/index.html
此時去剛剛指定的/var/www/mrtg目錄查看,可以看到生成了下面一些文件:
代碼如下
#[root@localhost mrtg]# ls /var/www/mrtg/
192.168.1.2_504-day.png 192.168.1.2_509-year.png 192.168.1.2_522-week.png 192.168.1.2_529.old
192.168.1.2_504.html 192.168.1.2_510-day.png 192.168.1.2_522-year.png 192.168.1.2_529-week.png
192.168.1.2_504.log 192.168.1.2_510.html 192.168.1.2_523-day.png 192.168.1.2_529-year.png
192.168.1.2_504-month.png 192.168.1.2_510.log 192.168.1.2_523.html 192.168.1.2_530-day.png
192.168.1.2_504.old 192.168.1.2_510-month.png 192.168.1.2_523.log 192.168.1.2_530.html
192.168.1.2_504-week.png 192.168.1.2_510.old 192.168.1.2_523-month.png 192.168.1.2_530.log
192.168.1.2_504-year.png 192.168.1.2_510-week.png 192.168.1.2_523.old 192.168.1.2_530-month.png
192.168.1.2_505-day.png 192.168.1.2_510-year.png 192.168.1.2_523-week.png 192.168.1.2_530.old
192.168.1.2_505.html 192.168.1.2_511-day.png 192.168.1.2_523-year.png 192.168.1.2_530-week.png
192.168.1.2_505.log 192.168.1.2_511.html 192.168.1.2_524-day.png 192.168.1.2_530-year.png
192.168.1.2_505-month.png 192.168.1.2_511.log 192.168.1.2_524.html 192.168.1.2_531-day.png
192.168.1.2_505.old 192.168.1.2_511-month.png 192.168.1.2_524.log 192.168.1.2_531.html
192.168.1.2_505-week.png 192.168.1.2_511.old 192.168.1.2_524-month.png 192.168.1.2_531.log
192.168.1.2_505-year.png 192.168.1.2_511-week.png 192.168.1.2_524.old 192.168.1.2_531-month.png
192.168.1.2_506-day.png 192.168.1.2_511-year.png 192.168.1.2_524-week.png 192.168.1.2_531.old
192.168.1.2_506.html 192.168.1.2_515-day.png 192.168.1.2_524-year.png 192.168.1.2_531-week.png
192.168.1.2_506.log 192.168.1.2_515.html 192.168.1.2_526-day.png 192.168.1.2_531-year.png
192.168.1.2_506-month.png 192.168.1.2_515.log 192.168.1.2_526.html 192.168.1.2_533-day.png
192.168.1.2_506.old 192.168.1.2_515-month.png 192.168.1.2_526.log 192.168.1.2_533.html
192.168.1.2_506-week.png 192.168.1.2_515.old 192.168.1.2_526-month.png 192.168.1.2_533.log
192.168.1.2_506-year.png 192.168.1.2_515-week.png 192.168.1.2_526.old 192.168.1.2_533-month.png
192.168.1.2_508-day.png 192.168.1.2_515-year.png 192.168.1.2_526-week.png 192.168.1.2_533.old
192.168.1.2_508.html 192.168.1.2_520-day.png 192.168.1.2_526-year.png 192.168.1.2_533-week.png
192.168.1.2_508.log 192.168.1.2_520.html 192.168.1.2_527-day.png 192.168.1.2_533-year.png
192.168.1.2_508-month.png 192.168.1.2_520.log 192.168.1.2_527.html favicon.ico
192.168.1.2_508.old 192.168.1.2_520-month.png 192.168.1.2_527.log index.html
192.168.1.2_508-week.png 192.168.1.2_520.old 192.168.1.2_527-month.png mrtg-l.gif
192.168.1.2_508-year.png 192.168.1.2_520-week.png 192.168.1.2_527.old mrtg-l.png
192.168.1.2_509-day.png 192.168.1.2_520-year.png 192.168.1.2_527-week.png mrtg-m.gif
192.168.1.2_509.html 192.168.1.2_522-day.png 192.168.1.2_527-year.png mrtg-m.png
192.168.1.2_509.log 192.168.1.2_522.html 192.168.1.2_529-day.png mrtg-r.gif
192.168.1.2_509-month.png 192.168.1.2_522.log 192.168.1.2_529.html mrtg-r.png
192.168.1.2_509.old 192.168.1.2_522-month.png 192.168.1.2_529.log mrtg-ti.gif
192.168.1.2_509-week.png 192.168.1.2_522.old 192.168.1.2_529-month.png mrtg-ti.png
5、配置crontab定時數據采集
代碼如下
#vi /etc/cron.d/mrtg
*/5 * * * * root LANG=C LC_ALL=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg --lock-file /var/lock/mrtg/mrtg_l --confcache-file /var/lib/mrtg/mrtg.ok
6、配置apache別名顯示
代碼如下
Alias /mrtg /var/www/mrtg
《Location /mrtg》
#Order deny,allow
#Deny from all
#Allow from 192.168.1.11
《/Location》
上面只是一個配置示例,如果有需要可以設備訪問控制 。
7、優化
由於是網絡設備,主要用於查看下網絡流量,而從第4部可以看到,其采集了所有可以采集端口的流量,事實上很多時候很多端口未用或者並不是我們想查看的,這裡就需要編輯mrtg.cfg文件只保留需要監控的端口ID ,同時還需要修改indexmaker生成的首頁文件裡的內容 。最終的效果如下圖:
如果還需監控CPU、內存等信息,則需要通過snmpwalk編寫腳本取得數據寫入文件並保存,並在mrtg.cfg文件中做相應配置,最終在圖形界面上進行展示。
三、mrtg與主機性能監控
由於該部分不是本篇重點,這裡只是順帶提下,mrtg也可以通過snmp對主機的磁盤、CPU、內存等信息進行監控。需要在主機上開啟snmp服務。linux下的安裝如下(windows下也可以,在添加刪除程序裡進行增加):
代碼如下
# yum install net-snmp
安裝完成後,需要編輯snmp的配置文件,因為很多信息默認是不允許獲取的:
代碼如下
# vim /etc/snmp/snmp.conf
view systemview included .1.3.6.1.2.1.1
#下面這一行為新增,用於收集流量信息
view systemview included .1.3.6.1.2.1.2
view systemview included .1.3.6.1.2.1.25.1.1
修改完成後,記得重啟snmp服務 。同時像disk和mem的監控部分,在snmpd.conf裡有相關的配置樣例,同時也有腳本執行的相關樣例,參數樣例修改即可。
以上步驟配置完成後,再參照上面mrtg監控設備的過程,重復執行一下即可。
Linux安裝配置mrtg的方法就介紹到這裡了,進行相關配置後,你就能夠監控Juniper防火牆的流量情況,mrtg同樣能夠監控其他網絡鏈路的流量。