Назад | Перейти на главную страницу

nagios не отправляет уведомление по электронной почте

Nagios не отправляет уведомление о моих услугах. У меня есть две службы под названием PING и STATUS в nagios localhost.

Служба PING проверяет доступность хоста с помощью команды ping, а служба STATUS получает ловушки SNMP с удаленного компьютера.

Иногда я получаю электронное письмо от службы PING, но служба STATUS не получает почты. Служба PING также не всегда отправляет почту. Ниже всех моих файлов конфигурации.

localhost.cfg

define host{
use               linux-server
host_name         TESTHOST
alias             snmp_agent
address           10.10.62.5
}
define service{
use                             local-service        
host_name                       TESTHOST
service_description             PING
check_command                   mailtest
notifications_enabled           1
}
define service{ 
host_name                 TESTHOST    
service_description       STATUS  
is_volatile               1
check_freshness           1       
check_command             cagent!5        
max_check_attempts        4
normal_check_interval     1
retry_check_interval      1
active_checks_enabled     0   
passive_checks_enabled    1   
check_period              24x7    
notification_interval     20      
notification_period       24x7    
notification_options      w,u,c   
notifications_enabled     1
flap_detection_enabled    0
}

contacts.cfg

define contact{
contact_name        nagiosadmin                 
use                 generic-contact             
alias               Nagios Admin                 
email               mymail@gmail.com                    
}
define contactgroup{
contactgroup_name   admins
alias               Nagios Administrators
members             nagiosadmin
}

Я использую почтовый сервер ssmtp для отправки почты. файл конфигурации ниже

ssmtp.conf

root=mymail@gmail.com
mailhub=smtp.gmail.com:587
rewriteDomain=gmail.com
hostname=sujin
UseTLS=YES
UseSTARTTLS=YES
AuthMethod=LOGIN
AuthUser=mymail@gmail.com  
AuthPass=mailpassword
FromLineOverride=YES

Вы получаете электронные письма для PING, потому что, похоже, вы использовали свою команду уведомления по электронной почте (mailtest) как check_command:

define service{
    use                             local-service        
    host_name                       TESTHOST
    service_description             PING
    check_command                   mailtest       ; <<<
    notifications_enabled           1
}

В check_command для PING условно было бы check_ping командный объект. Команда для отправки уведомлений является свойством contact объект.

У вас не включены активные проверки для STATUS, поэтому Nagios никогда не будет планировать проверку для этой службы (она будет полагаться на NRPE или NRDP или какой-либо другой внешний процесс). Вероятно, это не то, что вам нужно.

Вы не связаны ни с одним contact_groups либо с вашей службой, либо с вашими хост-объектами. Однако добавленная вами конфигурация на самом деле часть Из общей конфигурации вы не показали шаблоны объектов по умолчанию, поэтому я не могу сказать, что было унаследовано.

Кажется, у вас возникли проблемы с пониманием объектной модели Nagios, она немного ближе к программированию, чем к настройке. В диаграмма здесь должен помочь вам разобраться в этой проблеме (она немного устарела и для Nagios 2, но это хорошая отправная точка).

Документация Nagios точная, но довольно краткая (или краткая), она не подходит для обучения с нуля, попробуйте этот учебник: http://users.telenet.be/mydotcom/howto/nagios/index.html

Как только вы лучше поймете концепцию объекта, вы сможете заглянуть в objects.cache файл и увидеть все ваши объекты полностью определенными (это эквивалентно представлению конфигурации в веб-интерфейсе, но его легче понять, если вы редактируете файлы конфигурации напрямую).