在 Zabbix 中将主机名问题标记为已解决

Mark a hostname problem as resolved in Zabbix

我对使用 Zabbix 还很陌生,在使用该平台进行初始测试时我已经添加了一些主机。

在进行此配置时,我配置了一些错误,例如在其中一个代理中留下不正确的主机名。当我最终在代理配置文件中修复代理主机名时,它开始在 Zabbix 仪表板中显示为问题。

表示"Host name of zabbix_agentd was changed on [my.monitored.host.tld]"。这是误报,这不是问题,实际上是更正。

我想保留此触发器,但我希望能够将其标记为已解决,因为它是配置更改,而不是由于文件被无意更改而导致的问题。

我该怎么做?执行此操作的唯一方法是必须更改触发器以允许手动关闭吗?如果是这样,我在哪里可以访问它?我尝试转到主机,单击该主机上的触发器,然后 select "host name" 触发器,但我看到手动关闭复选框已禁用。

一些触发器或项目字段只能在其相关模板中修改。

如果它们附加到主机上的模板,您将无法在主机触发器中启用 'Allow Manual Close'。有两种选择可以解决这个问题:

1: 移动到顶级模板并修改它。

每当您 select 一个附加到模板的触发器时,触发器配置页面的顶部都会有一个 'Parent Triggers' link 或 link。 (如果有多个由'=>'箭头分隔,则意味着有多层继承,要编辑任何一个,您必须直接转到最上面的那个)。

到达顶部后,所有字段都应该是可编辑的,包括“手动关闭”和触发器表达式本身。

注意:此选项将修改所有附加的主机到这个模板。仔细考虑应该在一台主机上还是在整个子集上进行哪些更改。

2:新的特定于主机的触发器

如果您不喜欢修改所有使用此模板的主机的想法 - 例如,您可能不希望任何技术人员能够手动解决所有主机的主机名更改警报,而只是一个- 您可以在主机内克隆原始触发器,然后禁用它。

解释一下,由于您无法修改基于模板的触发器,因此可以打开触发器配置,点击 'Clone'(确保您仍在 主机 上下文,而不是模板的上下文)并在新创建的触发器中进行所需的更改。这样就可以开启手动关闭,确认新的触发器,只有select的主机会受到影响

如果您打算使用此解决方法,请确保不要忘记禁用原来的解决方法!从主机上的触发器列表中识别哪个是哪个的一种简单方法是检查触发器名称旁边的模板名称 - 基于模板的触发器在触发器列表中的模板始终具有 link,而特定于主机的触发器具有 none.

遗憾的是,如果不删除整个模板,您将无法删除模板触发器。如果您发现需要像这样修改许多主机,您可能需要考虑 为这些主机创建一个新模板,并进行相关修改;有太多的单一主机特定条件会使更改它们的条件在很长的 运行 中非常耗时。一如既往,考虑您的环境以及什么对您的组织最有意义。

顺便说一句,对于这种情况,手动关闭(可能)是最佳选择。在警报系统中,尤其是像 Zabbix 这样的警报系统,我们倾向于选择一些误报,所以(在大多数情况下)保持触发器是正确的想法。在 Zabbix 中,您可以忽略触发器直到它解决(默认情况下,像这样的配置更改触发器往往会在下一次检查时解决),但是如果您依赖 Zabbix Web 界面本身来提供信息,这些 ignored/acknowledged 触发器会使发现实际问题变得更加困难。在不完全禁用它们的情况下,手动关闭可确保您可以在必要时立即解决它们,否则它们仍然存在。