如何在 Zabbix 中只保留 Windows 发现系统的一些指标?

How to keep only some metrics of Windows discovery system in Zabbix?

我使用 zabbix 监控 AWS 中的一些 Windows 服务器。 Windows 发现系统会自动在 Zabbix 中创建许多项和触发器。 我试图禁用所有这些,只保留 2 个项目。他们是
服务 "Dhcp"(DHCP 客户端)不是 运行(自动启动类型) 服务 "MpsSvc"(Windows 防火墙)不是 运行(自动启动类型)

但过了一段时间,有很多项目像 服务"OneSyncSvc_xxxxxxx"(同步Host_xxxxxxx)不是运行(启动类型自动延迟) 我也禁用了它们,然后后来出现了一些具有 ↑ 结构的项目。 如果我禁用 Windows 发现系统,恐怕上面提到的 2 个项目也不会起作用。

有什么办法可以解决吗?

你找到的大多数 zabbix 模板最好被认为是示例;一个组织需要监测的内容往往与另一个组织大不相同。对于您正在处理的低级别发现尤其如此。

最好的方法是找到模板并查看它如何生成 LLD 项目。有很多方法可以做到这一点,从脚本到 zabbix 遍历 SNMP 项或代理项。无论如何,每个都有一个发现定义(配置、模板、发现规则)。在第二个选项卡上是 "Filters" 页面。在那里,您可以创建一组逻辑条件,允许(或不允许)发现。

作为一个简单的例子,我有一个我不想要的接口名称模式列表,例如"Unrouted VLAN" 或 "StackSub"。如果找到这些名称,则不会发现该项目。如果您有多个具有相似列表的模板,请将列表放在正则表达式中(管理、常规、正则表达式)。注意匹配意义 (include/exclude),您可以在正则表达式页面(第二个选项卡)中测试它们。

换句话说,你真正想要的处理方式是完全不被发现,而不是事后处理。

请注意,不再发现的项目(例如,如果您开始过滤并删除一些)将在发现规则的 "Keep lost resources period (in days)" 之后删除。明智的做法是更改过滤器以将其设置为大于 0 的值,然后查看设备的项目以查看哪些未被发现和被删除(如果我记得的话,它们会以橙色感叹号出现——某种标志并将鼠标悬停在上面并进行解释)。

如果您的需求比静态过滤器可以确定的更复杂,您可以编写发现本身的脚本,并在脚本中使用逻辑来决定需要什么,不需要什么,但显然实现起来要复杂得多.