Table of Contents

5 个表达式宏

概述

表达式宏在公式计算中非常有用。它们通过展开内部所有宏并评估结果表达式来进行计算。

表达式宏具有特殊语法:

{?EXPRESSION}

EXPRESSION中的语法与trigger expressions相同(参见下方的使用限制)。

表达式宏支持{主机.主机<1-9>}和{监控项.KEY<1-9>}宏。自Zabbix 6.0.9起,表达式宏中支持{监控项.KEY<1-9>}宏。

使用

在以下位置:

  • 图表名称
    • 地图元素标签
    • 地图形状标签
    • 地图链接标签

仅支持以下集合中的单一函数:avglastmaxmin 允许作为表达式宏使用,例如:

{?avg(/{HOST.HOST}/{ITEM.KEY},1h)}

诸如 {?last(/host/item1)/last(/host/item2)}{?count(/host/item1,5m)} 等表达式 以及在这些位置中的{?last(/host/item1)*10}不正确。

然而,在:

  • 触发器事件名称
    • 基于触发器的通知和命令
    • 问题 update 通知和命令

复杂表达式是允许的,例如:

{?trendavg(/host/item1,1M:now/M)/trendavg(/host/item1,1M:now/M-1y)*100}

在模板中使用表达式宏时,请勿指定模板名称,而应使用{主机.主机<N>},因为在链接过程中模板名称不会通过主机进行替换。 你也可以完全省略第一个主机的主机引用,例如{?avg(//item1,1h)}

另请参阅: