I don't receive mail notification using Нахиос Коре 4

I have в problem with automatically mail notification in Нахиос Коре 4 installed on Ubuntu 12.04 LTS (Я нуждался в Чешуйчатом муравьеде) server...

I have tried to send mail with the nagios user and root user with the command:

echo "test" | mail -s "test mail" support@xxxx.eu

And I received the mail correctly... But I don't receive any automatically mail notification. How хан I resolve this issue?

These пахал my configuration поля (commands.cfg, contacts.cfg, nagios.log, mail.log):

commands.cfg

(The path/usr/bin/mail is the right path)

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

# 'notify-service-by-email' command definition
define command{
        command_name    notify-service-by-email
        command_line    /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" | /usr/bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$
        }
# 'process-host-perfdata' command definition
define command{
        command_name    process-host-perfdata
        command_line    /usr/bin/printf "%b" "$LASTHOSTCHECK$\t$HOSTNAME$\t$HOSTSTATE$\t$HOSTATTEMPT$\t$HOSTSTATETYPE$\t$HOSTEXECUTIONTIME$\t$HOSTOUTPUT$\t$HOSTPERFDATA$\n" >> /usr/local/nagios/var/host-perfdata.out
        }
# 'process-service-perfdata' command definition
define command{
        command_name    process-service-perfdata
        command_line    /usr/bin/printf "%b" "$LASTSERVICECHECK$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICESTATE$\t$SERVICEATTEMPT$\t$SERVICESTATETYPE$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$\n" >> /usr/local/nagios/var/service-perfdata.out
        }

contacts.cfg:

define contact{
        contact_name                    supporto
        alias                           Supporto Clienti DEA
        service_notification_period     24x7
        host_notification_period        24x7
        service_notification_options    w,u,c,r
        host_notification_options       d,r
        service_notification_commands   notify-service-by-email
        host_notification_commands      notify-host-by-email
        email                           supporto@xxxx.eu
        }

define contactgroup{
        contactgroup_name       admins
        alias                   Nagios Administrators
        members                 supporto
        }

nagios.log:

[1401871412] SERVICE ALERT: fileserver;Current Users;OK;SOFT;2;USERS OK - 1 users currently logged in
[1401871953] SERVICE ALERT: backups;Nagios Status;WARNING;SOFT;1;NAGIOS WARNING: 36 processes, status log updated 541 seconds ago
[1401872133] SERVICE ALERT: backups;Nagios Status;OK;SOFT;2;NAGIOS OK: 36 processes, status log updated 180 seconds ago
[1401872321] SERVICE ALERT: posta;Swap Usage;CRITICAL;SOFT;1;CRITICAL - Plugin timed out after 10 seconds
[1401872322] SERVICE ALERT: fileserver;Current Users;CRITICAL;SOFT;1;CRITICAL - Plugin timed out after 10 seconds
[1401872420] SERVICE ALERT: archivio;Disk Space;CRITICAL;SOFT;1;CRITICAL - Plugin timed out after 10 seconds
[1401872492] SERVICE ALERT: fileserver;Current Users;OK;SOFT;2;USERS OK - 1 users currently logged in
[1401872492] SERVICE ALERT: posta;Swap Usage;OK;SOFT;2;SWAP OK: 100% free (1984 MB out of 1984 MB)
[1401872590] SERVICE ALERT: archivio;Disk Space;OK;SOFT;2;DISK OK
[1401872931] Auto-save of retention data completed successfully.
[1401873333] SERVICE ALERT: backups;Nagios Status;WARNING;SOFT;1;NAGIOS WARNING: 36 processes, status log updated 402 seconds ago
[1401873513] SERVICE ALERT: backups;Nagios Status;OK;SOFT;2;NAGIOS OK: 36 processes, status log updated 180 seconds ago

mail.log

