藍森林首頁 | 返回主頁 | 本站地圖 | 站內搜索 | 聯繫信箱 |
 您目前的位置:首頁 > 自由軟件 > 技術交流 > 系統管理


    

藍森林 http://www.lslnet.com 2006年4月6日 20:18



MRTG使用方法

幾天來的心得,寫出來大家分享一下,如果有什麼錯誤的地方希望各位大哥指正 :-)

接口流量:
可以由cfgmaker自動生成:

# cfgmaker --global "workdir: /var/mrtg2/traffic.if" snmpro@10.x.x.x --output=myrouter.cfg

但如果不想抓取一台路由器或交換機的所有端口的流量信息(一般考慮到節省本地資源),可以選擇手動生成設定檔的方法,而且,如果路由器上經常要改變設定(尤其對於配置了tunnel的路由器),這樣做可以防止因為路由器設定的改動而重新生成MRTG的設定檔。可以使用不同方式來指定一個接口,可以根據自己的實際情況來選擇:

根據接口在MIB中的ifindex,這是cfgmaker默認的使用的方法,可以通過snmpget工具取得這個值:
ifInOcetes.17&ifOutOctets.17:snmpro@10.x.x.x

使用接口名稱來指定該接口:
ifInOcetes\Serial3/0/0&ifOutOctets\Serial3/0/0:snmpro@10.x.x.x

使用接口的IP地地址來指定該接口:
ifInOcetes/218.x.x.x&ifOutOctets/218.x.x.x:snmpro@10.x.x.x

使用接口的物理地址來指定該接口:
ifInOcetes!00-50-BA-E7-9B-EA&ifOutOctets!00-50-BA-E7-9B-EA:snmpro@10.x.x.x

##########################################
WorkDir: /var/mrtg2/traffic.if
EnableIPv6: no
Options[myname_fxp0]: growright, bits

# Cisco Rotuer, Switch, PIX etc.
Target[myrouter_s300]: ifInOcetes\Serial3/0/0&ifOutOctets\Serial3/0/0:snmpro@10.x.x.x
SetEnv[myrouter_s300]: MRTG_INT_IP="10.x.x.x" MRTG_INT_DESCR="Serial3/0/0"
MaxBytes[myname_fxp0]: 6400
Title[myrouter_s300]: myrouter Serial 3/0/0
PageTop[myrouter_s300]: <H1>;myrouter Serial 3/0/0</H1>;

# Common host with snmp service
Target[myname_fxp0]: ifInOctets\fxp0&ifOutOctets\fxp0:snmpro@10.x.x.x
SetEnv[myname_fxp0]: MRTG_INT_IP="10.x.x.x" MRTG_INT_DESCR="fxp0"
MaxBytes[myname_fxp0]: 1250000
Title[myname_fxp0]: myname.mydomain.if.fxp0
PageTop[myname_fxp0]: <H1>;myname.mydomain.if.fxp0</H1>;
##########################################

接口誤碼:
注意,這裡顯示的為MIB中的累加值,這個值並不會被清除接口計數的操作置0,所以如果目標主機已經持續運行很久,這個值有可能會很大,最後使我們看不到細微的變化了。但如果想要顯示差值,刪掉Options中的gaugs選項,這樣一來僅在本次更新時段內接口上的誤碼有所增加時才會有圖形和數字顯示,否則其全部為0.這時候建議加入perminute選項,使每次計算的值都乘以60,這樣所計算出的數值就是每每鐘的平均值,而不在是第秒鐘的平均值.(當然,也要修改相關的描述信息,說明為每分鐘的平均值)因為如果一個接口上在五分鐘內產生的誤碼少於300個,這樣在計算的時候將這個值除以300以取得的每秒平均值還不足1,這樣小的數值在顯示時會出問題,尤其在加入integer選項以後.

##########################################
WorkDir: /var/mrtg2/error.if
EnableIPv6: no

Legend1[_]: Input errors of interface
Legend2[_]: Output errors of interface
LegendI[_]: &InErrors
LegendO[_]: OutErrors
MaxBytes[_]: 1250000000
AbsMax[_]: 125000000000
ShortLegend[_]: &
YLegend[_]: Error Packets
Options[_]: gaugs, growright, nopercent, integer

# Cisco Rotuer, Switch, PIX etc.
Target[myrouter_s300]: ifInErrors\Serial3/0/0&ifOutErrors\Serial3/0/0:snmpro@10.x.x.x
Title[myrouter_s300]: myrouter Serial3/0/0.errors
PageTop[myrouter_s300]: <H1>;myrouter Serial3/0/0.errors</H1>;

# Common host with snmp service
Target[myname_fxp0e]: ifInErrors\fxp0&ifOutErrors\fxp0:snmpro@10.x.x.x
Title[myname_fxp0e]: myname.mydomain if.fxp0.errors
PageTop[myname_fxp0e]: <H1>;myname.mydomain if.fxp0.errors</H1>;
##########################################

CPU負載:

