前回『NagiosでサーバのSNMP監視を行う方法』で紹介したSNMPで、サーバのトラフィック監視を行う。
前回もサーバのトラフィック監視を行ったが、今回はINとOUTの両方を監視する。
また、今回は、バイト/sではなく、おなじみのbps(ビット/s)で監視する。
今回の監視対象は、CentOS release 6.4 (Final)の64ビット版だ。
SNMPの32ビットカウンタと64ビットカウンタ
snmpwalkコマンドで、そのOSがMIBをカバーしているかを確認する必要があるが、IF-MIB::ifInOctetsとIF-MIB::ifOutOctetsは32ビットカウンタだ。
例えば、5分間隔で監視をしていたとして、その間に32ビット上限の数値を超えたとしたら、オーバーフローを起こして、数値は0に戻る。
グラフ化すると歯抜けのような歪なグラフになり、実際のトラフィックをきちんと取得できないことになる。
IF-MIB::ifHCInOctetsとIF-MIB::ifHCOutOctetsは64ビットカウンタだ。
もし、こちらが取得可能であれば、こちらの値を監視したほうがいい。
今回の監視対象であるCentOS release 6.4 (Final)の64ビット版では、IF-MIB::ifHCInOctetsとIF-MIB::ifHCOutOctetsが使えるため、この値で監視を行う。
snmpwalkコマンドで確認する方法は、前回のブログ『NagiosでサーバのSNMP監視を行う方法』を参照して欲しい。
check_snmpコマンドについて
今回check_snmp v1.4.16で確認を行った。
check_snmp は、複数のMIBを指定することが出来る。
|
–rate オプションは、前回と今回の差分を取って秒単位の値として算出する。
check_snmp がファイル(/usr/local/nagios/var/check_snmp)に最後の状態情報を保存することにより、毎秒のレートを算出する。
初回の起動では、前回の値が存在しないため、以下のようなメッセージが出力されるが、監視結果としては[OK]を返す。
No previous data to calculate rate – assume okay
状態保存用のファイルは、引数ごとに作成されるため、引数を変更すると、新しい状態ファイルが作成される。
–rate-multiplier オプションは、毎秒レートを変換するのに使われる。
毎分レートに変換するためには60を設定してやればいい。
但し、このオプションで指定された値は、check_snmp内では、毎秒レートとして算出された値に掛け合わせているだけだ。
つまり、–rate-multiplier 60 のとき、算出される値=毎秒レートの値×60 となる。
これを応用すると、レート変換以外の使い方が出来る。
トラフィックをbpsで監視する方法
IF-MIB::ifHCOutOctets は、オクテット数であるため、普通にcheck_snmpコマンドで監視すると、バイト/sの毎秒レートで監視することになる。
これをbps(ビット/s)で監視するためには、IF-MIB::ifHCOutOctets のオクテット数を8倍する必要がある。
つまり、bps(ビット/s)=バイト/s × 8 とする必要がある。
このためには、–rate-multiplier オプションを利用できる。
check_snmpコマンドで、–rate-multiplier 8 とすればよい。
|
Nagiosの監視コマンドの設定
次は、Nagiosの監視コマンドの設定を行う。
Nagiosでcheck_snmpを使った監視を行うための設定だ。
NagiosQLを使って以下のように設定する。
|
Nagiosのサービス監視設定
次は、Nagiosのサービス監視の設定を行う。
ホストの設定は終わっているものとする。
NagiosQLを使って以下のように設定する。
以下のポイント以外は自由に設定して構わない。
|
Nagiosの監視画面の確認
Nagiosのサービス監視画面の確認を行う。
ステータス情報とパフォーマンス情報がきちんと取れていれば問題ない。
図3:Nagiosのサービス監視画面(1)
図4:Nagiosのサービス監視画面(2)
|
Categories: CentOS ,Nagios ,Nagios Plugins ,SNMP