Zabbix 宏,如何通过名称访问主机及其项目或键

Zabbix 宏,如何通过名称访问主机及其项目或键

我有一个 zabbix 4.2 安装。

我目前已通过通用 SNMP 查询使用我提供的 OID 来监控网络设备。数据采集顺利,图表按预期填充。

我想制作一个交通天气图,以便链接显示当前(或最后)的带宽读数。

像这样:

目标

但是我找不到允许我想要做的事情的宏格式。两个问题:

1:链接与主机不同。它们是不同的实体。因此应用 {HOST.NAME} 或 {HOST.anything} 不起作用。因为链接不是主机。那么...如何使用按名称引用主机的宏?类似于 {net-pan-fw.NAME} 或 {net-pan-fw.HOST},但这不起作用。

2:如何引用/调用/访问主机的成员数据。项目还是密钥?主机 net-pan-fw 有几个项目,例如 net-pan-fw-eth1-310-dmz-bps-in(“项目”和“密钥”的名称)。如何让宏读取该数据?我看到过对 {HOST:ITEM.last(0)} 之类的引用,但不起作用。我尝试过 {HOST:net-pan-fw-eth1-310-dmz-bps-in.last(0)} 之类的东西,但不起作用。

这就是我的两个问题。宏如何引用不同的/特定的主机;宏如何引用/读取该主机中的特定 ITEM 或 KEY?

答案1

通过蛮力解决了这个问题。

宏可以通过名称指向主机,并且可以按照以下格式通过其键引用“项目”中的“键”:

{host-name-here:item-key-here.last(0)}

因此,在我的例子中,我的主机名是 net-pan-fw,并且我在 net-pan-fw-eth1-3-10-dmz-bps-in 和 net-pan-fw-eth1-3-10-dmz-bps-out(它们是 SNMP 源)中有数据。因此,我可以在任何情况下使用宏,例如:

In  :  {net-pan-fw:net-pan-fw-eth1-3-10-dmz-bps-in.last(0)}
Out :  {net-pan-fw:net-pan-fw-eth1-3-10-dmz-bps-out.last(0)} 

导致 : 生成的地图

编辑,几年后。

在 Zabbix 6.4 中,宏语言完全改变了。

down: {?avg(/sw-hq/net.if.out[ifHCOutOctets.5],5m)}
up: {?avg(/sw-hq/net.if.in[ifHCInOctets.5],5m)}

现在的格式如下:

/host/oid branch[leaf node]

{?function(/host/oid branch[leaf node], functionargument2)}

相关内容