検索
特集

24時間稼働のために――サーバ管理者が知っておくべき自動復帰ノウハウSNMPによるネットワークモニタリング「第2版」(1/2 ページ)

24時間コンソールの前に張りつくなど勘弁だ。サーバ管理者が知っておくべきhttpのモニタリングと、自動復帰のためのノウハウを紹介しよう。

PC用表示 関連情報
Share
Tweet
LINE
Hatena

 オンライン・ムックPlus「SNMPによるネットワークモニタリング“第2版”」では、Net-SNMPを使ってサーバやネットワーク機器を監視するための方法を紹介している。SNMPとは何か? という基本概要から、5年前の特集記事を刷新する最新情報の掲載まで、回を重ねることで充実させていく予定だ。

 Net-SNMPでは、SNMP経由でオブジェクトに値を設定したときに、特定のコマンドを実行できる機能がある。この記事では、デーモンhttpdのプロセスを監視し、プロセスが途絶えた場合に「/sbin/service httpd restart」のコマンド実行でhttpdを再起動する例を見ていこう。

 基本的な設定は、リスト1のようになる。

 この設定を行うと、SNMP経由から値を書き込むことで「/sbin/service httpd restart」というコマンドを実行できる。そのため、コミュニティー名やユーザー認証、接続元IPアドレスなどを十分に確かめておく必要がある。第三者がSNMP経由で書き込めないことを確認した上で設定確認を行ってほしい。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 snmpd.confで設定するのはprocディレクティブとprocfixディレクティブの2つだ。

  • procディレクティブ

 procでは監視するプロセス名を指定する。このプロセス名は「ps -e」で取得できる名称である。ここでは「httpd」を指定する。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 この設定をすると、該当プロセスが、「最小値を下回ったとき」または「最大値を上回ったとき」に、エラーがあったとみなされ、「procErrorFlag.インデックス番号」のOIDをもつオブジェクトの値が「1」になる。

 ここでの「インデックス番号」は、procを指定した順に「1」「2」…と割り当てられる連番だ。すぐあとに説明するが、リスト1では1つしかprocを指定していないので、インデックス番号は「1」となる。

 「最小値」や「最大値」は省略できる。省略したときには、それぞれ「1」と「無限大」がデフォルト値になる。すなわち「1つ以上起動していないとエラー」という意味になる。

  • procfixディレクティブ

 procfixディレクティブでは、「プロセス名」と「SNMP経由で値が設定されたときに呼び出したいコマンド」を記述する。プロセス名は、procディレクティブに記述したのと同じ名前でなければならない。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

  • 動作の確認

 設定が終わったら、snmpdを再起動しよう。

 httpdプロセスが起動しているときに、snmpwalkコマンドでprTable以下を調べると、次のようになる。ここでは、SNMPv1でsnmpwalkというコミュニティー名を指定している。実際に試すときには「-c」オプションを適時変更してほしい。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 ここで

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

の個所に着目しておいてほしい。これは「エラーがない」ことを示すものだ。次に、httpdプロセスを停止した状態で同じく実行すると、

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

となり、「エラーがある」ことが判別できる。

       | 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る