2013年5月21日 星期二

Linux 開啟snmpd 查詢disk容量功能

1、要先編輯/etc/snmp/snmpd.conf

找到這一段:
# Make at least  snmpwalk -v 1 localhost -c public system fast again.
#       name           incl/excl     subtree         mask(optional)
view    systemview    included   .1.3.6.1.2.1.1
view    systemview    included   .1.3.6.1.2.1.25.1.1
要新增這一行
view    systemview    included   .1.3.6.1.4.1.2021.9

2、設定要監控的磁碟:
disk / 25000000
設定 / 的容量是25G (原HD是30G,我刻意開小一點來讓它提早告警)

3、
這樣用snmpwalk才能爬:
snmpwalk -c public -v 2c 192.168.1.1 .1.3.6.1.4.1.2021.9

UCD-SNMP-MIB::dskIndex.1 = INTEGER: 1
UCD-SNMP-MIB::dskPath.1 = STRING: /
UCD-SNMP-MIB::dskDevice.1 = STRING: /dev/mapper/VolGroup00-LogVol06
UCD-SNMP-MIB::dskMinimum.1 = INTEGER: 25000000
UCD-SNMP-MIB::dskMinPercent.1 = INTEGER: -1
UCD-SNMP-MIB::dskTotal.1 = INTEGER: 28662772
UCD-SNMP-MIB::dskAvail.1 = INTEGER: 23360688
UCD-SNMP-MIB::dskUsed.1 = INTEGER: 3822612
UCD-SNMP-MIB::dskPercent.1 = INTEGER: 14
UCD-SNMP-MIB::dskPercentNode.1 = INTEGER: 0
UCD-SNMP-MIB::dskErrorFlag.1 = INTEGER: error(1)
UCD-SNMP-MIB::dskErrorMsg.1 = STRING: /: less than 25000000 free (= 23360688)

3、你可以直接抓UCD-SNMP-MIB::dskAvail.1 來算,若小於某容量就發告警。
或者直接用dskErrorMsg設定容量下限來做調整。
我此例中設定的是25G,小於25G就會出告警。
當然是比較不好的例子,讀者可以自行調整。

另外補一下。(在RHES下測試正常。)
ls -l | grep ^d | awk '{print $9}' | xargs du -s -m | sort -nf
可以查看現行folder下folder的容量。

沒有留言:

張貼留言