MRTG(Multi Router Traffic Grapher)是一個監控網絡鏈路流量負載的工具軟件,經過SNMP協議獲得設備的流量信息,並將流量負載以包含PNG格式的圖形的HTML文檔方式顯示給用戶,以很是直觀的形式顯示流量負載。html
MRTG最先的版本是在1995年春天所推出,以perl所寫成,所以能夠跨平臺使用,它利用了SNMP的OID來獲取網絡設備的相關信息,所以被監測設備自己須要支持SNMP。MRTG再以所收集到的信息產生HTML文件並以GIF或PNG格式繪製出圖形,並以日、月、周等單位分別繪出。原來MRTG只能繪出網絡設備的流量圖,後來發展了各類plug-in,所以網絡設備之外的設備也可由MRTG監控,例如服務器的硬盤使用量、CPU的負載等。linux
MRTG的安裝使用web
搭建工具軟件的平臺是opensuse12apache
MRTG爲使用perl寫成,須要如下工具支持瀏覽器
- perl(perl-5.0.xx以上)
- zlib(zlib-1.1.3-xx以上)
- gd(gd-1.3.xx以上)
- libpng
- apache httpd
查看系統上是否安裝上述軟件,可使用如下rpm命令來確認:服務器
-
- rpm -qa|grep perl
- rpm -qa|grep zlib
- rpm -qa|grep gd
- rpm -qa|grep libpng
若是沒有安裝的話,可使用zypper search/install命令來安裝相應的軟件。網絡
- 另外,經過瀏覽器的方式展現監控圖表,須要部署好web服務器apache。apache的部署在本文中就不在闡述。
- 開始安裝MRTG
- MRTG須要snmp進行監控,因此須要snmp軟件,在linux下我選擇了net-snmp。經過使用zypper search/install net-snmp安裝net-snmp軟件。安裝後,對net-snmp作相應的配置設置
- 修改/etc/snmp/snmp.conf文件中的配置,若是須要修改相關配置的話,對該配置文件進行修改便可。我在這裏保持默認配置。
- 啓動net-snmp:使用service snmpd start命令啓動snmp。使用netstat -aonup|grep 161能夠查看snmp已啓動。
- 安裝MRTG
- 使用zypper search/install mrtg便可安裝mrtg。
- 使用mkdir -p /usr/local/apache2/htdocs/mrtg/net命令建立目錄,該目錄用來放置mrtg監測的結果。
- 運行cfgmaker --output=/usr/local/apache2/htdocs/mrtg/net/mrtg.cfg public@127.0.0.1命令來建立配置文件
- 使用vi /usr/local/apache2/htdocs/mrtg/net/mrtg.cfg修改該配置文件,把配置文件中的以下幾行註釋去掉,並修改爲本身的配置,以下圖。修改workdir和options。
- 運行命令mrtg /usr/local/apache2/htdocs/mrtg/net/mrtg.cfg,開始運行監測程序。能夠多運行幾回,若是運行有問題,須要修改mrtg.cfg
- 對生成的mrtg.cfg中的html部分的內容的註釋和單個空格全去掉,保存。
- 運行命令indexmaker --output=/usr/local/apache2/htdocs/mrtg/net/index.html --title=linux net report /usr/local/apache2/htdocs/mrtg/net/mrtg.cfg,這個命令用來建立web服務器中顯示的頁面。
- 使用crontab來設置按期執行檢測。修改/etc/crontab,在其中加入如下行(每5分鐘監測一次網卡流量)
- 上述配置完成後,就能夠經過http://yourIP/mrtg/net/index.html來訪問網卡流量監測結果啦。
個人流量監測顯示圖以下:工具