FreeBSD MRTG + Http_Ping
发表于:2007-07-01来源:作者:点击数:
标签:
◎MRTG + Http_Ping 透過 http_ping 使用 mrtg 程式監測網路速度. http_ping 連線品質 對 教育部 ◎安裝 MRTG 參閱: 網路應用 MRTG 流量統計 ◎安裝 Http_Ping 參閱: 網路應用 Http_Ping 測量 ◎設定 MRTG + Http_Ping 的設定檔案 路徑:我在主網頁下的mrtg資
◎MRTG + Http_Ping 透過 http_ping 使用 mrtg 程式監測網路速度.
http_ping 連線品質 對 教育部
◎安裝 MRTG
參閱: 網路應用 > MRTG 流量統計
◎安裝 Http_Ping
參閱: 網路應用 > Http_Ping 測量
◎設定 MRTG + Http_Ping 的設定檔案
路徑:我在主網頁下的mrtg資料夾下的http_ping資料夾下建了一個名為edu的資料夾,方便管理.
(因為可能會監測好幾個點 所以另建一個http_ping資料夾放置)
檔案1:/usr/local/www/data/mrtg/http_ping/edu/http_ping.edu
內容如下:
#!/usr/local/bin/bash
/usr/local/bin/http_ping -c 5 -i 2 -q http://www.edu.tw/ > file.a
/usr/local/www/data/mrtg/http_ping/edu/edu-get > file.b
說明:設定http_ping偵測的方式及對象,並將結果導出到 file.a 檔案.
file.a 展示:
檔案2:/usr/local/www/data/mrtg/http_ping/edu/edu-get
內容如下:
#!/usr/bin/perl
$ping_str=`cat file.a`;
$val=(split(@# @#,$ping_str))[28];
print "$val\n";
說明:透過edu-get 取得原先http_ping結果中,想要偵測的數值,並將結果導出到 file.b 檔案.
file.b 展示:
附註:我取的是 response 時間,因為跟我們習慣的ping回應時間相當.
檔案3:/usr/local/www/data/mrtg/http_ping/edu/edu
內容如下:
#!/usr/bin/perl
$ping_str=`cat file.b`;
$val=(split(@#/@#,$ping_str))[1];
$val2=(split(@#/@#,$ping_str))[2];
$val=int($val);
$val2=int($val2);
print "$val\n";
print "$val2\n";
print "0\n";
print "0\n";
說明:透過edu這個執行檔 來取得相關的http_ping回應中平均值及最大值.
檔案4:/usr/local/www/data/mrtg/http_ping/edu/edu.cfg
內容如下:
Target[Http_Ping]: `/usr/local/www/data/mrtg/http_ping/edu/edu`
MaxBytes[Http_Ping]: 1000
Title[Http_Ping]: Http_Ping Time 連線品質 MRTG 圖
PageTop[Http_Ping]: Http_Ping Time 連線品質 MRTG 圖 < OHaHa對 教育部 >
Options[Http_Ping]: gauge,growright
YLegend[Http_Ping]: Http_Ping Time
ShortLegend[Http_Ping]: ms
LegendI[Http_Ping]: 平均回應時間
LegendO[Http_Ping]: 最大回應時間
WorkDir:/usr/local/www/data/mrtg/http_ping/edu/
Language:big5
說明:MRTG設定檔...
◎執行MRTG + Http_Ping
檔案5:/usr/local/www/data/mrtg/http_ping/edu/start.edu
內容如下:
/usr/local/www/data/mrtg/http_ping/edu/http_ping.edu
/usr/local/bin/mrtg /usr/local/www/data/mrtg/http_ping/edu/edu.cfg
rm -rf /usr/local/www/data/mrtg/http_ping/edu/file.*
說明:先透過 http_ping.edu 才能取得相關數值.
所以先執行http_ping後跑MRTG畫圖,最後刪掉不要的檔案file.a 和 file.b
a.第一次執行
#/usr/local/www/data/mrtg/http_ping/edu/start.edu
起先因為沒有檔案 所以會有錯誤訊息,run個3到5次就ok囉~~
b.檢視成果
因為之前edu.cfg中設定工作區為/usr/local/www/data/http_ping/edu/
所以產生的檔案就在於此
http://你的ip位置/mrtg/http_ping/edu/http_ping.html
當然了,可以為了少打那幾個字,將http_ping.html連結為index.html
cd /usr/local/www/data/mrtg/http_ping/edu/
ln -s http_ping ./index.html
如此就可以用:http://你的ip位置/mrtg/http_ping/edu/ 連結.
d.寫入crontab (crontab -e)
我設定每10分鐘run一次.
*/10 * * * * /usr/local/www/data/mrtg/http_ping/edu/start.edu
◎我的成果:
◎檔案下載: http_ping.tar.gz
◎資料來源: 藍色泡泡(憤怒中..~"~)
原文转自:http://www.ltesting.net