SNMP を使用して利用可能なファイルシステムのスペース

SNMP を使用して利用可能なファイルシステムのスペース

Solaris 10 および Ubuntu 11.10 で SNMP を使用してファイルシステムのスペース情報を収集したいと思います。問題は、SNMP に の「使用可能」列に対応する属性がないように見えることですdf

たとえば、df -kローカル ファイルシステムの出力は次のとおりです。

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sdb1             36841040  13489312  21480268  39% /

そして、SNMPデーモンからの関連属性は次のとおりです(Net-SNMPドキュメント):

HOST-RESOURCES-MIB::hrStorageDescr.31 = STRING: /
HOST-RESOURCES-MIB::hrStorageSize.31 = INTEGER: 9210260
HOST-RESOURCES-MIB::hrStorageUsed.31 = INTEGER: 3372328
HOST-RESOURCES-MIB::hrStorageAllocationUnits.31 = INTEGER: 4096 Bytes

これで9210260*4 = 36841040、、3372328*4 = 13489312およびが出力の列と一致しますdf。ただし、「Available」列に対応する属性は見つかりません。これは単に 2 つの列を減算するだけの問題ではないことに注意してください。「Available」列は、ファイルシステムごとに異なるいくつかの隠れたオーバーヘッドを考慮しているようです。

SNMP を使用して「使用可能」列情報を収集または計算する方法はありますか?

答え1

利用可能なスペースを確保するには、標準のSNMPに加えて追加の設定を行う必要があると思います。NET-SNMP ドキュメント次のようなことが言及されています。

ディスク容量を監視するときに使用できるテーブルは、UCD-SNMP-MIB:dskTable と HOST-RESOURCES-MIB:hrStorageTable の 2 つです。これらのテーブルには 2 つの顕著な違いがあります。UCD-SNMP-MIB:dskTable は snmpd.conf で設定ディレクティブを必要としますが、空き容量のパーセンテージを直接測定することもできます。

したがって、hrStorageTable ではなく dskTable にアクセスするには、HOST-RESOURCES-MIB ではなく UCD-SNMP-MIB を使用する必要があるようです。

関連情報