Carpe Diem

  Top > スポンサー広告> サーバ監視・アクセス解析 > Nagiosの導入  

スポンサーサイト

-- - --/-- [--] - --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Nagiosの導入

2011 - 12/28 [Wed] - 19:36

サーバ監視ツールです。BINDやメールサービスなどの状態を監視し、そのサービスが停止してしまっていないか等が確認出来ます。Webで状態を確認でき、また状態が変化したときにはメールを送って知らせてくれます。

インストールは簡単です。そのあとで監視するサービスの追加が少し情報が少なくて苦労しました。

$ sudo aptitude install nagios3

インストール時に管理用Webを開く際のパスワード設定があるので入力します。
インストールが完了したらその時点でWebで確認出来ます。サイト名をexample.comとします。

http://example.com/nagios3/
ID:nagiosadmin
Pass:インストール時に設定したもの


GDなどがインストールされていないと表示でエラーが生じるかもしれません。各自インストールしてください。


◆基本的な設定

状態変更時のメールの送信先を設定します。これはメールサーバを立ててないと実行できません。

# emacs -nw /etc/nagios3/conf.d/contacts_nagios2.cfg
25行目あたりのemailを
email root@localhost

外部にメールを送れる設定をしていれば、Gmailなどへも送れます。

デフォルトで使用しているサービスはCurrentLoad、CurrentUsers、HTTP、SSH、TotalProcessesです。そのうちHTTPとSSHは起動、停止の有無があるのでステータス変化時にメールを送るように設定します。

# emacs -nw /etc/nagios3/conf.d/services_nagios2.cfg
define service {
        hostgroup_name                  http-servers
        service_description             HTTP
        check_command                   check_http
        use                             generic-service
        notification_interval           0 ; set > 0 if you want to be renotified
        notifications_enabled           1  #added
}
define service {
        hostgroup_name                  ssh-servers
        service_description             SSH
        check_command                   check_ssh
        use                             generic-service
        notification_interval           0 ; set > 0 if you want to be renotified
        notifications_enabled           1  #added
}


ここまでで一度再起動して、ちゃんと先ほどのWebで使用できているか確認します。
# /etc/init.d/nagios3 restart


◆監視するサービスの追加
プラグインを使用して監視するサービスを増やします。頭に入れておくことが必要なのは
①実行ファイルは /usr/lib/nagios/plugins にある。
/etc/nagios-plugins/config 内のcfgファイルで①の実行ファイルのコマンドの設定をする(オプションや引数をどう与えるかなど)
/etc/nagios3/conf.d 内のcfgファイルで②で定義したコマンドを使用する


です。/etc/nagios-plugins/config 内のcfgファイルにはデフォルトである程度のコマンドが記述されています。なのであまり設定する必要はありませんが、DHCPサーバをルータにしていたりだとか、MySQLでデータベースを参照するためにパスワードの入力が必要であるときは少し書き換える必要があります。

今回はデフォルトの設定のままでいくつかの監視対象サービスを追加します。
DNSとSMTPとします。/etc/nagios3/conf.d 内に適当にcfgファイルを作成します。

# emacs -nw /etc/nagios3/conf.d/added_services.cfg
define service{
        use                             generic-service
        host_name                       localhost
        service_description             SMTP
        check_command                   check_smtp
        }

define service{
        use                             generic-service
        host_name                       localhost
        service_description             DNS
        check_command                   check_dig!example.com
        }


host_nameは監視対象のホスト名・IP名(あらかじめ定義が必要)で、service_descriptionはWebで表示するときの名前、check_commandは定義したコマンドを使用しています。

ホストの定義は /etc/nagios3/conf.d/localhost_nagios2.cfg の最初に以下のように記述されています。監視対象を追加する場合はこの形式で記述してください。
define host{
        use                     generic-host            ; Name of host template to use
        host_name               localhost
        alias                   localhost
        address                 127.0.0.1
        }


追加したサービスの設定に戻ります。
後者の場合「!」の後にサーバのドメインがかかれていますが、これは「!」の後が引数になるためです。引数が使えるかどうかは /etc/nagios-plugins/config 内のcfgファイルの設定によります。このDNSの場合は


# less /etc/nagios-plugins/config/dns.cfg
# 'check_dns' command definition
define command{
        command_name    check_dns
        command_line    /usr/lib/nagios/plugins/check_dns -H www.google.com -s '$HOSTADDRESS$'
}

# 'check_dig' command definition
define command{
        command_name    check_dig
        command_line    /usr/lib/nagios/plugins/check_dig -H '$HOSTADDRESS$' -l '$ARG1$'
}


とあるようにcheck_digコマンドの定義で'$ARG1$'があります。つまり「-l」オプションに対しては引数を使用するように設定しているわけです。
自分でこの設定を編集する場合は /usr/lib/nagios/plugins/ 内の実行ファイルでヘルプを使ってどんなオプションを設定できるかあらかじめ確認するといいです。例えば check_dig の「-l」は、digするサーバ名ということが分かるはずです。

cfgファイルを編集したら再起動します。
# /etc/init.d/nagios3 restart

Webで確認して、「Pending」のあとで「OK」が表示されれば完了です。
もしこれで「CRITICAL」などが出る場合は、設定がおかしい(監視対象が違うなど)か、サービスが停止しています。

◆動作確認
仮に今回設定したDNSを一旦停止してみます。
# /etc/init.d/bind9 stop

するとNegiosのWeb画面はCRITICALに変わります(更新に多少時間がかかります)。
さらにその状態で何度か更新されてもCRITICALが続く(サービスの停止状態が続く)場合、メールが送信されます。

逆にサービスを再開して
# /etc/init.d/bind9 start

CRITICALからOKに変わると、この場合も状態変換のメールが送信されます。


◆補足
Nagiosは自分のサーバだけでなく、nrpeモジュールを導入すれば他のサーバーの管理も出来ます。
私の環境では特に使用しないので解説は割愛します。

以上です。


ソース
統合監視システム構築(Nagios)
Nagiosの設定
夢見る大学生のはてな日記
Nagios/プラグイン

コメントの投稿





管理者にだけ表示を許可する

 | ホーム | 

プロフィール

Cicatrice

Author:Cicatrice
備忘録

検索フォーム

カテゴリ

最新記事

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。