【技巧】量產型 MRTG 心得



贊助商連結


threesecond
2006-01-25, 11:26 AM
本文轉自敝人網站:
http://www.threesecond.info/xoops/modules/ipboard/index.php?showtopic=503
最新版本以敝人網站為主。


這個程式可以一次針對大量設備設定 MRTG。

系統: FC4
架構:
1. FC4 主機一台,身兼 NAT, Firewall, Proxy Server, MRTG Server
2. 總公司對外 ADSL 一條,對內 T1 專線一條,連接 ISP 提供的硬體 VPN 線路。
  總公司的子網路是 192.168.0.0/24
3. 45 家分公司,每家店一條 ADSL 連接 ISP 做硬體 VPN,子網路分別是 192.168.1.0/24 到 192.168.45.0/24。

開始:
1. yum install mrtg (廢話),yum 會把相依性的問題解決乾淨。
2. vi /root/setup-mrtg.sh

#!/bin/sh

# 指定環境語言,否則無法產生網頁檔。
LANG=C

# 將需要個別設定的 ATU-R 寫在這裡,以空格分開。
# 連續範圍子網路的設定在下一段,不要寫在這裡。
ATU_R="202.xxx.xxx.142 192.168.0.252"

for ip in $ATU_R; do
# 產生設定檔,以 ATU-R 的 IP 為檔名。
cfgmaker public@$ip \
--global 'WorkDir: /var/www/mrtg/net' \
--global 'Options[_]: growright, bits' \
--global 'Language: big5' \
> /etc/mrtg/mrtg-$ip.cfg

# 執行三次 mrtg,產生 ok 的設定檔。
mrtg /etc/mrtg/mrtg-$ip.cfg
echo "Generate MRTG report 1..."
mrtg /etc/mrtg/mrtg-$ip.cfg
echo "Generate MRTG report 2..."
mrtg /etc/mrtg/mrtg-$ip.cfg
echo "Generate MRTG report 3...ok"

#根據設定檔產生網頁,以 ATU-R 的 IP 為網頁標題。
indexmaker \
--output=/var/www/mrtg/net/mrtg-$ip.html \
--title="$ip" \
/etc/mrtg/mrtg-$ip.cfg
done

# 指定子網路的範圍,由 192.168.1.0/24 ~ 192.168.45.0/24,如有需要可自行再增加。
for((i=0;i<46;i++))
do
# 產生設定檔,以分公司 Gateway 為檔名。
cfgmaker [email protected].$i.254 \
--global 'WorkDir: /var/www/mrtg/net' \
--global 'Options[_]: growright, bits' \
--global 'Language: big5' \
> /etc/mrtg/mrtg-192.168.$i.254.cfg

# 執行三次 mrtg,產生 ok 的設定檔。
mrtg /etc/mrtg/mrtg-192.168.$i.254.cfg
echo "Generate MRTG report 1..."
mrtg /etc/mrtg/mrtg-192.168.$i.254.cfg
echo "Generate MRTG report 2..."
mrtg /etc/mrtg/mrtg-192.168.$i.254.cfg
echo "Generate MRTG report 3...ok"

# 根據設定檔產生網頁,以分公司 Gateway 為網頁標題
indexmaker \
--output=/var/www/mrtg/net/mrtg-192.168.$i.254.html \
--title="192.168.$i.254" \
/etc/mrtg/mrtg-192.168.$i.254.cfg
done

3. chmod 711 /root/setup-mrtg.sh,
然後直接執行下去,按照上面範例會偵測 47 台ATU-R,大約20分鐘左右,可以先去泡個茶。
泡完茶後所有的網頁就建立完成了。

贊助商連結


threesecond
2006-01-25, 11:31 AM
4. vi /root/run-mrtg.sh

#!/bin/sh
LANG=C

# 這是 MRTG 的常駐程式,設定在 /etc/crontab 裡面,每五分鐘執行一次。
# 必須先以 /root/setup-mrtg.sh 設定好全部的設定檔。

# 這裡輸入要單獨偵測的 ATU-R,以空格分開。
ATU_R="202.xxx.xxx.142 192.168.0.252"

for ip in $ATU_R; do
mrtg /etc/mrtg/mrtg-$ip.cfg > /dev/null 2>&1
done

# 這裡設定全部的分公司 Gateway,從 192.168.0.254 到 192.168.45.254,可自行增加。
for((i=0;i<46;i++))
do
mrtg /etc/mrtg/mrtg-192.168.$i.254.cfg > /dev/null 2>&1
done
chmod 711 /root/run-mrtg.sh

5. vi /etc/crontab

*/5 * * * * root /root/run-mrtg.sh #每五分鐘執行一次 MRTG 更新報表。
然後 service crond restart 就完成了。

6. 如果產生的網頁有亂碼,就將 /etc/httpd/conf/httpd.conf
裡面的 AddDefaultCharset 改為 big5,然後 service httpd restart 就好了。

7. 如果同時對大量裝置做 MRTG,硬體配備要好一點才行。

herdint
2006-01-25, 02:28 PM
謝謝您....

最近正在研究 mrtg相關類別....

不過仍摸不出頭緒

我太嫩了 Orz

請問有執行之後的畫面嗎?? 我想看看 ~.~||

threesecond
2006-01-25, 11:41 PM
謝謝您....
最近正在研究 mrtg相關類別....
不過仍摸不出頭緒
我太嫩了 Orz
請問有執行之後的畫面嗎?? 我想看看 ~.~||
執行之後的畫面?就47個MRTG流量網頁而已呀,大概兩百多個圖吧,
MRTG的流量圖在各大學術網站都很容易找到,自己找找吧,
這篇文章是我在公司使用的,只對內部開放,所以從外面看不到。