TOPサーバ構築・運用> サーバの生存監視
格安!自社サーバ
格安!ベンチャー流サーバ構築法

第3回:運用管理を各種ツールで自動化

著者:ウノウ  佐藤 大樹   2007/3/14
前のページ  1  2  3  次のページ
サーバの生存監視

   ウノウでは「nagios」を使用し、MySQL、memcache、http、ping、DNS、SMTPの各サーバについて以下のような項目で生存監視を行っています。
  • いつ(例:土日を除いた10時〜22時までの間で)
  • どのタイミングで(例:n回連続で、復旧したら)
  • 何が起こった時に(例:疎通が取れない)
  • どうするか(例:メールで通知する)

表3:サーバの生存監視項目

   Red Hat系のディストリビューションでは、以下のように作業することでインストールから設定までを行うことができます。

   まず以下のようにyumコマンドを実行してインストール作業を行います。

% yum install nagios nagios-plugins nagios-plugins-http

   設定ファイルは/etc/nagios配下のディレクトリに保存されます。

% ls /etc/nagios
private/ cgi.cfg-sample commands.cfg-sample localhost.cfg-sample nagios.cfg-sample

   基本的な設定ファイルは以下のようになります。

名前 役割
nagios.conf ログファイルの指定や、他設定ファイルのインクルード、基本設定を行います
command 監視に使用するコマンドファイルの定義を行います
localhost.cfg どのコマンドをどのホストにどのように使用するかを定義します

表4:nagiosの設定ファイルの内容

   まず全体的な設定を行うため、nagios.confを以下のように編集します。

% vi /etc/nagios/nagios.conf
# ログファイル
log_file=/var/log/nagios/nagios.log
# コマンドファイル
cfg_file=/etc/nagios/commands.cfg
# ホストファイル
cfg_file=/etc/nagios/localhost.cfg
# .....

   続いてcommandファイルを設定し、nagiosが使用するコマンドの定義を行います。ここでは例としてhttpサーバの疎通確認について設定します。

   commandファイルの内容を編集し、動作と名称を決めてコマンドの定義を行います。以下の例では「check_http」という実行ファイルでhttpサーバの疎通をチェックしており、名称を「check_http」と指定しています。

% vi /etc/nagios/commands-cfg
# 'check_http' command definition
define command{
       command_name    check_http
       command_line    $USER1$/check_http -H $HOSTADDRESS$
       }

   さらにlocalhost.cfgで、先ほど名称を決定したコマンドをどのように、どのホストに対して使用するかを定義します。今回は、以下のように設定を行います。


(画像をクリックすると別ウィンドウに拡大図を表示します)

   まず最初に設定している「timeperiod」は、どの時間帯に監視を行うかをあらわしています。例では24時間365日、監視を行うように設定しています。

   次に「contact」で、コンタクト(連絡手段)を定義します。ここでは送信先のメールアドレス設定などを行います。なお「service_notification_command」を使用すると、メールだけではなく、IRCなどに通知することもできます。

   「host」は監視対象の設定です。この項目では設定を継承することができ、最初に「linux-server」という汎用のhostを定義し、それを継承して「localhost」というサーバを定義しています。この項目ではコンタクトの設定で定義した「contanct-group」を設定しておきます。

   最後に「service」で実際の監視の設定を行います。この項目でも設定の継承が行えるので、「local-service」を継承し、「hostname」には先ほど定義した「localhost」を、コマンドには「command.conf」で定義したコマンドをそれぞれ設定します。

   設定が終了したら以下のコマンドを実行し、httpサーバとnagiosを起動した後でhttpサーバを停止させます。

$ /etc/init.d/httpd start
$ /etc/init.d/nagios start
$ /etc/init.d/httpd stop

   正しく設定が行われていれば、設定したメールアドレスに通知が届きます。

前のページ  1  2  3  次のページ


ウノウ株式会社  佐藤 大樹
著者プロフィール
ウノウ株式会社  佐藤 大樹
1981年生まれ。中学2年のときにN88Basicを習得して以来、大きく道を踏み外す。大学卒業後、2003年より株式会社ドワンゴ入社。オンラインゲームや基幹システムのコーディング、携帯電話向け大規模コンテンツ配信システムの主任設計などを担当。2005年12月、同社を退社。フリーランスを経て2006年4月よりウノウに参画。


INDEX
第3回:運用管理を各種ツールで自動化
  各種ツールで運用・監視の手間を削減
サーバの生存監視
  サーバのリソース監視