企业级网站服务器单机运行的已经很少了,最低配置也是一个项目组2台主机进行互备。那么对项目组的各种监控就需要合并才能看到本质。
好吧我承认zabbix已经替我们想到了--zabbix整合(zabbix Aggregate)
- aggregate item key语法如下:
groupfunc["Host group","Item key",itemfunc,timeperiod]
- groupfunc 可以选择如下:
groupfunc | 描述 |
---|---|
grpavg | 平均值 |
grpmax | 最大值 |
grpmin | 最小值 |
grpsum | 总和 |
- itemfunc 可以选择如下
itemfunc | 描述 |
---|---|
avg | 平均值 |
count | value个数 |
last | 最新值 |
max | 最大值 |
min | 最小值 |
sum | 总值 |
- 参数timeperiod为指定的采集时间,可以使用时间单位,例如可以使用1d代替86400(单位默认为秒),5m代替300.
由于监控项目是依托于主机,所以我们可以专门创建一个127.0.0.1的主机(不需要增加模板),把聚合的监控项都统一放到这台主机上。
1、创建专门用于放聚合监控项的主机
创建All-host
2、选择类型zabbix整合(zabbix Aggregate)
#汇总web 组 em2 网卡下行流量最新值之和
grpsum["web","net.if.in[em2]",last,0]
以下使用范例来自网络
示例1
组web剩余硬盘空间大小
grpsum["web","vfs.fs.size[/,total]",last,0]
示例2
组web的平均CPU负载
grpavg["web","system.cpu.load[,avg1]",last,0]
示例3
组web 5分钟内的平均查询速度(次/秒)
grpavg["web",mysql.qps,avg,5m]
示例4
多个组的cpu负载平均值
grpavg[["Servers A","Servers B","Servers C"],system.cpu.load,last,0]