You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Nagios主机通知邮件中正确包含主机组信息?

Nagios邮件通知添加主机组信息的正确配置方法

你遇到的问题是因为$HOSTGROUPS$并非Nagios主机通知上下文里的有效内置宏,所以无法正确解析,只会输出截断的$。以下是正确的配置方案:

核心解决步骤

  • 替换错误宏:将命令中的$HOSTGROUPS$改为**$HOSTGROUPNAMES$**,这是Nagios 3.x及后续版本中用于获取主机所属主机组列表的内置宏,输出为逗号分隔的主机组名称。
    修改后的commands.cfg片段示例:

    ... 
    Host: $HOSTNAME$
    Hostgroups: $HOSTGROUPNAMES$
    State: $HOSTSTATE$ 
    ...
    
  • 验证配置并重启服务:

    1. 执行配置语法检查:nagios -v /etc/nagios/nagios.cfg(路径根据实际部署调整)
    2. 重启Nagios服务:systemctl restart nagios(或对应系统的service命令)

老版本兼容方案(Nagios 2.x)

如果使用的是Nagios 2.x,$HOSTGROUPNAMES$宏不可用,可通过以下方式处理:

  • 编写自定义脚本,通过Nagios外部命令接口或直接读取配置文件获取主机所属组,再在通知命令中调用该脚本输出结果。
  • 手动在主机定义中添加自定义宏(如_MYHOSTGROUPS),但这种方式需要逐个维护主机配置,扩展性差,不推荐。

额外检查

确保目标主机已正确关联到至少一个主机组,主机组定义无语法错误,否则宏会输出空值。

内容的提问来源于stack exchange,提问作者Hal Clark

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 21:30:53