カテゴリー : Nagios

[Nagios] check_load での load average (ロードアベレージ) のチェックの設定変更

load average が跳ね上がることが増えてきたので、Nagios の check_load コマンドの設定を変更しました。

check_load のデフォルト値

define service{
        use                             generic-service
        host_name                       hoge
        service_description             LOAD
        is_volatile                     0
        check_period                    24x7
        max_check_attempts              3
        normal_check_interval           5
        retry_check_interval            1
        notification_interval           240
        notification_period             24x7
        notification_options            c,r
        check_command                   check_load!1,1,1!2,2,2
        contact_groups                  linux-admins
}

max_check_attempts を 3 回から 2 回に、normal_check_interval を 5 分から 3 分に変更しました。

check_load の設定変更後の値

define service{
        use                             generic-service
        host_name                       hoge
        service_description             LOAD
        max_check_attempts              2
        normal_check_interval           3
        retry_check_interval            1
        check_command                   check_load!1,1,1!2,2,2
}

チェック間隔を短くしたので、サーバが悲鳴をあげる前に対応できるようになるはず。


参考情報

Nagios/プラグイン/check_load – cubic9.com

テンプレートベースオブジェクトデータ設定ファイルオプション

[Nagios] アラートメールの内容を変更する

Nagios からのアラートメールを社内メンバー(非エンジニア)向けにも送信することになったので、分かりやすいメールの内容に変更しました。

メールの内容を変更するために notify-service-by-email をベースに、notify-service-for-member-by-email コマンドを定義しました。

define command {
  command_name notify-service-for-member-by-email
  command_line /usr/bin/printf "%b" "サーバーの異常を検知しました。\n\nステータス: $SERVICESTATE$\nサービス名: $HOSTALIAS$\nドメイン名: $HOSTADDRESS$\n監視対象: $SERVICEDESC$\n\n■日時: $LONGDATETIME$\n\n■連絡先:\nステータス「CRITICAL」の場合、至急サーバー管理者へ連絡して下さい。\n\n・重岡: 090-XXXX-XXXX\n\n■追加情報:\n$SERVICEOUTPUT$\n\n" | /bin/mail -s "*Alert* $HOSTALIAS$/$SERVICEDESC$ : ステータス $SERVICESTATE$" $CONTACTEMAIL$
}

下記は、メールの内容です。

[件名]:
*Alert* codenote/HTTPS : ステータス CRITICAL
 
[本文]:
サーバーの異常を検知しました。
 
ステータス: CRITICAL
サービス名: codenote
ドメイン名: codenote.com
監視対象: HTTPS
 
■日時: Thu Jun 5 06:04:08 UTC 2014
 
■連絡先:
ステータス「CRITICAL」の場合、至急サーバー管理者へ連絡して下さい。
 
・重岡: 090-XXXX-XXXX
 
■追加情報:
HTTP CRITICAL: HTTP/1.1 200 OK - 146477 bytes in 0.093 second response time

以上です。

[Nagios] Web管理画面から操作するための設定方法

Nagios のWeb管理画面から操作するための設定方法をメモ。

エラーメッセージ

Sorry Dave, I can’t let you do that…

It seems that you have chosen to not use the authentication functionality of the CGIs.

I don’t want to be personally responsible for what may happen as a result of allowing unauthorized users to issue commands to Nagios,so you’ll have to disable this safeguard if you are really stubborn and want to invite trouble.

Read the section on CGI authentication in the HTML documentation to learn how you can enable authentication and why you should want to.

原因としては、下記の2点です。

  • Nagios のウェブ管理画面のプロセスを起動させている nginx ユーザーを nagios グループに追加していなかった
  • nagios グループに nagios の設定変更を行う command を許可していなかった

nginx ユーザーを nagios グループに追加します。

usermod -G nagios nginx

そして、use_authentication を有効にして、nagios グループのユーザーのみコマンドを実行できるような設定に変更します。

# diff cgi.cfg cgi.cfg.2014-05-28 
78c78
< use_authentication=1
---
> use_authentication=0
107c107
< default_user_name=nagios
---
> #default_user_name=guest
119c119
< authorized_for_system_information=nagios
---
> authorized_for_system_information=nagiosadmin
131c131
< authorized_for_configuration_information=nagios
---
> authorized_for_configuration_information=nagiosadmin
144c144
< authorized_for_system_commands=nagios
---
> authorized_for_system_commands=nagiosadmin
157,158c157,158
< authorized_for_all_services=nagios
< authorized_for_all_hosts=nagios
---
> authorized_for_all_services=nagiosadmin
> authorized_for_all_hosts=nagiosadmin
171,172c171,172
< authorized_for_all_service_commands=nagios
< authorized_for_all_host_commands=nagios
---
> authorized_for_all_service_commands=nagiosadmin
> authorized_for_all_host_commands=nagiosadmin

以上です。


参考情報

Nagiosの最初の設定

[Nagios] 設定ファイルの確認、再読み込みなど

Nagios で、設定ファイルの確認、再読み込みなどを行うコマンドをメモ。

設定ファイルの確認

# service nagios checkconfig
Running configuration check... OK.

設定ファイルの再読み込みは restart でなくて、reload でOK

# service nagios reload

Nagios 入門・設定に役立つ記事まとめ

Nagios を入門するときに読む記事をまとめてみました。

Nagios や監視について理解する

@IT:Webサーバ周辺、これだけおさえれば、落ちても大丈夫?

@IT:NagiosでWebサーバを頑丈にする方法

@IT:Linuxで動く便利ツール[Nagios](1/2)

Nagios の設定をするときに参考になるサイト

Nagiosの基礎

Nagios – cubic9.com

Nagiosの話題と実験

nagiosでsnmp

Jラボ » Blog Archiv » NagiosでSNMPトラップの監視を行う方法 – Jラボ