Определение службы в конфигурации Icinga или Nagios может иметь параметры, вызываемые max_attempts
или max_check_attempts
.
Документы описывают max_attempts
так как:
Если вы настроили параметр max_attempts в определении службы на значение больше 1, Icinga повторно проверит службу, прежде чем решит, что существует реальная проблема. Пока служба перепроверяется (до max_attempts раз), она считается находящейся в "мягком" состоянии (как описано здесь), и проверки службы перепланированы с частотой, определяемой опцией retry_interval.
Если Icinga перепроверяет службу max_attempts раз, и она все еще находится в состоянии, отличном от OK, Icinga переведет службу в «жесткое» состояние, отправит уведомления контактам (если применимо) и начнет перепланировать будущие проверки службы в частота определяется опцией check_interval.
И max_check_attempts
так как:
Когда служба впервые переходит из состояния ОК в состояние, отличное от ОК, Icinga дает вам возможность временно замедлить или ускорить интервал, с которым будут происходить последующие проверки этой службы. Когда служба впервые меняет состояние, Icinga выполнит до max_check_attempts-1 повторных попыток проверки службы, прежде чем решит, что это реальная проблема. Пока служба повторяется, она планируется в соответствии с параметром retry_interval, который может быть быстрее или медленнее, чем обычный параметр check_interval. Пока служба перепроверяется (до max_check_attempts-1 раз), служба находится в мягком состоянии. Если служба перепроверена max_check_attempts-1 раз, и она все еще находится в состоянии, отличном от ОК, служба переходит в жесткое состояние и впоследствии перепланировывается с нормальной скоростью, указанной параметром check_interval.
Кстати, если вы укажете значение 1 для параметра max_check_attempts, служба никогда не будет проверяться с интервалом, заданным параметром retry_interval. Вместо этого он немедленно переходит в жесткое состояние и впоследствии переносится со скоростью, указанной параметром check_interval.
Для меня это звучит как одно и то же. В чем разница между ними и когда их следует использовать?
max_attempts - это старое определение для сервисов и хостов, и оно больше не используется в ядре nagios 4. Посмотрите это, чтобы узнать возможные определения для ваших объектов: Определение объектов
С Icinga2
# icinga2 -V
icinga2 - The Icinga 2 network monitoring daemon (version: r2.6.3-1)
Использование max_attempts в сервисе вызывает ошибку:
Декларация услуги:
object Service "Intel(R) 82574L Gigabit Network Connection" {
import "generic-service"
host_name = "server"
check_command = "check_netint"
vars.interface = "Intel(R) 82574L Gigabit Network Connection"
vars.warning= "650000"
vars.critical ="800000"
max_attempts=1
}
Проверка конфигурации:
# service icinga2 checkconfig
[....] checking Icinga2 configuration
information/cli: Icinga application loader (version: r2.6.3-1)
information/cli: Loading configuration file(s).
information/ConfigItem: Committing config item(s).
critical/config: Error: Attribute 'max_attempts' does not exist.
Location: in /etc/icinga2/conf.d/1.conf: 32:3-32:16
/etc/icinga2/conf.d/1.conf(30): vars.warning= "650000"
/etc/icinga2/conf.d/1.conf(31): vars.critical ="800000"
/etc/icinga2/conf.d/1.conf(32): max_attempts=1
^^^^^^^^^^^^^^
/etc/icinga2/conf.d/1.conf(33): }
/etc/icinga2/conf.d/1.conf(34): /*
critical/config: 1 error
[FAIL] checking Icinga2 configuration. Check '/var/log/icinga2/startup.log' for details. ... failed!