This is a translation of the original English documentation page. Help us make it better.

Összesített számítások

Áttekintés

Az összesített számítások egy [számított elem] (/manual/config/items/itemtypes/calculated) típus, amely lehetővé teszi, hogy több elemről információkat gyűjtsön a Zabbix szerver és majd számítson ki egy aggregátumot a használt összesítő függvénytől függően.

Csak előjel nélküli egész és lebegő értékek (információtípus) támogatottak az összesített számításhoz tételeket.

Az összesített számításokhoz nincs szükség a gazdagépen futó ügynökre figyelemmel kísérik.

Szintaxis

Az aggregátumok lekéréséhez a következőket teheti:

  • soroljon fel néhány elemet az összesítéshez:
aggregate_function(function(/host/key,parameter),function(/host2/key2,parameter),...)

Vegye figyelembe, hogy a "function" itt egy előzmény/trend függvény kell, hogy legyen.

  • használja a foreach funkciót, mint egyetlen paramétert, és annak elemszűrőjét a szükséges elemek kiválasztásához:
aggregate_function(foreach_function(/host/key?[group="host group"],timeperiod))

Az összesítő függvény a támogatott [összesítő függvények] (/manual/appendix/functions/aggregate#aggregate-functions-1) egyike: avg, max, min, sum, stb.

A foreach függvény (pl. avg_foreach, count_foreach stb.) minden kiválasztott elemhez egy összesített értéket ad vissza. A tételek kiválasztása az elemszűrő (/host/key?[group="host group"]) használatával történik az elemelőzményekből.

Ha egyes tételeknél nincs adat a kért időszakra vonatkozóan, akkor azokat figyelmen kívül hagyja a számítás során. Ha nincs tétel adatokat, a függvény hibát ad vissza.

További részletekért lásd: foreach functions.

Ha az aggregátum lebegő értéket eredményez, akkor a rendszer levágja egész számra, ha az összesített elemtípus információ Numeric (aláírás nélküli).

Előfordulhat, hogy az összesített számítás nem támogatott, ha:

  • a hivatkozott elemek egyike sem található (ami megtörténhet, ha a tétel a kulcs hibás, egyik elem sem létezik, vagy az összes szereplő csoport hibásak)
  • nincs adat a függvény kiszámításához

Használati példák

Példák az összesített számítások kulcsaira.

1. példa

A „MySQL Servers” gazdagépcsoport teljes lemezterülete.

sum(last_foreach(/*/vfs.fs.size[/,total]?[group="MySQL Servers"]))
2. példa

A net.if.in[*] fájlnak megfelelő összes elem legutóbbi értékeinek összege a gazdagépen.

sum(last_foreach(/host/net.if.in[*]))
3. példa

A „MySQL Servers” gazdagépcsoport átlagos processzorterhelése.

avg(last_foreach(/*/system.cpu.load[,avg1]?[group="MySQL-kiszolgálók"]))
4. példa

A lekérdezések másodpercenkénti számának 5 perces átlaga a fogadócsoport számára "MySQL szerverek".

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

Átlagos CPU terhelés az összes gazdagépen több gazdagépcsoportban, amelyek rendelkeznek a konkrét címkék.

avg(last_foreach(/*/system.cpu.load?[(group="A szerverek" vagy group="B szerverek" vagy group="C szerverek") és (tag="Szolgáltatás:" vagy tag="Fontos: Magas")]))
6. példa

A teljes gazdagépcsoport legfrissebb tételértékeinek összegére használt számítás.

sum(last_foreach(/*/net.if.out[eth0,bytes]?[group="video"])) / sum(last_foreach(/*/nginx_stat.sh[active]?[group="video"]) )
7. példa

A nem támogatott elemek teljes száma a „Zabbix szerverek” gazdagépcsoportban.

sum(last_foreach(/*/zabbix[host,,items_unsupported]?[group="Zabbix szerverek"]))
Példák a helyes/helytelen szintaxisra

A kifejezések (beleértve a függvényhívásokat is) nem használhatók előzményként, trendként vagy foreach function paraméterként. Maguk a függvények azonban más (nem történelmi) függvényparaméterekben is használhatók.

Kifejezés Példa
Érvényes átlag(utolsó(/gazda/kulcs1),utolsó(/gazdagép/kulcs2)*10,utolsó(/gazda/kulcs1)*100)
max(átl.(átl._foreach(/*/rendszer. cpu.load?[group="A kiszolgálók"],5m)),átl. system.cpu.load?[group="C-szerverek"],5m)))
Érvénytelen sum(/host/key,10+2)
sum(/host/key, avg(10,2))
sum(/host/key,last(/host) /kulcs2))

Vegye figyelembe, hogy egy olyan kifejezésben, mint:

sum(sum_foreach(//resptime[*],5m))/sum(count_foreach(//resptime[*],5m))

nem garantálható, hogy az egyenlet mindkét részének mindig ugyanaz az értékkészlete lesz. Amíg a kifejezés egy része kiértékelésre kerül, a kért időszakra új érték érkezhet, és akkor a kifejezés másik részének más értékkészlete lesz.