(I think that the problem is here, but I don't know how to resolve it.)

Jun  4 10:00:01 backups sm-msp-queue[6109]: My unqualified host name (backups) unknown; sleeping for retry
Jun  4 10:01:01 backups sm-msp-queue[6109]: unable to qualify my own domain name (backups) -- using short name
Jun  4 10:20:01 backups sm-msp-queue[7247]: My unqualified host name (backups) unknown; sleeping for retry
Jun  4 10:21:01 backups sm-msp-queue[7247]: unable to qualify my own domain name (backups) -- using short name
Jun  4 10:40:01 backups sm-msp-queue[8327]: My unqualified host name (backups) unknown; sleeping for retry
Jun  4 10:41:01 backups sm-msp-queue[8327]: unable to qualify my own domain name (backups) -- using short name
Jun  4 11:00:01 backups sm-msp-queue[9549]: My unqualified host name (backups) unknown; sleeping for retry
Jun  4 11:01:01 backups sm-msp-queue[9549]: unable to qualify my own domain name (backups) -- using short name
Jun  4 11:20:01 backups sm-msp-queue[10678]: My unqualified host name (backups) unknown; sleeping for retry
Jun  4 11:21:01 backups sm-msp-queue[10678]: unable to qualify my own domain name (backups) -- using short name

гm at the last step, and I want to finish this Нахиос Коре! :)

Host definition (this host существуешь the disk almost full, and it is in hard state but нечетное число notification):

define host{
        use                     generic-host            ; Name of host template to use
        host_name               posta
        alias                   Server Posta ESA
        address                 10.10.2.102
        parents                 xen1, xen2
        icon_image              redhat.png
        statusmap_image         redhat.gd2
        }

Service definition:

define service{
        use                             generic-service
        host_name                       xen1, maestro, xen2, posta, nas002, serv2, esasrvmi02, esaubuntumi
        service_description             Disk Space
        check_command                   ssh_all_disks!10%!5%
        }

Notification is allowed for the contact definition you gave, but is it also allowed at the the service level?

Sorry, but I don't understand this thing! :(

2
задан 1 July 2014 в 22:10

2 ответа

От Вашего nagios.log я вижу только ошибки Состояния наибольшей уязвимости. Nagios не отправляет уведомления за Состоянием наибольшей уязвимости, только в случае ТВЕРДОГО состояния. Из документации Nagios:

Состояния наибольшей уязвимости

Состояния наибольшей уязвимости происходят для сервисов и хостов в следующих ситуациях...

1), Когда сервис или хост проверяют результаты в состояние неOK и это еще не было (ре), проверил количество раз, указанное опцией в определении хоста или сервисе. Давайте назовем это состоянием исправимой ошибки...

2), Когда сервис или хост восстанавливаются с состояния исправимой ошибки. Это считается мягким восстановлением.

События Состояния наибольшей уязвимости

, Что происходит, когда сервис или хост находятся в состоянии исправимой ошибки или испытывают мягкое> восстановление?

1) исправимая ошибка или восстановление зарегистрированы при включении log_service_retries или log_host_retries опций в основном конфигурационном файле.

2) Обработчики событий выполняются (при определении кого-либо) обрабатывать исправимую ошибку или восстановление для сервиса или хоста. (Прежде чем любой обработчик событий будет выполнен, макрос $STATETYPE$ установлен на "МЯГКИЙ"). Nagios не отсылает уведомления никаким контактам, потому что существует (или был), никакая "реальная" проблема с сервисом или хостом.

Как видно, единственной важной вещью, которая действительно происходит во время состояния наибольшей уязвимости, является выполнение обработчиков событий. Используя обработчики событий может быть особенно полезным, если Вы хотите попытаться заранее решить проблему, прежде чем она превратится в твердое состояние.

Твердые состояния

Твердые состояния происходят для хостов и сервисов в следующих ситуациях:

1), Когда хост или сервис регистрируют результаты НЕ или нехорошо указывают и это было (ре), проверил количество раз, указанное max_check_attempts опцией в сервисном определении или хосте. Это - состояние серьезной ошибки.

2), Когда хост или сервисные переходы от одной серьезной ошибки указывают другому состоянию ошибки (например, Предупреждение КРИТИЧЕСКОМУ).

