12 聚合检查
概述
在聚合检查中,Zabbix通过直接从数据库中查询监控信息,然后进行信息聚合。
聚合检查不需要在被监控主机上运行任何代理。
语法
聚合监控项键值的语法是:
groupfunc["host group","item key",itemfunc,timeperiod]
支持的组函数:
组函数 | 描述 |
---|---|
grpavg | 平均值 |
grpmax | 最大值 |
grpmin | 最小值 |
grpsum | 值的总和 |
可以通过插入以逗号分隔的数组来包含多个主机组。指定父主机组将包括父组和所有包含监控项的嵌套主机组。
从聚合监控项键值引用的所有监控项必须存在并且正在收集数据。只有主机和监控项都被启用才能进行聚合计算。
支持的监控项函数:
监控项函数 | 描述 |
---|---|
avg | 平均值 |
count | 数值 |
last | 最后一次的值 |
max | 最大值 |
min | 最小值 |
sum | 值的总和 |
timeperiod 参数指定最近收集的值的时间周期。为方便起见,可以在此参数中使用 支持的单位符号。例如,使用’5m’ (分钟)来代替’300’ (秒),或者是用’1d’ (天) 来代替 ‘86400’ (秒)。
在该段时间内,不支持多个数值(前缀为 # ).
如果第三个参数(监控项函数)是 last ,服务器将忽略Timeperiod,因此可以省略:
groupfunc["host group","item key",last]
如果聚合产生的是一个浮点数,同时聚合的监控项信息类型为 Numeric (unsigned) ,则该值将会被修剪为整数。
如果出现以下情况,聚合监控项可能会变成不支持状态:
没有找到引用的监控项 (监控项键值不正确、监控项不存在或是所有包含的组都不正确时,可能会发生此情况)
没有数据用来计算一个函数
\=== 用法示例 ===
用户聚合检查的键值示例:
\== 示例 1 ==
‘MySQL Servers’主机组的磁盘总空间
grpsum["MySQL Servers","vfs.fs.size[/,total]",last]
\== 示例 2 ==
‘MySQL Servers’主机组处理器的平均负载
grpavg["MySQL Servers","system.cpu.load[,avg1]",last]
\== 示例 3 ==
‘MySQL Servers’主机组5分钟内平均每秒查询数量
grpavg["MySQL Servers",mysql.qps,avg,5m]
\== 示例 4 ==
多个主机组中所有主机CPU负载的平均值
grpavg[["Servers A","Servers B","Servers C"],system.cpu.load,last]