LINUX.ORG.RU
ФорумAdmin

добавить хост в icinga2

 , ,


0

1

Коллеги, тут такое дело, когда-то давно уже настраивал icinga2, а сейчас что-то не могу уловить суть.
Настроил мастер ноду.
Настроил клиент. Т.е. запустил на нем node wizard и указал адрес мастера.
Сейчас на мастере есть established connection с клиентом по 5665.
Вот дальше никак не пойму что надо сделать, что бы увидеть метрики в веб-интерфейсе.
Что я сделал по докам:
добавил в hosts.conf хост, который надо мониторить:

object Host "clientmachine" {
  address = "172.20.1.161"
  import "generic-host"
  vars.os = "Linux"
}
object Service "client_procs" {
  host_name = "clientmachine"
  check_command = "procs"
  vars.procs_warning = 600
  vars.procs_critical = 700
}
добавил в services.conf команду, которая возмет метрики с endpoint. По сути я скопировал procs в client_procs и только добавил параметры command_endpoind и assign:
apply Service "client_procs" {
 import "generic-service"
 check_command = "procs"
 command_endpoint = host.vars.client_endpoint
 assign where host.vars.client_endpoint
}
И вот сейчас, мой хост отображается в webui, только количество процессов берет не с клиента, а с мастера.
Проверяю запуском check_procs с обоих машин.
Что я упускаю ?
Спасибо.

★★★★★

Ответ на: комментарий от turtle_bazon

слушай, а можно в одном конфиг файле и host объявить и сервисы к нему ?
сейчас у меня в одном hosts файле указано 2 хоста. а в services.conf 5 сервисов.
и получается, что эти 5 сервисов жестко прикрепляются к обоим хостам.
как-то не очень

dada ★★★★★ ()
Ответ на: комментарий от dada

Да там довольно гибко. Можно что угодно. По сути эти конфиги у тебя в один и собираются в итоге. Поэтому в одном можно. У тебя ещё в services.conf прикрепляются сервисы по типу (вроде, что-то типа Linux hosts). И всё, что Linux Hosts у тебя будут иметь эти сервисы.

turtle_bazon ★★★★ ()
Ответ на: комментарий от turtle_bazon

вот смотри, есть у меня сервис, который проверяет порт:

apply Service "Connection to DB" {
  check_command = "tcp"
  command_endpoint = host.vars.client_endpoint

  assign where host.vars.client_endpoint

}
Проблема в том, что он работает на всех хостах. Как сделать так, что бы он работал только на одном?
пытался добавить в assign это: and host.address = «192.168.1.123», но не работает =(

dada ★★★★★ ()