●file行 |
file行を設定すると,特定のファイルのファイルサイズを監視したり,ファイルが一定バイト数を越えたときにエラー扱いとしたりすることができる。file行の設定書式は,次の通りだ。
file監視するファイル名エラー扱いとするファイルサイズ |
エラー扱いとするファイルサイズはキロバイト単位で指定する。省略した場合には,無限大が設定されたものとみなされる。
デフォルトのsnmpd.confファイルには,file行は用意されていない。たとえば,/var/log/messagesファイルが5MBを越えたときにエラー扱いとしたいのであれば,snmp.confファイルに次のようなfile行を加える。
file/var/log/messages50000 |
file行で指定された項目の情報は,snmpd.confファイルに登場した順番で,先頭から1,2,3,…のようにインデックス番号が付けられ,fileTableサブツリー(1.3.6.1.4.1.2021.15)以下に配列の形で格納される(Table 14)。
Table 14 fileTableサブツリー(1.3.6.1.4.1.2021.15)
|
※iはインデックス番号。snmpd.confファイル中に出てきたfile行の登場順に,先頭から1,2,3,…という値。
上に挙げた/var/log/messagesファイルを監視する例であれば,1つしかfile行を用意していないので,この/var/log/messagesファイルの監視項目のインデックス番号は1となる。よって,/var/log/messagesファイルの現在のファイルサイズ(キロバイト単位)は,1.3.6.1.4.1.2021.15.1.3.1に格納される。そして,設定されたエラー扱いとするファイルサイズである5Mバイト(50000キロバイト)を越えたときには1.3.6.1.4.1.2021.15.1.100.1の値が1に設定され,そのときのエラーメッセージが1.3.6.1.4.1.2021.15.1.101.1に設定される。
このようにfile行を指定すると,特定のファイルを監視するのに便利だ。ただしfile行の指定は,あくまでも1つのファイルを監視対象とするものであり,あるディレクトリに含まれる総容量を調べるものではない。ディレクトリに含まれるファイルサイズを総和を監視したいのであれば,disk行の指定を使うか(ただしその場合,ディレクトリではなくパーティションの監視になる),特定のディレクトリに対するfindコマンドやduコマンドの結果を加工して出力するようなスクリプトを用意しておき,それをexec行の指定を使って呼び出すような手法をとることになる。
24/36 |