Мне очень сложно настроить nagios3, чтобы делать то, что я хочу. Слишком много файлов конфигурации и не уверен, в чем именно проблема, поскольку все кажется правильным.
Сначала уведомления отправлялись для неработающих хостов и критических служб, затем я хотел настроить его, чтобы он также отправлял уведомления о восстановлении, и теперь он отправляет только это, но не для всего.
Я хочу настроить его так, чтобы он использовал общий сервис в качестве шаблона, а затем настраивал дополнительные детали, если мне нужно, но он не играет в мяч, вот мои файлы конфигурации, посмотрите, видите ли вы что-нибудь не так:
Я хочу просто. Отправлять электронную почту, когда хост не работает, когда обслуживание критично и когда оно восстанавливается - вот и все!
---- Файл contacts.cfg ---
define contact{
contact_name admin
alias administrator
service_notification_period 24x7
host_notification_period 24x7
service_notification_options u,c,r
host_notification_options d,u,r
service_notification_commands notify-service-by-email
host_notification_commands notify-host-by-email
email admins@host.com
}
define contactgroup{
contactgroup_name admins
alias Nagios Administrators
members admin
}
--------------------- EOF ----------
------ файл generic-service.cfg ---------
define service{
name generic-service ; The 'name' of this service template
active_checks_enabled 1 ; Active service checks are enabled
passive_checks_enabled 1 ; Passive service checks are enabled/accepted
parallelize_check 1 ; Active service checks should be parallelized (disabling this can lead to major performance problems)
obsess_over_service 1 ; We should obsess over this service (if necessary)
check_freshness 0 ; Default is to NOT check service 'freshness'
notifications_enabled 1 ; Service notifications are enabled
event_handler_enabled 1 ; Service event handler is enabled
flap_detection_enabled 1 ; Flap detection is enabled
failure_prediction_enabled 1 ; Failure prediction is enabled
process_perf_data 1 ; Process performance data
retain_status_information 1 ; Retain status information across program restarts
retain_nonstatus_information 1 ; Retain non-status information across program restarts
notification_interval 0 ; Only send notifications on status change by default.
is_volatile 0
check_period 24x7
normal_check_interval 1
retry_check_interval 1
max_check_attempts 4
notification_period 24x7
notification_options w,u,c,r
contact_groups admins
register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE!
}
--------------- EOF --------
---- файл generic-host.cfg ----
define host{
name generic-host ; The name of this host template
notifications_enabled 1 ; Host notifications are enabled
event_handler_enabled 1 ; Host event handler is enabled
flap_detection_enabled 1 ; Flap detection is enabled
failure_prediction_enabled 1 ; Failure prediction is enabled
process_perf_data 1 ; Process performance data
retain_status_information 1 ; Retain status information across program restarts
retain_nonstatus_information 1 ; Retain non-status information across program restarts
# check_command check-host-alive
check_command check_tcp_alive
max_check_attempts 10
notification_interval 0
notification_period 24x7
notification_options d,u,r
contact_groups admins
register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE!
}
---- За исключением servicegroups.cfg -----
define service {
hostgroup_name Live, inhouse
service_description USERS
check_command check_nrpe_1arg!check_users
use generic-service
normal_check_interval
10
retry_check_interval 10
contact_groups admins
notification_interval 0 ; set > 0 if you want to be renotified
}
# check the LOAD
define service {
hostgroup_name Live, inhouse
service_description LOAD
check_command check_nrpe_1arg!check_load
use generic-service
normal_check_interval 5
retry_check_interval 1
notification_interval 0 ; set > 0 if you want to be renotified
}
# check the HDD
define service {
hostgroup_name Live, inhouse
service_description HDD
check_command check_nrpe_1arg!check_all_disks
use generic-service
normal_check_interval 600
retry_check_interval 30
notification_interval 0 ; set > 0 if you want to be renotified
}
----- EOF -----
--- Выдержка из Hostgroups.cfg ----
define hostgroup {
hostgroup_name http-servers
alias HTTP servers
members *
}
---- EOF -----
Мне ваши конфиги кажутся немного не такими. Если проверка НЕ ОКОНЧАТЕЛЬНА, то Nagios будет перепроверять каждый 'retry_check_interval' (время между каждой повторной попыткой) X 'max_check_attempts' (количество сбоев в строке) перед он отправит предупреждение о том, что что-то сломалось. В случае проверки вашего жесткого диска это означает, что жесткий диск должен находиться в НЕПРАВИЛЬНОМ состоянии в течение 2 часов. перед вы получите уведомление. Если проверка должна вернуться в состояние ОК перед При соблюдении вышеуказанных условий уведомление о сбое не отправляется. Однако вы получите уведомление о восстановлении. Скорее всего, это произойдет при проверке «ЗАГРУЗИТЬ», даже с гораздо меньшим retry_check_interval, поскольку использование системы часто очень динамично.
Кроме того, я не верю в установку интервала уведомлений на «0» - я считаю, что это очень плохая практика, которая приводит к пропуску предупреждений, особенно в шаблонах generic- *. Я оставляю в шаблоне свое значение «60 минут», а затем использую «240 минут» для тех нескольких проверок, о которых я не хочу слышать так часто.
Вы также должны еще раз проверить этот файл hostgroup.cfg. Группы хостов, которые вы определяете в своих проверках, не указаны в файле конфигурации группы хостов в ваших примерах.
В Nagios 3 и выше:
"retry_check_interval" изменен на "retry_interval"
'normal_check_interval' изменен на 'check_interval'
Тем не менее, для обратной совместимости со старыми версиями файлов конфигурации все четыре по-прежнему поддерживаются - даже в Nagios версии 4.