我有一个 Zabbix,我想用它来监控我的网络性能。我在 Zabbix 上设置了 16 个 IP(每个 IP 来自我们网络内不同的 /24),我需要监控网络上的特定目标,例如网站、服务等。
我已经创建了监控并且它正在运行,但是,我想将我的项目放在模板上,以在每个需要的主机中创建每个项目(每个 /24 1 个主机,使得 Zabbix 内部有 16 个主机),但是,如果我在一个主机中就有 10 个项目,我将需要创建 160 个项目,这是不可行的。
此场景是接收项目键上的参数,即我想要测试的源地址。目前唯一不可能的事情是,我需要在每个项目上指定源,这将需要大量工作,因此我在 Zabbix 上创建每个主机,并将其命名为我正在使用的 Src IP,因此我想将主机名(即 IP)作为参数传递,从主机名本身发现它。
我尝试使用 ZabbixAgent 发现规则,但没有成功,因为我尝试实现它的方式似乎不正确:
key: down["{HOST.NAME}",http,facebook.com.br]
在发现规则中使用此键以及以下内容:
down["{$HOST.NAME}",http,facebook.com.br]
在项目原型中只是返回错误。
我可以尝试使用一些 JSON 或 LLD,但我确信这是一种简单的方法,可以将此密钥作为动态的,从 Zabbix 的 HostName 读取,同时在其余密钥上使用固定参数。
答案1
您应该能够直接在模板中创建一个项目,如下所示:
down["{HOST.HOST}",http,facebook.com.br]
这样就无需使用 LLD。还请注意 的使用HOST.HOST
,它是实际的主机名(而不是可见的名称HOST.NAME
)。