例えば「/」を監視し、残り容量が20%を下回ったときにエラーとして警告するには、snmpd.confに、次のように記述する。
disk / 20%
このときdskTableを参照すると、次のようになる。
それぞれの値の意味は、表4の通りだ。プロセスの監視と同様に、diskディレクティブで指定した最小値を下回ったときには、エラーを伝えるため、dskErrorFlagが1になる。そこで、この値を監視すれば、ディスクあふれを検知できるというわけだ。
表4■dskTableサブツリー
名称 | OID | 意味 |
---|---|---|
dskIndex | ucdavis.9.1 | インデックス番号 |
dskPath | ucdavis.9.2 | マウント先のパス名。diskディレクティブで指定した値 |
dskDevice | ucdavis.9.3 | デバイスのパス名 |
dskMinimum | ucdavis.9.4 | diskディレクティブにおいて、キロバイト単位で指定したとき(後ろに「%」が付かないとき)のエラー扱いとする設定値 |
dskMinPercent | ucdavis.9.5 | diskディレクティブにおいて、パーセント単位で指定したとき(後ろに「%」を付けたとき)のエラー扱いとする設定値 |
dskTotal | ucdavis.9.6 | そのパスに対応するディスクの総量(キロバイト単位) |
dskAvail | ucdavis.9.7 | そのパスに対応するディスクの残量(キロバイト単位) |
dskUsed | ucdavis.9.8 | そのパスに対応するディスクの使用量(キロバイト単位) |
dskPercent | ucdavis.9.9 | そのパスに対応するディスクの使用割合 |
dskPercentNode | usdavis.9.10 | そのパスに対応するディスクのiノードの使用割合 |
dskErrorFlag | usdavis.9.100 | ディスク容量不足のエラーフラグ。ディスク残量がdskMinimumまたはdskMinPercentを下回ったときに1が設定される |
dskErrorMsg | ucdavis.9.101 | dskErrorFlagが1になったときのエラーメッセージ |
サーバでは、過負荷がかかったかどうかを検知したいことも多いはずだ。
そのようなときに使うのがlaTableサブツリー(ucdavis.10)だ。このサブツリーは、ロードアベレージを監視して、過負荷がかかったときにエラー報告する機能を持つ。laTableサブツリーを使うには、あらかじめsnmpd.confファイルに、loadディレクティブで指定する。
load [1分の閾値] [5分の閾値] [15分の閾値]
loadディレクティブでは、1分間、5分間、15分間に、それぞれどれだけのロードアベレージを超えたならエラーとして警告するかどうかを設定する。5分間の閾値、15分間の閾値は、省略可能だ。
例えば1分間のロードアベレージが10を超えたときにエラーとして報告したいのならば、次のようにする。
load 10
このとき、laTableサブツリー以下の結果は、次のようになる(表5)。
$ snmpwalk -c hogeprivate -v 1 localhost laTable
UCD-SNMP-MIB::laIndex.1 = INTEGER: 1
UCD-SNMP-MIB::laIndex.2 = INTEGER: 2
UCD-SNMP-MIB::laIndex.3 = INTEGER: 3
UCD-SNMP-MIB::laNames.1 = STRING: Load-1
UCD-SNMP-MIB::laNames.2 = STRING: Load-5
UCD-SNMP-MIB::laNames.3 = STRING: Load-15
UCD-SNMP-MIB::laLoad.1 = STRING: 0.00
UCD-SNMP-MIB::laLoad.2 = STRING: 0.00
UCD-SNMP-MIB::laLoad.3 = STRING: 0.00
UCD-SNMP-MIB::laConfig.1 = STRING: 10.00
UCD-SNMP-MIB::laConfig.2 = STRING: 10.00
UCD-SNMP-MIB::laConfig.3 = STRING: 10.00
UCD-SNMP-MIB::laLoadInt.1 = INTEGER: 0
UCD-SNMP-MIB::laLoadInt.2 = INTEGER: 0
UCD-SNMP-MIB::laLoadInt.3 = INTEGER: 0
UCD-SNMP-MIB::laLoadFloat.1 = Opaque: Float: 0.000000
UCD-SNMP-MIB::laLoadFloat.2 = Opaque: Float: 0.000000
UCD-SNMP-MIB::laLoadFloat.3 = Opaque: Float: 0.000000
UCD-SNMP-MIB::laErrorFlag.1 = INTEGER: 0
UCD-SNMP-MIB::laErrorFlag.2 = INTEGER: 0
UCD-SNMP-MIB::laErrorFlag.3 = INTEGER: 0
UCD-SNMP-MIB::laErrMessage.1 = STRING:
UCD-SNMP-MIB::laErrMessage.2 = STRING:
UCD-SNMP-MIB::laErrMessage.3 = STRING:
なおloadディレクティブは、snmpd.confに対して、複数設定することもできる。
Copyright © ITmedia, Inc. All Rights Reserved.