monitoring - 在 Zabbix 中将主机名问题标记为已解决
问题描述
我对使用 Zabbix 相当陌生,并且在使用该平台进行初始测试时,我已经添加了一些主机。
在进行此配置时,我错误地配置了一些东西,例如在其中一个代理中保留了不正确的主机名。当我最终在代理配置文件中修复代理主机名时,它开始在 Zabbix 仪表板中出现问题。
它指出“zabbix_agentd 的主机名已在 [my.monitored.host.tld] 上更改”。这是一个误报,这不是一个问题,但实际上是一个更正。
我想保留此触发器,但我希望能够将其标记为已解决,因为它是配置更改,而不是由于文件被无意更改而导致的问题。
我怎样才能做到这一点?这样做的唯一方法是否必须更改触发器以允许手动关闭?如果是这样,我在哪里可以访问它?我尝试转到主机,单击该主机上的触发器,然后选择“主机名”触发器,但我看到手动关闭复选框已禁用。
解决方案
某些触发器或项目字段只能在其相关模板中进行修改。
如果主机触发器附加到主机上的模板,您将无法在主机触发器中启用“允许手动关闭”。有两种选择可以解决这个问题:
1:移动到顶层模板并修改它。
每当您选择附加到模板的触发器时,触发器配置页面的顶部都会有一个或多个“父触发器”链接。(如果有多个用 '=>' 箭头分隔,这意味着有很多继承层,要编辑任何你必须直接到最上面的那个)。
一旦您位于顶部,所有字段都应该是可编辑的,包括手动关闭和触发器表达式本身之类的内容。
注意:此选项将修改 附加到此模板的所有主机。 仔细考虑应该对一台主机和整个子集进行哪些更改。
2:新的、特定于主机的触发器
如果您不喜欢修改使用此模板的所有主机的想法 - 例如,您可能不希望任何技术人员能够手动解决所有主机的主机名更改警报,而只是一个 -您可以克隆主机内的原始触发器,然后将其禁用。
解释一下,由于您无法修改基于模板的触发器,因此可以打开触发器配置,点击“克隆”(确保您仍在主机的上下文中,而不是模板的上下文中)并进行更改想要在新创建的触发器中。这样就可以开启手动关闭,确认新的触发,只有选中的主机会受到影响。
如果您要使用此解决方法,您应该确保不要忘记禁用原来的解决方法!识别主机上的触发器列表中哪个是哪个的简单方法是检查触发器名称旁边的模板名称 - 基于模板的触发器将始终在触发器列表中具有指向其模板的链接,而特定于主机的触发器没有。
不幸的是,您不能在不删除整个模板的情况下删除模板触发器。如果您发现需要像这样修改许多主机,您可能需要考虑为这些主机创建一个新模板,并进行相关修改;从长远来看,拥有太多特定于单个主机的条件可能会使更改它们的条件非常耗时。与往常一样,考虑您的环境以及对您的组织最有意义的因素。
顺便说一句,手动关闭(可能)是此类情况的最佳选择。在警报系统中,尤其是像 Zabbix 这样的警报系统,我们可能倾向于选择一些误报,因此(在大多数情况下)保持触发是正确的想法。在 Zabbix 中,您可以忽略触发器直到它解决(默认情况下,像这样的配置更改触发器往往会在下次检查时解决),但如果您依赖 Zabbix Web 界面本身提供信息,这些被忽略/公认的触发因素会使发现实际问题变得更加困难。在不完全禁用它们的情况下,手动关闭可确保您可以在必要时立即解决它们,否则它们仍然存在。
推荐阅读
- javascript - API 接收半数据
- python - ValueError:打开文件后对已关闭文件的 I/O 操作
- regex - scala.MatchError 将带有可选部分的字符串划分为一或三部分时
- firebase - 如何解决错误路径中不能包含 //。Firestore 颤动错误
- python - ModuleNotFoundError 与 Spyder
- java - 将文件用于共享内存 IPC
- java - 默认标头 OpenAPI 3.0 | Java Jaxrs-RestEasy
- javascript - 由工作流创建后重定向到新创建的 Dynamics 365 记录
- apache-zookeeper - Zookeeper zookeeper.forceSync、Zab 和 Paxos
- c# - 如何让 winappdriver 找到应用程序文件?