【實驗環境】php
監控機:Red Hat linux 5.3 IP:10.10.10.2/24 監控機的操做窗口爲綠色字體html
被監控機:Red Hat linux 5.3 IP:10.10.10.10/24 操做爲白色字體linux
【實驗目的】ios
監控網絡流量web
【實驗步驟】apache
一、監控機上須要安裝3個軟件包,net-snmp(安裝一個網管協議)、mrtg(這次監控軟件)、httpd(因爲須要用網頁顯示,因此必須安裝http),固然你們能夠選擇rpm安裝或者yum安裝,如下演示就是用yum安裝的。三者都是必要要安裝的哈!vim
掛載光驅,安裝net-snmp軟件包。windows
安裝mrtg軟件包centos
安裝httpd軟件包安全
二、安裝後就能夠在被監控機上安裝snmp了,我要監控的是一臺linux服務器。一樣也是安裝net-snmp軟件包
編輯/etc/snmp/snmpd.conf,要修改三個位置
將systemview修改成mib2
將此行#註釋去掉
在第395行添加 團體名 rocommunity 123456 添加了一個只讀屬性的團體名密碼是123456
三、重啓被監控機上的snmp服務,默認是沒啓動的,因此中止的時候是失敗
四、下一步在監控機配置
先創建一個mrtg的工做目錄,而後生成mrtg的配置文件,被監控的主機是10.10.10.10 他的團體名密碼是123456
修改上述生成的/var/www/html/mrtg/mrtg.cfg配置文件,未修改以前的
將WorkDIr:/home/http/mrtg的#號去掉並改爲WorkDir: /var/www/html/mrtg
將Options[_]: growright, bits #號去掉在下面添加一行
Language: Chinese 支持中文
下圖是修改完以後的
修改完成
下面繼續修改一下apache的主配置文件
添加或修改一行成爲AddDefaultCharset GB2312 爲的是apache支持中文
修改以後
從新生成配置文件,通常要執行三次纔會成功
生成網頁文件
修改/etc/httpd/conf.d/mrtg.cfg的文件,修改以前的
修改以後的
重啓apache服務
這裏只是簡單介紹在centos下使用mrtg監控網絡流量
參考鳥哥的linux私房菜,個人linux入門啊
http://linux.vbird.org/linux_security/old/04mrtg.php
一、安裝mrtg
yum install mrtg
使用yum能夠省去不少麻煩,沒必要去關心那些依賴包。
二、配置
安裝好後會有一個默認的基本mrtg配置文件在/etc/mrtg目錄下
咱們使用命令創建新的配置文件,目前咱們要監控3臺linux服務器的網絡狀態,首先確認3臺linux服務器snmp配置好,三臺服務器以下:
服務器 組織名稱 ip地址
web1 nubbcom 192.168.0.21
web2 nubbcom 192.168.0.22
web3 nubbcom 192.168.0.23
分別給每臺服務器生產一個mrtg配置文件
cfgmaker nubbcom@192.168.0.21 > mrtg_web1.cfg
cfgmaker nubbcom@192.168.0.22 > mrtg_web2.cfg
cfgmaker nubbcom@192.168.0.23 > mrtg_web3.cfg
如下有些配置項是須要配置的
# Created by
# /usr/bin/cfgmaker nubbcom@192.168.0.23
### Global Config Options
# for UNIX
WorkDir: /var/www/html/mrtg/ #這裏要去掉原來的註釋,並配置你如今的mrtg工做目錄即mrtg文件的目錄。
# or for NT
# WorkDir: c:\mrtgdata
### Global Defaults
# to get bits instead of bytes and graphs growing to the right
Options[_]: growright, bits #顧名思義啊,使用bits仍是使用bytes本身選擇。
注意:以上配置應該向左頂格,不要有空格出現,不然執行該配置文件會報錯,以下示例:
[root@cacti mrtg]# LANG=C /usr/bin/mrtg mrtg_web2.cfg
ERROR: Line 8 ( WorkDir: /var/www/html/mrtg/) in CFG file (mrtg_web2.cfg) does not make sense
三、啓用mrtg
執行mrtg命令 後跟設定的配置文件
[root@cacti mrtg]# LANG=C /usr/bin/mrtg mrtg_web1.cfg
第一次啓用時須要執行三遍
第一遍 沒有mrtg文件因此建立相關文件
26-10-2011 12:03:12, Rateup WARNING: /usr/bin/rateup could not read the primary log file for 192.168.0.21_2
26-10-2011 12:03:12, Rateup WARNING: /usr/bin/rateup The backup log file for 192.168.0.21_2 was invalid as well
26-10-2011 12:03:12, Rateup WARNING: /usr/bin/rateup Can't remove 192.168.0.21_2.old updating log file
26-10-2011 12:03:12, Rateup WARNING: /usr/bin/rateup Can't rename 192.168.0.21_2.log to 192.168.0.21_2.old updating log file
26-10-2011 12:03:12, Rateup WARNING: /usr/bin/rateup could not read the primary log file for 192.168.0.21_3
26-10-2011 12:03:12, Rateup WARNING: /usr/bin/rateup The backup log file for 192.168.0.21_3 was invalid as well
26-10-2011 12:03:12, Rateup WARNING: /usr/bin/rateup Can't remove 192.168.0.21_3.old updating log file
26-10-2011 12:03:12, Rateup WARNING: /usr/bin/rateup Can't rename 192.168.0.21_3.log to 192.168.0.21_3.old updating log file
第二遍
26-10-2011 12:03:15, Rateup WARNING: /usr/bin/rateup Can't remove 192.168.0.21_2.old updating log file
26-10-2011 12:03:16, Rateup WARNING: /usr/bin/rateup Can't remove 192.168.0.21_3.old updating log file
第三遍
無信息
執行完後會看到工做目錄下有mrtg全部的文件,一些圖形顯示頁面用到的元素和日誌文件。
[root@cacti mrtg]# ll /var/www/html/mrtg/
total 972
-rw-r--r-- 1 root root 1445 Oct 26 12:09 192.168.0.21_2-day.png
-rw-r--r-- 1 root root 6441 Oct 26 12:09 192.168.0.21_2.html
-rw-r--r-- 1 root root 48198 Oct 26 12:09 192.168.0.21_2.log
-rw-r--r-- 1 root root 1361 Oct 26 12:09 192.168.0.21_2-month.png
-rw-r--r-- 1 root root 48198 Oct 26 12:09 192.168.0.21_2.old
-rw-r--r-- 1 root root 1417 Oct 26 12:09 192.168.0.21_2-week.png
-rw-r--r-- 1 root root 1685 Oct 26 12:09 192.168.0.21_2-year.png
-rw-r--r-- 1 root root 1445 Oct 26 12:09 192.168.0.21_3-day.png
-rw-r--r-- 1 root root 6442 Oct 26 12:09 192.168.0.21_3.html
-rw-r--r-- 1 root root 48198 Oct 26 12:09 192.168.0.21_3.log
惋惜的是這個mrtg命令依次只能加載一個配置文件,其餘服務器文件逐個執行,在多數量的被監控對象狀況下這樣顯得很是不便,能夠講多個配置文件合併到一個大文件裏
簡化mrtg執行的操做。
[root@cacti mrtg]# cat mrtg_web*.cfg >mrtg.cfg
今後,執行只須要一個操做
[root@cacti mrtg]# LANG=C /usr/bin/mrtg mrtg.cfg
mrtg命令只是手動執行,要可以看到連續的圖形,必須定時執行mrtg操做獲取當時的流量,使用crontab每分鐘採集一次。
[root@cacti mrtg]# crontab -e
*/1 * * * * LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg
四、創建監控頁面
上一步已經完成了流量數據的獲取和相關文件的生成,可是咱們須要定製一個監控頁面同一展現數據。
mrtg本身提供一個生成監控主頁的命令indexmaker,執行它生成網頁。
[root@cacti mrtg]# indexmaker mrtg.cfg >/var/www/html/mrtg/index.html
輸入網址http://web服務器名或ip/mrtg/ 查看當前主頁。
注意:這裏須要你先設定好apache,講mrtg的監控主頁配置設置好。
補充:在監控防火牆的時候出現如下問題
[root@cacti mrtg]# cfgmaker ct10000@172.10.10.3 >mrtg_isg2000-1.cfg
SNMP Error:
no response received
SNMPv1_Session (remote host: "172.10.10.3" [172.10.10.3].161)
community: "ct10000"
request ID: -869504328
PDU bufsize: 8000 bytes
timeout: 2s
retries: 5
backoff: 1)
at /usr/bin/../lib64/mrtg2/SNMP_util.pm line 627
SNMPWALK Problem for 1.3.6.1.2.1.1 on ct10000@172.10.10.3:v4only
at /usr/bin/cfgmaker line 918
WARNING: Skipping ct10000@172.10.10.3 as no info could be retrieved
最後確認防火牆使用的snmp是v2版本,因此從新執行指定snmp版本v2
[root@cacti mrtg]# cfgmaker --snmp-options=:::::2 ct10000@172.10.0.3 >mrtg_isg2000-1.cfg
ok!執行成功
MRTG 是經過SNMP 協議,向運行snmp協議主機詢問相關的資料後,主機傳遞數值給MRTG ,而後MRTG 再繪製成網頁上的圖表(以下圖)!
SNMP(imple Network Management Protocol,簡單網絡管理協議)的前身是簡單網關監控協議(SGMP),用來對通訊線路進行管理。隨後,人們對SGMP進行了很大的修改,特別是加 入了符合Internet定義的SMI和MIB:體系結構,改進後的協議就是著名的SNMP。SNMP的目標是管理互聯網Internet上衆多廠家生產 的軟硬件平臺,所以SNMP受Internet標準網絡管理框架的影響也很大。如今SNMP已經出到第三個版本的協議,其功能較之前已經大大地增強和改進 了。
參考
http://gehailong.blog.51cto.com/765312/633825
一 安裝mrtg
yum install gd-* libpng-* perl-* zlib-* httpd-* net-snmp-* mrtg-*
二 配置mrtg
- cfgmaker --global "WorkDir: /usr/local/apache/htdocs/mrtg" \
- --global "Options[]:growright,bits" --show-op-down --ifref=name \
- --output /usr/local/apache/htdocs/mrtg/mrtg.cfg dongnan@192.168.0.1 dongnan@10.0.100.71
-
- env LANG=C /usr/bin/mrtg /usr/local/apache/htdocs/mrtg/mrtg.cfg
-
- indexmaker --output=/usr/local/apache/htdocs/mrtg/index.html --title=mrtg /usr/local/apache/htdocs/mrtg/mrtg.cfg
-
- 命令解釋:
-
- 2.1 cfgmaker命令是用來生成mrtg的配置文件的
-
- --global 是兩個全局配置參數來指定mrtg的工做目錄和流量的增加單位(bit)
-
- --show-op-down 是顯示全部接口流量,默認只顯示有流量的接口
-
- --ifref=name 表示生成的流量圖片上方的標題是接口的名稱
-
- --output=mrtg.cfg 表示mrtg的配置文件的名稱
-
- dongnan@ip,注意@前面是snmp的團體名稱,是來作身份驗證的,至關於密碼,該團體名稱要在被管設備上面提起設置好,這個須要你們注意一下。
-
-
- 2.2 env LANG=C /usr/bin/mrtg /usr/local/apache/htdocs/mrtg/mrtg.cfg
-
- 把環境變量LANG設置爲C(中文chinese),用mrtg命令來處理剛纔生成的mrtg的配置文件;注意該命令須要執行3次。
-
- 2.3 indexmaker --output=/var/ww/html/index.html --title=網頁標題 /var/www/html/mrtg.cfg
-
- indexmaker是用來生成網頁文件的,後面須要指定一下mrtg的配置文件。
-
- 2.4 從新啓動 apache,而後經過http://搭建mrtg的ip就能夠訪問到監控內容了
-
- 2.5 每2分鐘執行一次來達到實時監控的目的
- crontab -e
- */2 * * * * env LANG=C /usr/bin/mrtg /usr/local/apache/htdocs/mrtg/mrtg.cfg
三 監控路由器/交換機/服務器的接口流量
3.1 監控網絡設備
以思科3560交換機爲例:設備啓用snmp的命令是: snmp community 共同體名 ro/rw
1f#conf ter
Enter configuration commands, one per line. End with CNTL/Z.
1f(config)#snmp-server community switch ro
1f(config)#snmp-server trap-source GigabitEthernet 0/25
1f(config)#snmp-server enable traps
1f(config)#end
3.2 監控windows 系統
windows要安裝「簡單網絡管理協議」(在添加刪除程序裏面),而後在服務裏面就能夠找到snmp service
安全選項->點擊添加
snmp 服務配置 -> 團體權限(只讀) -> 團體名稱(字符串/密碼)
接受來自這寫的SNMP數據包 -> 添加 mrtg ip地址
3.3 監控linux 系統
安裝snmp
yum install net-snmp-*
編輯 snmpd.conf 配置文件
vim /etc/snmp/snmpd.conf
41行 1將default 改成mrtg 服務器ip;2 將public 改爲複雜些的識別的字符串
com2sec notConfigUser default dongnan
62行 1將systemview 改成all,供全部snmp 訪問權限
access notConfigGroup "" any noauth exact all none none
85行 將#註釋符號去掉
view all included .1 80
啓動 snmpd
chkconfig snmpd on && /etc/init.d/snmpd start
結束
mrtg 配置簡單明瞭,適用監控設備或服務器帶寬流量,若是你須要更高級的功能,能夠嘗試 nagios|cacti|zabbix 等等。