close
實驗說明
Keynes (本站長),於N個月前曾組態過MRTG 流量監控運行環境(CentOS 5.3 版本),
繼同一團隊開發Cacti 流量監控軟體推後,延展性大大勝於MRTG(雖然效能佔用不少)
本人還是習慣使用Cacti 這套監控企業內部Router Switch 或 Server
(rrdtool應用發展的很優)
(rrdtool應用發展的很優)
But 像一般知名IDC還是習慣使用MRTG做客戶機器流量監測...於是Keynes 重拾MRTG
也同時整理一份"MRTG快速架設攻略" : 有興趣人可連結以下參考
(以為日後工作需要做Note備忘)
(以為日後工作需要做Note備忘)
http://cid-ca40615c4610a13b.office.live.com/self.aspx/%e6%b5%81%e9%87%8f%e7%b5%b1%e8%a8%88%e5%9c%96%e8%a1%a8/MRTG%e6%b5%81%e9%87%8f/MRTG%e6%87%89%e7%94%a8%e5%a4%a7%e5%bd%99%e6%95%b4By%20Keynes.txt
實驗環境
CentOS 5.5 (nodea.shengyao.idv.tw): 擔任MRTG Monitor Server,IP:192.168.0.111(
且已經初始化安裝MRTG了)
且已經初始化安裝MRTG了)
Fedora 12 (nodec.shengyao.idv.tw): 被MRTG監控的測試主機 IP:192.168.0.193
Cisco 3600 Serial: 被MRTG監控的測試設備為一台Router, e 0/0 IP:192.168.0.200
執行要點
執行主機的流量監測: 偵測局網Linux 主機: Fedora 12
執行設備的流量監測: 偵測網路設備流量: Cisco 3600 Router
最後安裝外掛模組搭配Shell Script 監控主機 CPU與RAM 使用率:
1.[ 建立 本機nodea.shengyao.idv.tw and
Fedora 12:nodec.shengyao.idv.tw 流量監控 ] : 下圖為Fedora 12
Fedora 12:nodec.shengyao.idv.tw 流量監控 ] : 下圖為Fedora 12
vi /etc/snmp/snmpd.conf #若無請安裝net-snmp套件
插入一筆,修改完成儲存後請重新啟動snmp程式 shell> service snmpd restart
view systemview included .1.3.6.1.2.1.2
[MRTG Server: nodea]
接者MRTG Server 要產生偵測本機host與局網主機fedora12 初始化設定並寫入
/etc/mrtg/mrtg.cfg 此檔案中
/etc/mrtg/mrtg.cfg 此檔案中
*Attention: >> 記住增加多筆主機偵測,請記得用>>不然原先設定好檔案將被覆蓋
修改 /etc/mrtg/mrtg.cfg 設定檔
#MRTG Server 空白處加入以下幾行
WorkDir: /var/www/mrtg #產生繪圖與網頁相關檔案目錄路徑
Refresh: 300 #網頁設定每300秒更新一次
Interval: 10 #每10秒讀取設定檔
Language: big5 #語系big 5
Options[ _ ]: growright #由右邊畫起
#Fedora 12 : 找到 " public@192.168.0.193 " 相關設定區塊資訊,往下設定
##EnableIPv6: no #停用IPV6
Options[192.168.0.193]: growright #加入此行,將IP設定正確
[修改偵測網頁設定檔Title,網頁標題...etc ] :
下圖為 fedora 12 host 網頁標題,顯示資訊修改
(請也將MRTG 網頁訊息更改您想show 的形式)
(請也將MRTG 網頁訊息更改您想show 的形式)
接者我們要另利用MRTG進行補獲本機與Fedora 12 此2台host 流量使用狀況,
並輸出網頁與繪圖資料至 /var/www/mrtg 目錄底下
> env LANG=C mrtg /etc/mrtg/mrtg.cfg #連續執行3次直到任一訊息沒有出現為止
[為各台主機建立索引頁面查詢]: 為方便Admin 利用一個頁面即可知曉哪台主機,流量狀況,
與點閱
與點閱
> indexmaker /etc/mrtg/mrtg.cfg --output=/var/www/mrtg/index.html
[現在登入MRTG 瀏覽介面: http://192.168.0.111/mrtg]
登入首頁後,我們可以看到
左上角: MRTG_192.168.0.111(MRTG Serevr: 本機流量監測)
左上角: MRTG_192.168.0.111(MRTG Serevr: 本機流量監測)
右下角: Fedora 12 Monitor by Keynes_192.168.0.193(局網Fedora12主機)
*已成功建立Index 索引頁面供使用者方便點選與瀏覽各台主機監控狀況*
[測試:從索引頁面點選MRTG Server 此台主機進入觀察進階流量統計訊息]
MRTG: 依每週,每月,每五分,每年...進行流量統計)
2.[ 建立Cisco 3600 系列Router 流量監控 ] :
Cisco Switch 需建立 Port Mirror 將VLAN所有流量導向指定Port 供 MRTG Server
捕獲流量訊息
捕獲流量訊息
今使用 Cisco 3600 Router 做流量監測 : 僅需啟用SNMP 功能即可讓MRTG Server
透過snmp協定採集設備上流量統計訊息
透過snmp協定採集設備上流量統計訊息
> int e 0/0
> ip add 192.168.0.200 255.255.255.0 #設定MRTG接收端口IP
> no shut
>exit
> access-list 78 permit 192.168.0.111
>snmp-server community public RO 78
#啟用snmp-server,並且設定唯讀,且遵循 access-list 78 規範
#啟用snmp-server,並且設定唯讀,且遵循 access-list 78 規範
> cfgmaker public@192.168.0.200 >> /etc/mrtg/mrtg.cfg
#產生Cisco 3600 路由器 初始化設定檔,並寫入 /etc/mrtg/mrtg.cfg
#產生Cisco 3600 路由器 初始化設定檔,並寫入 /etc/mrtg/mrtg.cfg
*Attention: >> 記住增加多筆主機偵測,請記得用>>不然原先設定好檔案將被覆蓋
同前幾步修改產生Cisco 3600 路由器MRTG網頁設定
vi /etc/mrtg/mrtg.cfg
# Cisco 3600 : 找到 " public@192.168.0.200 " 相關設定區塊資訊,往下設定
##EnableIPv6: no #停用IPV6
Options[192.168.0.200]: growright #加入此行,將IP設定正確
*下圖為Title 相關訊息修改*
[接者同樣地,產生流量統計網頁資料}
> env LANG=C mrtg >> /etc/mrtg/mrtg.cfg
#連續執行3次直到任一訊息沒有出現為止
#連續執行3次直到任一訊息沒有出現為止
> indexmaker /etc/mrtg/mrtg.cfg --output=/var/www/mrtg/index.html
#建立網頁索引
#建立網頁索引
*由下圖我們可以查得,MRTG產生網頁相關資料* /var/www/mrtg
[驗證: 登入 http://192.168.0.111/mrtg] : 驗證MRTG是否已偵測到Cisco 3600 Router 流量
PS> 我們已將上一步:監測Fedora12 相關資料刪除
請讀者觀看右下角圖表, MRTG已成功監測到路由器流量(流量有在跑)
[定期排程執行MRTG]
由於我們使用發行版MRTG (2.1.4),預設安裝MRTG完成後,已經設定好排程執行MRTG
[3.]:[MRTG整合主機型CPU使用率監測]
需安裝相關套件
yum -y install sysstat
vi /usr/local/bin/dcpu.sh #編輯scripts 內容擷取主機cpu訊息,並儲存
#!/bin/bash
cpuusr=`/usr/bin/sar -u 1 3 | grep Average | awk '{print $3}'`
cpusys=`/usr/bin/sar -u 1 3 | grep Average | awk '{print $5}'`
UPtime=`/usr/bin/uptime | awk '{print $3 " " $4 " " $5}'`
cpusys=`/usr/bin/sar -u 1 3 | grep Average | awk '{print $5}'`
UPtime=`/usr/bin/uptime | awk '{print $3 " " $4 " " $5}'`
echo $cpuusr
echo $cpusys
echo $UPtime
echo nodea.shengyao.idv.tw #更改hostname
> chmod 755 /usr/local/bin/dcpu.sh #權限修改可執行與讀取
測試 dcpu.sh 此script 是否可行
> ./dcpu.sh #若ok應如下圖
接者編輯 /etc/mrtg/mrtg.cfg 插入以下幾筆資料,並儲存(建議Title使用英文敘述)
WorkDir: /var/www/mrtg #請指定相對應路逕
Language: big5
Target[localhost]: `/usr/local/bin/dcpu.sh` #請指定檔案相對應路逕
MaxBytes[localhost]: 100
Options[localhost]: gauge, nopercent, growright
YLegend[localhost]: CPU loading (%)
ShortLegend[localhost]: %
LegendO[localhost]: USR_Load;
LegendI[localhost]: SYSTEM_Load;
Title[localhost]: CPU ?t???v
PageTop[localhost]: <H1>Keyne_CPU_Status</H1>
<TABLE>
<TR><TD>System:</TD> <TD>CentOS 5.5 By Keynes</TD></TR>
</TABLE>
[接者同樣地,產生流量統計網頁資料]
> env LANG=C mrtg /etc/mrtg/mrtg.cfg
#連續執行3次直到任一訊息沒有出現為止
#連續執行3次直到任一訊息沒有出現為止
> indexmaker /etc/mrtg/mrtg.cfg --output=/var/www/mrtg/index.html
#建立網頁索引
#建立網頁索引
[驗證:登入網頁查看CPU外掛MOD是否已順利運行]
*MRTG成功列出了,最大負載,平均負載與目前CPU負載值*
[4.]:[MRTG整合主機型Memory使用率監測]
監控MEM一樣需要搭配Script 擷取記憶體統計資料供MRTG Server 使用
vi /usr/local/bin/men.sh
#!/bin/bash
echo `free -bt | grep buffers/cache | awk '{print $3}'`
echo `free -bt | grep buffers/cache | awk '{print $4}'`
echo `/usr/bin/uptime | awk '{print $3 " " $4 " " $5}'`
echo nodea.shengyao.idv.tw
#修改成自己hostname
#修改成自己hostname
> chmod 755 /usr/local/bin/dcpu.sh #權限修改可執行與讀取
然候,編輯 /etc/mrtg/mrtg.cfg
#Memory
WorkDir: /var/www/mrtg #修改網頁輸出的目錄
Language: big5
Refresh: 300
Target[mem]: `/usr/local/bin/men.sh` #修改上述的檔案路徑
MaxBytes[mem]: 665536000
Title[mem]: memory_status
PageTop[mem]: <H1>memory_status </H1>
Options[mem]: gauge,growright
YLegend[mem]: Bytes
ShortLegend[mem]: B
Legend1[mem]: Free real memory
Legend2[mem]: Free swap memory
Legend3[mem]: Maximal 5 Minute Memory In Use
Legend4[mem]: Maximal 5 Minute Active Memory
LegendI[mem]: Used:
LegendO[mem]: Buffers + Cache:
[接者同樣地,產生流量統計網頁資料]
> env LANG=C mrtg /etc/mrtg/mrtg.cfg
#連續執行3次直到任一訊息沒有出現為止
#連續執行3次直到任一訊息沒有出現為止
> indexmaker /etc/mrtg/mrtg.cfg --output=/var/www/mrtg/index.html
#建立網頁索引
#建立網頁索引
[驗證:登入網頁查看MEM外掛MOD是否已順利運行]
*MRTG成功列出了,使用者&系統本身佔用MEM%與目前MEM負載值*
LAB操作參考資料:
鳥哥的網站 & Linux 網路安全與監控馬上就能用處方籤/旗標
結語: 本人還是習慣用Cacti 事半功倍....Keynes寫於2010/08/29
全站熱搜
留言列表