MRTGでディスクIO(Linux編)

MRTGでディスクIO(Linux編)

Linux(FreeBSD)MRTGでディスクIO(Linux編)

今回は MRTG のお話です。MRTG は遠隔のサーバから、対象サーバに対して、CPU の負荷やメモリの状態、ハードディスクの容量などをチェックするツールです。

また、ネットワークのトラフィックもチェックできるので、ハードウエア絡みの監視はほとんどまかなえるのではないでしょうか。

MRTG は snmp というプロトコルを利用して情報を取得します。よって、エージェント側(監視される側)では snmp のデーモンを起動しておく必要があります。CentOS では、net-snmp は yum で簡単に導入することができます。

もちろん tar での提供もされているので、どちらを使用しても大丈夫です。net-snmp5.3 からは snmptrap の設定が 5.2 と比べて若干変更になっているので、注意が必要です。

さて、今回はエージェントを CentOS にしたら、ディスク IO の値が取得できなかったので調べてみました。多分、CPU や HDD のハードウエアではなく、入出力などの部分なので、OS またはカーネルの問題で、MIB 値が変更になったと思われます。

では、早速、下記のコマンドで、デバイスの情報を取得できます。

$ snmpwalk -v 2c -c {SNMPGROUPNAME} localhost 1.3.6.1.4.1.2021.13.15.1.1.2

[一部抜粋]
UCD-DISKIO-MIB::diskIODevice.1 = STRING: ram0
UCD-DISKIO-MIB::diskIODevice.2 = STRING: ram1
UCD-DISKIO-MIB::diskIODevice.17 = STRING: hda
UCD-DISKIO-MIB::diskIODevice.18 = STRING: sda
UCD-DISKIO-MIB::diskIODevice.19 = STRING: sda1
UCD-DISKIO-MIB::diskIODevice.20 = STRING: sda2
UCD-DISKIO-MIB::diskIODevice.21 = STRING: sda3

ちなみに、HDD の状況は df コマンドで確認できます。また、diskIONWritten の値は下記のコマンドで見れます。

$ snmpwalk -v 2c -c {SNMPGROUPNAME} localhost 1.3.6.1.4.1.2021.13.15.1.1.4

[一部抜粋]
UCD-DISKIO-MIB::diskIONWritten.1 = Counter32: 0
UCD-DISKIO-MIB::diskIONWritten.2 = Counter32: 0
UCD-DISKIO-MIB::diskIONWritten.3 = Counter32: 0
UCD-DISKIO-MIB::diskIONWritten.18 = Counter32: 1312542720
UCD-DISKIO-MIB::diskIONWritten.19 = Counter32: 69783552
UCD-DISKIO-MIB::diskIONWritten.20 = Counter32: 43851776

今回は、sda 全体の値を使ってあげれば OK なので、デバイス 18 を使います。

(MRTGの設定例)
Target[diskio]:.1.3.6.1.4.1.2021.13.15.1.1.4.18&.1.3.6.1.4.1.2021.13.15.1.1.3.18:{SNMPGROUPNAME}@{IPアドレス}

Target[diskios]: .1.3.6.1.4.1.2021.13.15.1.1.6.18&.1.3.6.1.4.1.2021.13.15.1.1.5.18:{SNMPGROUPNAME}@{IPアドレス}

RFC1514 を見ても今回はさっぱりわからなかったのですが、diskIODevice の確認ができればなんとか掴めたような気がします。間違っていたらご指摘下さい。まだ、Linux のハードウエア周りは苦手です・・・。

最終更新日:

関連記事

人気記事

新着情報