第6回 サーバ異常をSNMPで通知させるには:SNMPによるネットワークモニタリング「第2版」(2/6 ページ)
SNMPでサーバリソースを監視するとさまざまな状況を把握することができる。異常となる予兆をとらえることができ、その予兆はメールなどで受け取ることが可能だ。
プロセスの監視
次にプロセスの監視方法を説明しよう。
プロセス情報は、prTableサブツリーにある。しかしsnmpwalkコマンドを使ってprTableサブツリーを見ても、デフォルトでは何も見えない。prTableサブツリーから参照するためには、snmpd.confにおいてprocディレクティブを記述し、どのプロセスを監視するのかを決めなければならない。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
プロセス名は、ps -eコマンドで取得できるものであり、純粋なコマンド名のみ(例えば「httpd」や「sendmail」など)を指定する。
「最大値」と「最小値」は、このプロセスが、幾つ起動していないとエラーとするかを指定する値だ。最小値を下回ったり、最大値を上回ったりしたときには、後述のprTableサブツリー内のprErrorFlagが1になる。
「最大値」と「最小値」を省略したときには、「1個もプロセスが起動していないとエラー」という意味になる。実際に、snmpd.confに、次の監視命令を記述して、snmpdデーモンを再起動してみよう。
Net-SNMPには、versionUpdateConfigの値を「1」に設定すると設定を再読込する機能がある。そのため、snmpd.confファイルを変更したあと、「snmpset -c hogeprivate -v 1 localhost versionUpdateConfig.0 i 1」のように実行しても構わない。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
リスト1では、「httpd」と「sendmail」の2つのプロセスを監視するように設定した。
prTableはテーブルであるため、実際にデータを参照するときには、インデックス番号を付ける。このインデックス番号は、procディレクティブを指定した順になる。つまりこの例で言えば、「httpd」は「1」、「sendmail」は「2」である。
実際にsnmpwalkコマンドで取得すると、次のようになる。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
それぞれの設定の意味は、表3の通りだ。
ここではプロセスの監視として、「prErrorFlag」に注目したい。このフラグは、procディレクティブにおいて、「最小値」を下回ったときや、「最大値」を上回ったときに「1」になるフラグだ。そうでないときは、「0」だ。
最大値の使い道が浮かばないかもしれない。これは主にフォークされたプロセスを無くしたい場面で使われる。例えば、sendmailがたくさんのメールを送信し過ぎており、幾つかのsendmailプロセスを無くしたいときなどに用いる。
Copyright © ITmedia, Inc. All Rights Reserved.