對於配置了net-snmp服務的Linux/UNIX主機:
可以閱讀/usr/local/share/snmp/mibs/UCD-SNMP-MIB.txt以得到更多的信息,如memory和swap的使用情況等

##########################################
WorkDir: /var/mrtg2/load.cpu
EnableIPv6: no

Options[_]: gauge,growright
YLegend[_]: CPU Utilization
Legend1[_]: Current CPU User Time % (Load)
Legend2[_]: Current CPU Idle Time % (Load)
LegendI[_]: User
LegendO[_]: Idle
XSize[_]: 400
YSize[_]: 100
ShortLegend[_]: %
Unscaled[_]: ymwd
MaxBytes[_]: 100

LoadMIBs: /usr/local/share/snmp/mibs/UCD-SNMP-MIB.txt
Target[myname_cpu.0]: ssCpuRawUser.0&ssCpuRawIdle.0:snmpro@10.x.x.x
RouterUptime[myname_cpu.0]: snmpro@10.x.x.x
Title[myname_cpu.0]: myname.mydomain CPU Load
PageTop[myname_cpu.0]: <H1>;myname.mydomain CPU Load</H1>;
##########################################

對於Cisco網絡設備:
這些設備都可以提供三個與CPU負載相關的值,5秒鐘、1分鐘和5分鐘的平均值,這裡取了5秒鐘(可以認為當前值)和5分鐘的平均值

##########################################
WorkDir: /var/mrtg2/cpu_load
EnableIPv6: no

ShortLegend[_]: %
MaxBytes[_]: 100
Unscaled[_]: ymwd
Options[_]: gauge, nopercent, growright
YLegend[_]: CPU Utilization
Legend1[_]: CPU Five Seconds Usage % (Load)
Legend2[_]: CPU Five Minonds Usage % (Load)
LegendI[_]: Five Sec
LegendO[_]: Five Min
XSize[_]: 400
YSize[_]: 100

# Cisco Router (with Cisco IOS - 7500, 6500-router-layer, 3600, 2900 ...)
# 5 Sec: 1.3.6.1.4.1.9.2.1.56.0
# 1 Min: 1.3.6.1.4.1.9.2.1.57.0
# 5 Min: 1.3.6.1.4.1.9.2.1.58.0
Target[myrouter_cpu.1]: 1.3.6.1.4.1.9.2.1.56.0&1.3.6.1.4.1.9.2.1.58.0:snmpro@10.x.x.x
RouterUptime[myrouter_cpu.1]: snmpro@10.x.x.x
Title[myrouter_cpu.1]: myrouter CPU Load
PageTop[myrouter_cpu.1]: <H1>;myrouter CPU Load</H1>;

# Cisco Catalyst Switch(with Cisco Catalyst CLI - 6500-switch-layer 4500 ...)
# 5 Sec: 1.3.6.1.4.1.9.9.109.1.1.1.1.3.9
# 1 Min: 1.3.6.1.4.1.9.9.109.1.1.1.1.4.9
# 5 Min: 1.3.6.1.4.1.9.9.109.1.1.1.1.5.9
Target[myswitch_cpu]: 1.3.6.1.4.1.9.9.109.1.1.1.1.3.9&1.3.6.1.4.1.9.9.109.1.1.1.1.5.9:snmpro@10.x.x.x
RouterUptime[myswitch_cpu]: snmpro@10.x.x.x
Title[myswitch_cpu]: myswitch CPU Load
PageTop[myswitch_cpu]: <H1>;myswitch CPU Load</H1>;

# Cisco PIX (515, 520, 525 ...)
# 5 Sec: .1.3.6.1.4.1.9.9.109.1.1.1.1.3.1
# 1 Min: .1.3.6.1.4.1.9.9.109.1.1.1.1.4.1
# 5 Min: .1.3.6.1.4.1.9.9.109.1.1.1.1.5.1
Target[myfirewall_cpu]: .1.3.6.1.4.1.9.9.109.1.1.1.1.3.1&.1.3.6.1.4.1.9.9.109.1.1.1.1.5.1:snmpro@10.x.x.x
RouterUptime[myfirewall_cpu]: snmpro@10.x.x.x
Title[myfirewall_cpu]: myfirewall CPU Load
PageTop[myfirewall_cpu]: <H1>;myfirewall CPU Load</H1>;
##########################################

以下方法可以取得目標主機MIB信息:

snmpwalk -v 1 -c snmpro 10.x.x.x >; tempfile

snmpget -v 1 -c snmpro 10.x.x.x ifInErrors.2

更多關於MRTG設定檔的信息可以從下面的地址得到:

http://people.ee.ethz.ch/~oetiker/webtools/mrtg/config.html

MRTG使用方法

不錯∼
頂 :D

MRTG使用方法

如果被監視主機有多個CPU,MaxBytes還是100嗎?用ssCpuRawUser.0得到的CPU負載究竟表示什麼?




Copyright © 1999-2000 LSLNET.COM. All rights reserved. 藍森林網站 版權所有。 E-mail : webmaster@lslnet.com