- MRTG 簡易設定法 ( Fedora )
- 1.
需安裝的套件 httpd
, freetype , libjpeg
, libpng , gd
, mrtg , net-snmp
- 使用 # rpm –qa | grep xxxx < - - - 為套件名稱查詢
-
- 2.
Fedora Core1 預設不能監控本
身所以需要修改
- 修改的檔案/etc/snmp/snmpd.conf
- 找到
- view systemview included
.1.3.6.1.2.1.1
- view systemview
included .1.3.6.1.2.1.2 < - - - -加入這行
- view systemview included
.1.3.6.1.2.1.25.1.1
- 修改完成重新啟動/etc/rc.d/init.d/snmpd
restart
-
- 3.
由於Fedora Core1的Apache預設用UTF-8編碼,但是MRTG無法產生UTF-8編碼的網頁所以需要修改Apache的編碼
- 修改的檔案/etc/httpd/conf/httpd.conf
- 找出AddDefaultCharset UTF-8 < - - -將原本的UTF-8改
成 big5
-
- 4.
設定可瀏覽的ip
- 修改的檔案/etc/httpd/conf.d/mrtg.conf
- Alias /mrtg /var/www/mrtg < - - -設定mrtg資料放在/var/www/mrtg 別名為 mrtg 因此網頁為http://your_ip/mrtg
- <Location /mrtg>
- #Deny form all < - - - 將此行註解
- Allow form all < - - - 加入此行為所有的 ip 都可以看
- Allow form 192.168.0.1 < - - - 允許特定的ip瀏覽
- #Allow form .example.com
- </Location>
- 之後就可以重新啟動Apache /etc/rc.d/init.d/httpd restart
-
- 5.
產生設定檔
- 第一次產生設定檔 #cfgmaker
public@ ip > /etc/mrtg/mrtg.cfg
- 如果有很多設備需要加入時就用 #cfgmaker
public@ ip >> /etc/mrtg/mrtg.cfg
- mrtg.cfg需要修改
的地方
- WorkDir : /var/www/mrtg < - - -產
生的資料所要存放的目錄
- Refresh: 300
< - - -預設300秒更新一次網頁
- Interval:5
< - - -每5分鐘讀取設定檔一次
- Language: big5
< - - -輸出big5編碼的網頁
- Options[_]: growright < - - -圖表由右邊開始畫起
-
- Title[ip] : ……會出現在網頁瀏覽器的標題列
- PageTop[ip] : …….為
網頁的標題
- - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - -- - - - - - - -
- - - - - - - -
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - -
- - - - - - -
- 注意WorkDir:的設定,在WorkDir前面不可以有任何的空白,WorkDir跟 : 中間也不可以有空白還有 WorkDir: 之後一定
- 要空一格後再接/var/www/mrtg要不然會出現
ERROR: Line 8 ( WorkDir: /var/www/mrtg) in
CFG file (/etc/mrtg/mrtg.cfg) does no make
sense
- 這樣的錯誤訊息出現導至 mrtg 無法執行的,因為有時
候cfgmaker自己做出來的會有多
的空白所以要特別注意的歐
- - - - - - - - - - - - - -
- - - - - - - - - - - - - - - -- - - - - - - -
- - - - - - - -
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - -
- - - - - - -
-
- 6.
偵測進出的流量
- #env LANG=C mrtg /etc/mrtg/mrtg.cfg
- 剛開始要執行三次以上才不會有錯誤
-
- 7.
如果有很多設備要監控可以製作一個目錄的網頁
- #indexmaker /etc/mrtg/mrtg.cfg –output=/var/www/mrtg/index.html
- 這樣就可以製作標題的網頁
-
- 8.
定時執行
- 檢視/etc/cron.d/mrtg檔
- 內容
- 0-59/5 * * * * root /usr/bin/mrtg /etc/mrtg/mrtg.cfg
- - - - - - - - - - - - - -
-=======================-------------------------
- 9. SNMP 的 trap 訊
息是由UDP port:162由代
理者送到 NMS
- SNMP 的請求訊
息由 NMS送到代理者的 UDP port:161
- SNMP 請求的回
應訊息由代理者的port:161送回 NMS
- 所以有防火牆的要注意這個UDP port 要記得開啟才可以用歐
- #------------------------------------------------------------------------------------------------------------------------
MRTG抓cpu使用量及記憶體使用量需安裝:
# yum install sysstat
MRTG抓系統溫度電壓風扇轉速需要安裝
#yum install lm_sensors
#sensors-detect
#sensors
MRTG抓硬碟溫度需要安裝
#yum install hddtemp
#hddtemp /dev/sda
#------------------------------------------------------------------------------------------------------------------------
APACHE 改中文 UTF-8
# cd /etc/httpd/conf.d
# vi mrtg.conf
要加入的如下:
Alias /mrtg /var/www/mrtg
<Location /mrtg>
AddDefaultCharset UTF-8
Order deny,allow
#ADeny from all
Allow from all
#Allow from localhost
# Allow from .example.com
</Location>
#------------------------------------------------------------------------------------------------------------------------
如何把我們系統的狀況抓到MRTG上面顯示出來??
MRTG你只要給他兩個數字他就會自動幫你畫圖出來,下面的方法就是寫一個SHELL產生兩個數字,
之後再丟給MRTG這樣就可以讓你把電腦系統的資訊弄成MRTG的圖片了,所以可以自己想各種的方法
只要是兩個數子丟給這個MRTG就可以得到數據及表格
下面的方法是我系統內的SHELL,不同的電腦需要不同的方式去過濾出數字,如果照COPY不能用的話要自己改
#------------------------------------------------------------------------------------------------------------------------
- MRTG 抓CPU溫度及系統的溫度
1.寫一個shell產生兩組數據 ,檔名mrtg_temp1.sh內容如下
#!/bin/bash
/usr/local/bin/sensors | grep temp1 | cut -d"+" -f2 | awk '{print $1}' | cut -d"." -f1
/usr/local/bin/sensors | grep temp2 | cut -d"+" -f2 | awk '{print $1}' | cut -d"." -f1
執行這個SHELL會輸出兩個數字如下:
43
45
這就是溫度
2.建立一個mrtg_temp1.cfg 內容如下:
WorkDir: /var/www/mrtg
Language: UTF-8
Target[mrtg_temp1]: `/etc/mrtg/mrtg_temp1.sh`
MaxBytes[mrtg_temp1]: 150
Options[mrtg_temp1]: gauge, nopercent, growright
YLegend[mrtg_temp1]: Temp
ShortLegend[mrtg_temp1]: 度
LegendI[mrtg_temp1]: Temp1 :
LegendO[mrtg_temp1]: Temp2 :
Title[mrtg_temp1]: 192.168.1.1 主機 溫度 統計表
PageTop[mrtg_temp1]: <H1> 192.168.1.1 主機 溫度</H1>
3.將兩個檔案寫好並存檔
#chmod 700 mrtg_temp1.sh
#cat /etc/mrtg/mrtg_temp1.cfg >> /etc/mrtg/mrtg.cfg
#indexmaker /etc/mrtg/mrtg.cfg -output=/var/www/mrtg/index.html
#env LANG=C mrtg /etc/mrtg/mrtg.cfg
#env LANG=C mrtg /etc/mrtg/mrtg.cfg
#env LANG=C mrtg /etc/mrtg/mrtg.cfg
#------------------------------------------------------------------------------------------------------------------------
MRTG 抓CPU 使用量
1.寫一個shell產生兩組數據 ,檔名mrtg_cpu.sh內容如下:
#!/bin/bash
sar -u 1 3 | grep Average | awk '{print $3}'
sar -u 1 3 | grep Average | awk '{print $5}'
執行這個shell會輸出兩個數字,system跟user的CPU使用量如下:
34
44
這兩個一個是系統的一個是使用者的使用量
2.建立一個mrtg_cpu.cfg 內容如下:
WorkDir: /var/www/mrtg
Language: UTF-8
Target[cpu_usage1]: `/etc/mrtg/mrtg_cpu.sh`
MaxBytes[cpu_usage1]: 100
Options[cpu_usage1]: gauge, nopercent, growright
YLegend[cpu_usage1]: CPU LOAD
ShortLegend[cpu_usage1]: %
LegendI[cpu_usage1]: USER :
LegendO[cpu_usage1]: SYSTEM :
Title[cpu_usage1]: 192.168.3.1 主機 CPU USAGE 統計表
PageTop[cpu_usage1]: <H1> 192.168.3.1 主機 CPU USAGE</H1>
3.將兩個檔案寫好並存檔
#chmod 700mrtg_cpu.sh
#cat /etc/mrtg/mrtg_cpu.cfg >> /etc/mrtg/mrtg.cfg
#indexmaker /etc/mrtg/mrtg.cfg -output=/var/www/mrtg/index.html
#env LANG=C mrtg /etc/mrtg/mrtg.cfg
#env LANG=C mrtg /etc/mrtg/mrtg.cfg
#env LANG=C mrtg /etc/mrtg/mrtg.cfg
#------------------------------------------------------------------------------------------------------------------------
-
-