电脑技术学习

Monitoring Interface for Apache 1.3 & MRTG

dn001




 0.名稱
  apache mod_watch: Monitoring Interface for Apache 1.3 & MRTG
 
  
  
  樣本:
   font <>
         
 1.描述
  mod_watch 這個apache module可以用來觀察並收集每一個虛擬主機存取的狀況
  這個module被用來和MRTG結合,以圖形方式展示資料的進出.

 2.安裝 
  路徑: /usr/ports/www/mod_watch/

 3.設定
  修改 /usr/local/etc/apache/httpd.conf
  
 A./watch-info 會顯示一些數值,分別是:
  
  名稱            已啟動時間(秒) 流入封包   流出封包    request數  讀取頁面
  ohaha.ks.edu.tw 68258          127        52807447    19235      2631
  ifName          ifUptime       ifInOctets ifOutOctets ifRequests ifDocuments   
  
  新增 /watch-info 設定
    # 針對主網頁
    <Location /watch-info>
    SetHandler watch-info
    </Location>
    # 針對個人網頁
    <Location /~*/watch-info>
    SetHandler watch-info
    </Location>

 B./watch-copyright 顯示版本及版權訊息
  
  新增 /watch-copyright 設定
    <Location /watch-copyright>
    SetHandler watch-copyright
    Order allow,deny
    Allow from 163.19.163.97 # 只允許我自己看..其實有跟沒有一樣到處都看到版本號..~"~
    </Location>

    說明:預設狀況只給某些授權的人觀看. 修改上述的ip位址改成自己信任的區段即可.

 C./watch-table 顯示Shared Memory 狀況
  
  新增 /watch-table 設定
    <Location /watch-table>
    SetHandler watch-table
    </Location>

 小結:設定檔中找到系統新增的這兩行,把註解打開.
   #LoadModule watch_module       libexec/apache/mod_watch.so
   #AddModule mod_watch.c
   
   並新增下述的設定...
   
   <IfModule mod_watch.c>
    # 針對主網頁
    <Location /watch-info>
    SetHandler watch-info
    </Location>
    # 針對個人網頁
    <Location /~*/watch-info>
    SetHandler watch-info
    </Location>

    <Location /watch-copyright>
    SetHandler watch-copyright
    Order allow,deny
    Allow from 163.19.163.97 # 只允許我自己看..其實有跟沒有一樣到處都看到版本號..~"~
    </Location>

    <Location /watch-table>
    SetHandler watch-table
    </Location>
   </IfModule>

 4.設定MRTG
    透過 /usr/local/sbin/apache2mrtg.pl 來取得MRTG設定檔.
    操作:
     apache2mrtg.pl /usr/local/etc/apache/httpd.conf > /usr/local/etc/apache/mod_watch.cfg

    修改取的的檔案 /usr/local/etc/apache/mod_watch.cfg
    新增
     WorkDir:/usr/local/www/data/mod_watch/ 你想要存放mrtg檔案的資料夾
     Options[_]: growright
     Language: big5

 5.啟動mod_watch
   a.重新啟動 apache 伺服器 (/usr/local/sbin/apachectl restart)
   b.寫 cron (crontab -e) 自動跑 MRTG
     */5 * * * * /usr/local/bin/mrtg /usr/local/etc/apache/mod_swatch.cfg

 6.結果檢視
    watch_info:       http://ohaha.ks.edu.tw/watch-info  ; http://panda.mlc.edu.tw/watch-info
    watch_copyright:  http://ohaha.ks.edu.tw/watch-copyright ; http://panda.mlc.edu.tw/watch-copyright
    watch_table:      http://ohaha.ks.edu.tw/watch-table ; http://panda.mlc.edu.tw/watch-table
    
    MRTG圖表: http://ohaha.ks.edu.tw/mod_watch/

 7.補充說明
   mod_watch.pl 的預設參數為讀取 ifInOctets & ifOutOctets 資料.
   但是這是可以改變的..可能的讀取資料為:
     ifInOctets   收到request的流量(單位:bytes)
     ifOutOctets  回應request的流量(單位:bytes)
     ifRequests   所接收到的requests
     ifDocuments  所送出的documents
   
   若要變更則在mod_watch設定檔中(此例為:mod_watch.cfg)
     將原先的參數為:
     mod_watch.pl -f ifInOctets,ifOutOctets http://ohaha.ks.edu.tw/watch-info
     因為是預設值所以只有顯示:
     mod_watch.pl http://ohaha.ks.edu.tw/watch-info
     變更為:
     mod_watch.pl -f ifRequests,ifDocuments http://ohaha.ks.edu.tw/watch-info
     
     MRTG圖表: http://ohaha.ks.edu.tw/mod_watch/2/

标签: