Els càlculs agregats són de tipus element calculat i permeten la recollida informació de diversos elements per el servidor Zabbix i calcular un agregat, segons la funció d'agregat emprada.
Com a element de càlcul agregats, només s'admeten valors enters (sense signe) i flotants (tipus d'informació).
Els càlculs agregats no necessiten cap agent executant-se a l'equip monitorat.
Per recuperar els agregats, heu de:
aggregate_function(function(/host/key,parameter),function(/host2/key2,parameter),...)
Fixeu-vos que la function
ha d'ésser una funció d'històric/tendència.
aggregate_function(foreach_function(/host/key?[group="host group"],timeperiod))
La funció d'agregat és una de les funcions d'agregat admeses: avg, max, min, sum, etc.
La funció foreach (com ara avg_foreach, count_foreach, etc.) torna un valor agregat per cada element triat. Els elements s'escullen emprant el filtre d'element (/host/key?[group="host group"]
), de l'històric d'elements.
Si algun dels elements no té informació per al període demanat, s'ignorarà al càlcul. Si no hi ha cap element amb informació, retornarà un error.
Per veure més detalls, veieu les funcions foreach.
Si l'agregat torna un valor flotant, es reduirà a un nombre enter si el tipus d'element d'informació agregada és Numèric (sense signe).
Un càlcul d'agregat es podria no admetre si:
Exemples de claus per als càlculs agregats.
Espai total de disc del grup d'equips 'MySQL Servers'.
Suma dels darrers valors de tots els elements que corresponen a net.if.in[*] sota l'equip.
Càrrega mitjana de processador del grup d'equips 'MySQL Servers'.
Mitjana de 5 minuts del nombre de peticions per segon del grup d'equips 'MySQL Servers'.
Càrrega mitjana de CPU de tots els equips a diversos grups d'equips que tenen unes etiquetes concretes.
avg(last_foreach(/*/system.cpu.load?[(group="Servers A" or group="Servers B" or group="Servers C") and (tag="Service:" or tag="Importance:High")]))
Càlcul emprat sota les darreres sumes de valor d'element d'un grup d'equips sencer.
sum(last_foreach(/*/net.if.out[eth0,bytes]?[group="video"])) / sum(last_foreach(/*/nginx_stat.sh[active]?[group="video"]))
Nombre total d'elements no admesos al grup d'equips 'Zabbix servers'.
Les expressions (incloses les crides a funcions) no es poden pas emprar com a paràmetres d'històric, de tendència o de la funció foreach. Tanmateix, les pròpies funcions poden emprar-se dins d'altres paràmetres de funció (no històriques).
Expressió | Exemple |
---|---|
Vàlid | avg(last(/host/key1),last(/host/key2)*10,last(/host/key1)*100) max(avg(avg_foreach(/*/system.cpu.load?[group="Servers A"],5m)),avg(avg_foreach(/*/system.cpu.load?[group="Servers B"],5m)),avg(avg_foreach(/*/system.cpu.load?[group="Servers C"],5m))) |
No vàlid | sum(/host/key,10+2) sum(/host/key, avg(10,2)) sum(/host/key,last(/host/key2)) |
Veieu que en una expressió com ara:
no es pot garantir que les dues parts de l'equació tinguin sempre el mateix conjunt de valors. Mentre una part de l'expressió és avaluada, pota arribar un valor nou per al període demanat, i llavors l'altra part de l'expressió tindrà un conjunt de valors diferent.