close

實驗說明
 
Keynes (本站長),於N個月前曾組態過MRTG 流量監控運行環境(CentOS 5.3 版本),
 
 
繼同一團隊開發Cacti 流量監控軟體推後,延展性大大勝於MRTG(雖然效能佔用不少)
 
本人還是習慣使用Cacti 這套監控企業內部Router Switch 或 Server

(rrdtool應用發展的很優)
 
But 像一般知名IDC還是習慣使用MRTG做客戶機器流量監測...於是Keynes 重拾MRTG
 
也同時整理一份"MRTG快速架設攻略" : 有興趣人可連結以下參考

(以為日後工作需要做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了)
 
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
 
 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 此檔案中
 
  > cfgmaker public@192.168.0.111 > /etc/mrtg/mrtg.cfg     

   
#產生MRTG Server 初始化設定檔,並寫入 /etc/mrtg/mrtg.cfg
 
  > cfgmaker public@192.168.0.193 >> /etc/mrtg/mrtg.cfg      

     #產生Fedora 12初始化設定檔,並寫入 /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進行補獲本機與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: 本機流量監測)
 
     右下角: 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協定採集設備上流量統計訊息
 
     > 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 規範
  
  
 
    > cfgmaker public@192.168.0.200 >> /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次直到任一訊息沒有出現為止
 
       > 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}'`
   
     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次直到任一訊息沒有出現為止
 
       > 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
 
         > 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次直到任一訊息沒有出現為止
 
       > indexmaker /etc/mrtg/mrtg.cfg --output=/var/www/mrtg/index.html      

       
 #建立網頁索引
 
   [驗證:登入網頁查看MEM外掛MOD是否已順利運行]
 
   *MRTG成功列出了,使用者&系統本身佔用MEM%與目前MEM負載值*
 
  
 
LAB操作參考資料:
 
鳥哥的網站 & Linux 網路安全與監控馬上就能用處方籤/旗標
 
結語: 本人還是習慣用Cacti 事半功倍....Keynes寫於2010/08/29
 
arrow
arrow
    全站熱搜

    終極.凱因斯 發表在 痞客邦 留言(0) 人氣()