这是原厂英文文档的翻译页面. 欢迎帮助我们 完善文档.

Sidebar

Zabbix Summit 2022
Register for Zabbix Summit 2022

1 Foreach 函数

概括

Foreach 函数返回多个监控项历史数据的聚合值。 Foreach 函数用于聚合计算。

支持以下 foreach 函数:

函数 描述
avg_foreach 返回平均值
bucket_rate_foreach 返回对 (桶上限,速率值)适用于 histogram_quantile() 函数,其中“bucket upper bound”是定义的item key参数的值<parameter number> parameter.
count_foreach 返回值的数量
exists_foreach 返回当前启用的监控项数
last_foreach 返回最后一个值
max_foreach 返回最大值
min_foreach 返回最小值
sum_foreach 返回值的总和

Foreach 函数返回一个值数组 - 每个监控项一个。监控项通过在第一个参数中使用过滤器来选择。

参看 聚合计算有关使用 foreach 函数的更多详细信息。

Supported functions

Function Description
avg_foreach Returns the average value for each item.
bucket_rate_foreach Returns pairs (bucket upper bound, rate value) suitable for use in the histogram_quantile() function, where "bucket upper bound" is the value of item key parameter defined by the <parameter number> parameter.
count_foreach Returns the number of values for each item..
exists_foreach Returns the number of currently enabled items.
last_foreach Returns the last value for each item.
max_foreach Returns the maximum value for each item.
min_foreach Returns the minimum value for each item.
sum_foreach Returns the sum of values for each item.

参数

Foreach 函数支持两个常用参数 - 监控项过滤器和时间段:

foreach_function(item filter,time period)

例如:

avg_foreach(/*/mysql.qps?[group="MySQL Servers"],5m)

一些函数支持附加参数。

监控项过滤器

第一个 参数允许过滤我们感兴趣的监控项。 可以使用复杂的过滤器,参考监控项、主机组和标签,如下所示:

语法示例 描述
/host/key[abc,*] 匹配此主机上的类似监控项。
/*/key 匹配任何主机的相同监控项。
/*/key?[group="ABC" and tag="tagname:value"] 匹配 ABC 组中具有“tagname:value”标签的任何主机的相同监控项。
/*/key[a,*,c]?[(group="ABC" and tag="Tag1") or (group="DEF" and (tag="Tag2" or tag="Tag3:value"))] 将 ABC 或 DEF 组中任何主机的类似监控项与各自的标签匹配。

所有引用的监控项必须存在并收集数据。仅启用主机上启用项目包含在计算中。

如果被引用的item的item key改变了, 过滤器必须手动更新。

指定父主机组包括父组和所有嵌套主机组及其监控项。

时间段

second 参数允许指定时间段 聚合。时间段只能表示为时间,数量 不支持值(以 # 为前缀)。

Supported unit symbols 可以用在这个 为方便起见参数,例如“5m”(五分钟)而不是 '300s'(300 秒)或 '1d'(一天)而不是 '86400'(86400 秒)。

如果与 last_foreach 一起传递,服务器将忽略时间段 函数,因此可以省略:

last_foreach(/*/key?[group="host group"])

exists_foreach 函数不支持时间段。

附加参数

bucket_rate_foreach 支持第三个可选参数 功能:

bucket_rate_foreach(item filter,time period,<parameter number>)

其中 <parameter number> 是“bucket”值在 监控项键。例如,如果 myItem[aaa,0.2] 中的“bucket”值为 '0.2',则其位置为 2。

<parameter number> 的默认值为“1”。