Nagiosの通知メール設定


 nagios2.9のメール通知設定は、/etc/local/nagios/etc/nagios.cfg localhost.cfg
commands.cfg にある。

nagios.cfg
************************
# NOTIFICATIONS OPTION
# This determines whether or not Nagios will sent out any host or
# service notifications when it is initially (re)started.
# Values: 1 = enable notifications, 0 = disable notifications

enable_notifications=1 デフォルトが1なので変更の必要は無い。

localhosts.cfg
************************
define contact{
        contact_name                    nagios-admin
        alias                           Nagios Admin
        service_notification_period     24x7
        host_notification_period        24x7
        service_notification_options    w,u,c,r
        host_notification_options       d,r
        service_notification_commands   notify-by-email
        host_notification_commands      host-notify-by-email
        email                           xxxxxxxxxx@yahoo.co.jp
        }


define contactgroup{
        contactgroup_name       admins
        alias                   Nagios Administrators
        members                 nagios-admin
        }


# Linux host definition template - This is NOT a real host, just a template!

define host{
        name                            linux-server    ; The name of this host
template


        contact_groups                  admins          ; Notifications get sent to the admins by default

で良いはずであるが、メールが届かない。良く見てみると、指定しているメール送信のコマンドのパスがDebianでは違うようで、/usr/local/nagios/etc/commands.cfg で指定しているメール送信コマンドを赤字のように修正した。使っているLinuxのディストリビューションの状況で修正する必要がありそうである。

commands.cfg
****************************
# 'host-notify-by-email' command definition
define command{
        command_name    host-notify-by-email
        command_line    /usr/bin/printf "%b" "***** Nagios 2.9 *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/bin/mail -s "Host $HOSTSTATE$ alert for $HOSTNAME$!" $CONTACTEMAIL$
        }

# 'notify-by-email' command definition
define command{
        command_name    notify-by-email
        command_line    /usr/bin/printf "%b" "***** Nagios 2.9 *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$" | /usr/bin/mail -s "** $NOTIFICATIONTYPE$ alert - $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$
        }


○通知メールの例
***** Nagios 2.9 *****

Notification Type: PROBLEM
Host: test
State: DOWN
Address: 192.168.0.99
Info: CRITICAL - Host Unreachable (192.168.0.99)

Date/Time: Sun Jun 15 13:00:09 JST 2008


ホームページトップ  LinkStationトップ