Icinga

Icinga:max_attempts 與 max_check_attempts

  • May 12, 2017

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作為:

當服務首次從 OK 狀態變為非 OK 狀態時,Icinga 使您能夠暫時減慢或加快對該服務進行後續檢查的時間間隔。當服務第一次改變狀態時,Icinga 將在確定這是一個真正的問題之前執行最多 max_check_attempts-1 次服務檢查重試。在重試服務時,它會根據 retry_interval 選項進行調度,該選項可能比正常的 check_interval 選項更快或更慢。在重新檢查服務時(最多 max_check_attempts-1 次),服務處於軟狀態。如果服務被重新檢查 max_check_attempts-1 次並且它仍然處於非 OK 狀態,則服務變成硬狀態並隨後以 check_interval 選項指定的正常速率重新調度。

附帶說明一下,如果您將 max_check_attempts 選項的值指定為 1,則永遠不會按照 retry_interval 選項指定的時間間隔檢查服務。相反,它會立即變成硬狀態,隨後以 check_interval 選項指定的速率重新調度。

這些對我來說聽起來是一樣的。它們之間有什麼區別,什麼時候應該使用它們?

max_attempts 是服務和主機的舊定義,在 nagios Core 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!

引用自:https://serverfault.com/questions/849461