icinga2 - где изменить команды мониторинга клиента?

система убунту 16.04

На главном узле, где установлен icinga2

#ls /etc/icinga2/repository.d/hosts/WIN-U52321E0BAK/
disk C%3A.conf  disk.conf  icinga.conf  load.conf  ping4.conf  

ping6.conf  procs.conf  swap.conf  users.conf

All conf files have save "dummy" check_command on them for example
#cat load.conf
object Service "load" {
import "satellite-service"
check_command = "dummy"
host_name = "WIN-U52321E0BAK"
zone = "WIN-U52321E0BAK"
}

Не могу понять откуда вызывается фиктивная команда и как настроить проверки на предупреждение и критический порог


person satch_boogie    schedule 27.11.2016    source источник


Ответы (1)


Пустая команда определена в /usr/share/icinga2/include/command-plugins.conf, например:

144 object CheckCommand "dummy" {
145     import "plugin-check-command"
146
147     command = [ 
148         PluginDir + "/check_dummy",
149         "$dummy_state$",
150         "$dummy_text$"
151     ]
152
153     vars.dummy_state = 0
154     vars.dummy_text = "Check was successful."
155 }

Чтобы изменить уровни предупреждения и критического состояния, вы устанавливаете пользовательскую переменную на уровне хоста или службы. На примере ping мы видим конфигурацию по умолчанию в том же файле:

36 template CheckCommand "ping-common" {
37     import "plugin-check-command"
38
39     command = [ PluginDir + "/check_ping" ]
40
41     arguments = {
42         "-H" = "$ping_address$"
43         "-w" = "$ping_wrta$,$ping_wpl$%"
44         "-c" = "$ping_crta$,$ping_cpl$%"
45         "-p" = "$ping_packets$"
46         "-t" = "$ping_timeout$"
47     }
48
49     vars.ping_wrta = 100
50     vars.ping_wpl = 5
51     vars.ping_crta = 200
52     vars.ping_cpl = 15
53 }

Вот важная часть:

49     vars.ping_wrta = 100
50     vars.ping_wpl = 5
51     vars.ping_crta = 200
52     vars.ping_cpl = 15

Итак: переходим к определению нашего хоста или сервиса, таким образом (используя /etc/icinga2/conf.d/host.conf и определение NodeName/localhost, которое есть у всех; комментарии удалены):

18 object Host NodeName {
20   import "generic-host"
21
23   address = "127.0.0.1"
24   address6 = "::1"
25
27   vars.os = "Linux"
30   vars.http_vhosts["http"] = {
31     http_uri = "/"
32   }
37
39   vars.disks["disk"] = {
41   }
42   vars.disks["disk /"] = {
43     disk_partitions = "/"
44   }
45 }

И мы вставляем перед строкой 45 выше, чтобы произвести:

18 object Host NodeName {
20   import "generic-host"
21
23   address = "127.0.0.1"
24   address6 = "::1"
25
27   vars.os = "Linux"
30   vars.http_vhosts["http"] = {
31     http_uri = "/"
32   }
37
39   vars.disks["disk"] = {
41   }
42   vars.disks["disk /"] = {
43     disk_partitions = "/"
44   }
45   vars.ping_wrta = 50
46   vars.ping_wpl = 3
47   vars.ping_crta = 10
48   vars.ping_cpl = 2
49 }

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

person Jason W. Neiss    schedule 30.11.2016
comment
Есть ли возможность изменить этот параметр в директоре Icinga? - person ozw1z5rd; 07.10.2018