Ö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.