我使用 icinga2 进行监控,并希望包括位于客户站点的 NVR 等设备。无法对这些设备进行 ping 来检查主机状态。
Icinga2 代理可以很好地报告我需要的一切,而无需转发某些端口。
但是主机状态本身始终为“DOWN”,因为这是使用 ping 检查的。如果代理未及时报告任何内容,我需要仅将主机视为“DOWN”。目前,我正在检查 NVR 公开的 HTTPS 网站,但这并不是我想要的,因为有可能 NVR 服务已关闭,但设备本身已启动。
答案1
中设置的默认检查generic-host
称为hostalive
,它将检查主机是否可以通过任何方式 ping 通。
您需要将主机状态更改为虚拟检查。因为 Icinga2 总是想知道主机是否还活着。
例子:
template Host "non-pingable" {
import "generic-host"
check_command = "dummy"
vars.dummy_state = 0
vars.dummy_text = "Host can not be pinged, should be up, hopefully..."
}
这将运行一个非常通用的检查,但将您的主机状态设置为 UP。
您还可以使用任何其他检查,如 SSH 或端口测试。
答案2
我将使用集群区域连接检查来验证主机的客户端是否真正可访问且已连接。
将主机对象中的 vars.cluster_zone 设置为客户端的区域,并替换主机检查命令。