避免在 Nagios Core 中重复服务定义

  • 本文关键字:服务 定义 Core Nagios nagios
  • 更新时间 :
  • 英文 :


主机的服务定义如下所示:服务{ 姓名host_1_svc .... check_command check_xyz!ABC }

需要在 host2 上执行类似的检查,除了check_command的参数是 lmn。所以我必须定义:服务{ 姓名host_2_svc .... check_command check_xyz!lmn }

避免只需稍作更改即可一遍又一遍地定义服务的一般方便做法是什么?

谢谢Yash

您可以在每个主机中定义自定义主机变量:

define host{
    use             generic-host
    host_name       host1
    address         10.0.0.1
    _chk_value      abc
}
define host{
    use             generic-host
    host_name       host2
    address         10.0.0.2
    _chk_value      lmn
}
define service{
    use             generic-service
    name            host_chk_svc
    host_name       host1,host2
    check_command   check_abc!$_HOSTCHK_VALUE$
}

请注意主机定义中自定义变量前面的下划线(这会将其定义为自定义),然后在宏的开头下划线,但不在其中间加下划线($_HOSTCUSTOM$ 而不是 $HOST_CUSTOM$)。

http://nagios.sourceforge.net/docs/3_0/customobjectvars.html

定义一个主机组,然后将该主机添加到该组中,您只需定义一次服务。主机和主机组以及服务和服务组之间的关系可能很难可视化,尤其是在 Nagios/etc 文件夹中的文件没有一致的命名方案时。

以下是我发现的两个图表,有助于理解它:

有关各种网络监控选项的幻灯片:http://www.semintelligent.com/talks/chuug/network-monitoring/#%2827%29

关于Nagios设置的简短但有用的页面:http://www.the-tech-tutorial.com/?p=1433

最新更新