我目前正在使用sensu和Uchiwa试图摆脱Zabbix,问题是一些检查仍然存在,即使他们依赖于其他检查。 例如: 我有一个检查,检查vpn进程是否处于活动状态:
"vpn-process": {
"command": "check-process.rb -f /var/run/openvpn/client.pid",
"subscribers": [
"uni"
],
"interval": 60,
"dependencies": [
"http-url1",
"http-url2",
"http-url3"
]
},
我还检查了http响应,但如果vpn关闭,这不应该工作。
"http-url1": {
"command": "python /etc/sensu/plugins/check-http.py https://url",
"subscribers": [
"uni"
],
"interval": 60
},
然而,Uchiwa警告有关VPN检查和的HTTP检查。 Uchiwa showing VPN and HTTP checks
我读到了dependency check filters,但据我所知,它仅适用于处理程序而Uchiwa不是handler?
答案 0 :(得分:1)
看来你不能使用Uchiwa作为处理程序(我和维护者一起检查过),每次VPN关闭时我都必须在python中编写自己的API来调用API,并且我不希望将这些检查静音显示在仪表板中。这样我就创建了自己的依赖项。
答案 1 :(得分:0)
Uchiwa显示系统中当前的事件状态 - 它是检查/事件的被动视图,而处理程序是活动的。即使VPN已关闭,HTTP检查也将按计划执行,无论您是否具有依赖关系过滤器,它都将被视为CRITICAL
。
如果VPN关闭,那么让HTTP检查而不是的唯一方法会导致CRITICAL
值,如果您在某种程度上能够在HTTP检查中检查该情况并返回一个不同的值而不是CRITICAL
。但是,VPN关闭可能看起来与其他与网络相关的问题非常相似,因此最好避免这种情况。
也许尝试将VPN和HTTP检查转换为check aggregate?