Dav*_*ave 6 linux monitoring nagios
我正在尝试设置 Nagios 来监视我的各种机器,使用主机组来定义“机器角色”,我针对这些机器运行服务以按角色检查机器。但是,我想使用条件运算符,使我能够针对两个主机组的交集运行服务检查,而不是它们的并集......即使用 &&、|| 或 () 运算符。
例如,假设我有以下服务器:
我想创建以下主机组:
现在说我有兴趣检查我的 Web 服务器的 HTTP 响应时间。然后假设这个特定的 Nagios 服务从美国(西海岸)运行,并且我有一个名为check_http_response_time的命令。此命令将检查 HTTP 服务器的响应能力,我可以提供一个参数,该参数定义在引发关键之前的最大响应时间。
我的命令可能如下所示: check_http_response_time $HOSTNAME$ 50
现在,传统上,我可以通过指定主机或主机组列表来运行我的检查。
define service{
use local-service
hostgroup_name WWW-Servers # Servers = www-us, www-eu
servicegroups WWW Checks
service_description Check HTTP Response Time
check_command check_http_response_time!50
}
Run Code Online (Sandbox Code Playgroud)
但是,根据上述服务定义,鉴于我的 Nagios 服务位于美国西部,我可以合理地预期我的欧盟服务器将返回关键状态。真的,我希望每个地区都有不同的阈值(美国西部 50,欧盟 200。)
为了实现这一点,我必须为每个主机排列我的服务并为每个主机设置自定义阈值,或者按角色和区域(即 WWW-Servers-EU)排列我的服务组,并针对这些运行特定阈值。虽然后者更好,但两者都比我想要的要混乱得多......
我想要的,也是这篇文章所要求的,是一种使用主机组使用条件逻辑执行交集的方法,而不是简单的联合。它可能看起来像:
define service{
use local-service
hostgroup_name WWW-Servers && US-Servers
servicegroups WWW Checks
service_description Check HTTP Response Time
check_command check_http_response_time!50
}
Run Code Online (Sandbox Code Playgroud)
然后它只会对 WWW-Servers和US-Servers主机组中的服务器运行检查:在我的例子中,只是 www-us。对于大规模配置的 Nagios 服务来说,这种特性的好处将是显着的。
这个功能可用吗?如果没有,将来会提供吗?考虑到最新的 Nagios 版本,是否有其他方法可以完成此操作?
任何提示/建议都非常感谢!
然后它只会对 WWW-Servers 和 US-Servers 中的服务器运行检查,在我的例子中,只是 www-us。
这个功能可用吗?如果没有,将来会提供吗?
Ethan Galstad 说他没有任何增加交叉点支持的计划。
考虑到最新的 Nagios 版本,是否有其他方法可以完成此操作?
您可以通过在主机或主机组前面加上符号来从定义中排除某些主机!
。所以,尝试这样的事情:
define service{
use local-service
hostgroup_name *,!EU-Servers,!FTP-Servers
servicegroups WWW Checks
service_description Check HTTP Response Time
check_command check_http_response_time!50
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1347 次 |
最近记录: |