3) то, Когда сервисная проверка приводит к состоянию неOK и его соответствующему хосту, или ВНИЗ или НЕДОСТИЖИМО.

4), Когда хост или сервис восстанавливаются с состояния серьезной ошибки. Это считается трудным восстановлением.

5), Когда пассивный чек хоста получен. Пассивные проверки хоста рассматривают как ТРУДНО, если passive_host_checks_are_soft опция не включена.

следующие вещи происходят, когда хосты или сервисы испытывают ТРУДНЫЕ изменения состояния:

1) ТВЕРДОЕ состояние зарегистрировано. 2) Обработчики событий выполняются для обработки ТВЕРДОГО состояния. 3) Контакты являются notifified хоста или сервисной проблемы или восстановления.

Так от того, что мы видим в журнале, что Вы даете в примере, не было никакой потребности в Nagios для отправки почты. Необходимо создать состояние ошибки на одном из контролируемых сервисов, позволить этому условию, существует некоторое время, и посмотрите, получаете ли Вы действительно почту, когда состояние изменяется на ТРУДНО в nagios.log.

Последняя вещь, которую я заметил в Вашем тесте командной строки, Вы отправляете почту в support@xxxx.eu, в то время как в Вашем contacts.cfg почтовый определенный адрес supporto@xxxx.eu (возможно, у Вас есть псевдонимы, определенные на Ваших почтовых серверах, возможно, не).

Добавленный после добавления журналов к вопросу В nagios.log, что Вы показываете, нет никакого СЕРВИСНАЯ строка УВЕДОМЛЕНИЯ , поэтому даже когда ошибка находится в ТВЕРДОМ состоянии, Nagios даже не пытается сделать уведомление. Чтобы иметь уведомление, работающее в Nagios, не достаточно иметь контакты, группы контактов и четко определенные команды уведомления. Необходимо настроить на сервис и хост, если Вы хотите отправить уведомление в случае ошибки и конечно к который контакт (контакты) и / или группа (группы) контактов для отправки этого уведомления. Например, это - сервисное определение с настроенным уведомлением и работа:

define service {
    name                                  generic-service
    first_notification_delay              0
    notification_interval                 0
    notification_options                  w,u,c,r
    notifications_enabled                 1
    check_period                          24x7
    notification_period                   24x7
    contact_groups                        admins
}

В вышеупомянутом определении, notification_enabled установлен на 1 (верный) и группа контактов, как дали для отправки уведомления. Кроме того, мы определяем который вид уведомления отправить - w (arning), u (nknown), c (ritical) и r (экоочень).

вышеупомянутое определение используется в качестве шаблона всеми моими сервисами:

use generic-service

присутствует во всех моих сервисных определениях. Таким образом, если я должен изменить опции уведомления, я просто, должен измениться generic-service определение. В Вашем случае Ваша конфигурация показывает, что Ваш сервис использует шаблон, названный generic-service. Я был бы совет проверить его определение, чтобы видеть, настроено ли уведомление как пример, я дал выше. Его определение может быть расположено в файл, названный services-templates.cfg, но это может варьироваться.

3
ответ дан 1 July 2014 в 22:10

Спасибо Бенуа для Вашего ответа. Я хотел бы добавить несколько вещей после игры с ним некоторое время:

Легкий знать, где Вы стоите со всеми теми шаблонами и отвергаете, если Вы рассматриваете файл тайника, который является вычисленным результатом всех конфигураций:/usr/local/nagios/var/objects.cache

После того, как я был там этим, поразил меня.. мое обслуживание собиралось послать уведомления только в часы работы, которые закончились немного неправильное при мне, потому что я нахожусь на другом часовом поясе по сравнению с сервером. Изменение его к 24x7 заставило все это работать как очарование.

я надеюсь, что это поможет кому-то.. Проведенные часы, понимая все это.

За Ваше здоровье!

0
ответ дан 1 July 2014 в 22:10

Другие вопросы по тегам:

Похожие вопросы: