У меня icinga v2.11.3-1 установлен на 4 серверах, один в качестве главного, а остальные - узлы агентов, и некоторые из них настроены правильно, потому что они видны в icingaweb2 под хостами.
что я хочу сделать, так это иметь возможность запускать команду проверки на удаленном агенте.
скажем, я хочу контролировать диски на сервере под названием my-server
.
поэтому в главном узле я добавил следующую конфигурацию:
сначала определил хост и зону:
object Host "my-server" {
import "generic-host"
address = "my-server-host"
vars.os = "Linux"
vars.disks["disk /mnt/data"] = {
disk_partitions = "/mnt/data"
}
vars.agent_endpoint = name
}
object Endpoint "my-server" {
host = "my-server"
}
object Zone "my-server" {
endpoints = ["my-server"]
parent = "master"
}
обратите внимание, что я добавил vars.agent_endpoint
.
что применило следующее к disk
служба:
apply Service "disk" {
check_command = "disk"
// Check is executed on the remote command endpoint
command_endpoint = host.vars.agent_endpoint
zone = host.vars.agent_endpoint
assign where host.vars.agent_endpoint
}
и это определение, которое проверяет host.vars.disks
который уже был представлен в конфигурационном файле services.conf:
apply Service for (disk => config in host.vars.disks) {
import "generic-service"
check_command = "disk"
vars += config
}
тем не менее, он по-прежнему проверяет наличие свободного места в родительском узле и показывает этот результат.
Я наверное что-то пропустил в конфигурации и не знаю что
любые идеи по этому поводу были бы очень признательны.
Спасибо!
так .. Я не мог найти способ решить это вручную .. но я нашел кое-что еще лучше! Обычно я предпочитаю настраивать вещи вручную, но я нашел плагин для icingaweb2 под названием Director, который значительно упростил настройку всего.
так что проект находится на https://github.com/Icinga/icingaweb2-module-director
поэтому я удалил конфигурацию и пакеты icinga2 со всего моего сервера и начал чистую, просто установил icinga2 на все серверы, запустил icinga2 node wizard
на всех них и настройте icingaweb2 на главном узле. здесь я все еще не видел ни одного из своих серверов, потому что к ним не было подключено никаких конечных точек.
затем я установил директора, вошел в веб-интерфейс директора, настроил шаблон хоста с помощью команды проверки hostalive
и Icinaga2 Agent
, Establish connection
и Accepts config
установлен на да.
затем я создал хосты, используя этот шаблон.
Затем я создал шаблон службы для каждого элемента мониторинга, который хочу протестировать, и установил для параметра «Запускать агент» значение «Да».
затем я создал службу из этой службы шаблона и прикрепил ее к шаблону хоста, который я создал, так что каждая служба будет отслеживаться на всех моих серверах на основе агентов.
затем я развернул конфигурацию и вуаля! работает отлично. обнаружил хосты и выполняет задачи мониторинга сервисов на этих серверах.
Я был очень впечатлен этим проектом, его было очень легко понять и настроить все, что я хочу.