У меня установлена icinga2, которая отслеживает некоторые хосты Debian с помощью собственного агента.
Все проверки работают нормально, за исключением apt
. Отображаемые результаты взяты с главной машины icinga2, и я не могу понять, почему.
Вот моя apt
конфигурация сервиса:
apply Service "apt" {
import "generic-service"
check_command = "apt"
assign where (host.name == NodeName || host.vars.linux_ver == "debian")
// assign where host.name == NodeName
}
Есть какие-нибудь подсказки?
решение1
Вопрос старый, но: Вам нужно будет определить удаленного клиента (command_endpoint) каким-то образом, иначе он будет проверять только на главном сервере. Я предполагаю, что ваша конфигурация агента запущена, поэтому вы уже настроили zones.conf
. Я предлагаю добавить вторую службу для удаленных клиентов:
apply Service "apt2" {
import "generic-service"
check_interval = 10m // * how often to check
check_command = "apt" // * call the plugin
command_endpoint = host.vars.remote_client // * execute the plugin on the remote machine
//vars.apt_only_critical = "1" //uncomment if you want.
assign where host.vars.remote_client && host.vars.linux_apt == "1" // * only check where remote client is set and vars.linux_apt is set to "1"
}
Конфигурация хоста:
object Host "<HostName>" {
import "generic-host" // * default stuff
address = "<HostAddress>" // * default stuff
vars.linux_apt = "1" // * Set this host to be checked by the new service
vars.remote_client = "<HostNameAsConfiguredInZones.conf>" // * Needed for the remote service checks. Check `zones.conf` on what to insert here for your host.
}