第6回 サーバ異常をSNMPで通知させるにはSNMPによるネットワークモニタリング「第2版」(5/6 ページ)

» 2007年05月25日 07時59分 公開
[大澤文孝,ITmedia]

 複数設定すれば、例えばロードアベレージが5を超えたときには担当者レベルにだけに通知、10を超えたときには関与する部署全員に通知、といったように、通知先を切りわけることができるようになる(実際にメールで通知する方法については、回を改めて説明する)。

表5■laTableサブツリー(nは「1分間=1」「5分間=2」「15分間=3」)

名称 OID 意味
laIndex.n ucdavis.10.1.n インデックス番号
laNames.n ucdavis.10.2.n 監視しているロードアベレージ番号「Load-1」「Load-5」「Load-15」
laLoad.n ucdavis.10.3.n 現在のロードアベレージ値(文字列)
laConfig.n ucdavis.10.4.n エラー扱いとする下限値。loadディレクティブで指定した値。この値をlaLoadが超えたときにはlaErrorFlagが1になる
laLoadInt.n ucdavis.10.5.n 現在のロードアベレージ値を100倍して整数化したもの
laLoadFloat.n ucdavis.10.6.n 現在のロードアベレージ値を浮動小数点として示したもの
laErrorFlag.n ucdavis.100.n エラーを伝えるフラグ。ロードアベレージがlaConfigを超えているときには1になる
laErrMessage.n ucdavis.101.n laErrorFlagが1であるときのエラーメッセージ

ファイルサイズの監視

 サーバでは、ログファイルサイズなどが巨大になり、運用中に問題になることもあるだろう。そのような事態を避けるのに使えるのが、ファイルサイズの監視機能だ。

 ファイルサイズを監視するには、fileディレクティブを用いる。


file [ファイルのフルパス名] [警告サイズ]

 fileディレクティブは、最大20個まで指定できる。

 警告サイズはキロバイト単位で指定する。例えば、/var/log/messagesが約10Mバイトを超えたときにエラーとするには、リスト4のように指定する。

リスト4■ファイルサイズを監視するsnmpd.conf内記述の例

file /var/log/messages 102400

 fileディレクティブを設定すると、ファイル監視情報がfileTable以下に格納される(表6)


$ snmpwalk -c hogeprivate -v 1 localhost fileTable
UCD-SNMP-MIB::fileIndex.1 = INTEGER: 1
UCD-SNMP-MIB::fileName.1 = STRING: /var/log/messages
UCD-SNMP-MIB::fileSize.1 = INTEGER: 44 kB
UCD-SNMP-MIB::fileMax.1 = INTEGER: 102400 kB
UCD-SNMP-MIB::fileErrorFlag.1 = INTEGER: 0
UCD-SNMP-MIB::fileErrorMsg.1 = STRING:

 ここでfileSizeを見れば現在のファイルサイズが分かり、fileErrorFlagを見ればサイズが超えていないかどうかが分かる。

表6■fileTableサブツリー

名称 OID 意味
fileIndex ucdavis.15.1 インデックス番号
fileName ucdavis.15.2 監視するファイル名。fileディレクティブで指定したもの
fileSize ucdavis.15.3 現在のファイルサイズ(キロバイト)
fileMax ucdavis.15.4 エラー扱いとするサイズ(キロバイト)。この値よりもファイルサイズが大きくなったときにfileErrorFlagが1になる
fileErrorFlag ucdavis.15.100 エラーを示すフラグ。fileSizeがfileMaxを上回ったときに1になる
fileErrorMsg ucdavis.15.101 fileErrorFlagが1であるときのエラーメッセージ

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