一、juniper開啟SNMP
這裡開啟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 public@192.168.1.2 |
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,具體可以參考以下頁面
http://oss.oetiker.ch/mrtg/doc/mrtg-rrd.en.html
http://www.fi.muni.cz/~kas/mrtg-rrd/
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監控裝置的過程,重複執行一下即可。