Nagiosのプラグインで、データ転送速度など、変化量・差分を監視するには、プラグインでどこかファイルに監視結果を保存しておいて比較するという手が使えると2つ前のエントリ書きましたが、 check_snmpでもそれがサポートされていたので試してみました。恥ずかしながら知りませんでした。

check_snmpの「—rate」というオプションがそれ。

 --rate
    Enable rate calculation. See 'Rate Calculation' below
 --rate-multiplier
    Converts rate per second. For example, set to 60 to convert to per minute

Rate Calculation:
 In many places, SNMP returns counters that are only meaningful when
 calculating the counter difference since the last check. check_snmp
 saves the last state information in a file so that the rate per second
 can be calculated. Use the --rate option to save state information.
 On the first run, there will be no prior state - this will return with OK.
 The state is uniquely determined by the arguments to the plugin, so
 changing the arguments will create a new state file.

さっそくこれを使って、とあるサーバのトラフィックを確認してみます。Byteをbitに直すため —rate-multiplier に 8 を指定しています

$ ./check_snmp -H 192.168.x.x -C community -P 2c -o ifHCOutOctets.3 --rate-multiplier 8 --rate -w 80000000 -c 90000000
No previous data to calculate rate - assume okay

初回なのでこのようなメッセージがでます。exitコードは「0」でOKとなります

つぎに適当に間隔を置いて同じコマンドを実行

$ ./check_snmp -H 192.168.x.x -C community -P 2c -o ifHCOutOctets.3 --rate-multiplier 8 --rate -w 80000000 -c 90000000
SNMP RATE OK - 71677347.53 | IF-MIB::ifHCOutOctets.3=71677347.53

「SNMP RATE OK - 71677347.53」、だいたい70Mbpsぐらいですが、閾値よりも低いのでOKとなりました。

閾値を変更してもう一度、オプションを変えると以前のデータは使わなくなるようです

$ ./check_snmp -H 192.168.x.x -C community -P 2c -o ifHCOutOctets.3 --rate-multiplier 8 --rate -w 70000000 -c 90000000
No previous data to calculate rate - assume okay
$ sleep 10 && ./check_snmp -H 192.168.x.x -C community -P 2c -o ifHCOutOctets.3 --rate-multiplier 8 --rate -w 70000000 -c 90000000
SNMP RATE WARNING - *77539599.53* | IF-MIB::ifHCOutOctets.3=77539599.53

WARNINGになりました。

なお、ファイルはこのサーバの場合「/usr/local/nagios/var/check_snmp」以下に保存されてました。これはnagiosのビルド時に決まるようです。

普通に便利ですね。

Nagios統合監視[実践]リファレンス (Software Design plus)
株式会社エクストランス 佐藤 省吾 Team-Nagios
技術評論社
売り上げランキング: 236,015

↑リファレンス的に使える良本です

このブログ記事について

このページは、Masahiro Naganoが2013年2月 9日 23:27に書いたブログ記事です。

ひとつ前のブログ記事は「Plack::Middleware::AxsLog supports LTSV format!」です。

次のブログ記事は「memcached上の任意の値を監視できるnagiosプラグイン書いた」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ウェブページ

OpenID対応しています OpenIDについて
Powered by Movable Type 4.27-ja