A foreach függvények az [összesített számításokban] (/manual/config/items/itemtypes/calculated/aggregate) egy összesített értéket adnak vissza minden kiválasztott elemhez. a használt cikkszűrő segítségével.
Például az avg_foreach függvény az átlagos értéket adja vissza az egyes kiválasztott elemek előzményeiből a megadott időintervallumban.
Az item filter a foreach függvények által használt szintaxis része. A helyettesítő karakterek használata az elemszűrőben támogatott, így a szükséges elemek meglehetősen rugalmasan kiválaszthatók.
Funkció | Leírás |
---|---|
avg_foreach | Az egyes elemek átlagos értékét adja vissza. |
A a <paraméterszám> paraméter. | |
count_foreach | Az egyes elemekhez tartozó értékek számát adja vissza. |
exists_foreach | A jelenleg engedélyezett elemek számát adja vissza. |
last_foreach | Az egyes elemek utolsó értékét adja vissza. |
max_foreach | Az egyes elemek maximális értékét adja vissza. |
min_foreach | Az egyes elemek minimális értékét adja vissza. |
sum_foreach | Az egyes elemek értékeinek összegét adja vissza. |
A Foreach függvények két általános paramétert támogatnak: az "elemszűrő" (részleteket lásd alább) és az "időszak":
Például:
avg_foreach(/*/mysql.qps?[group="MySQL Servers"],5m)
visszaadja a MySQL szervercsoport minden egyes 'mysql.qps' elemének ötperces átlagát.
Vegye figyelembe, hogy egyes függvények további [paramétereket] (#additional_parameters) támogatnak.
Az elemszűrő:
négy részből áll, ahol:
Szóközök csak a feltételek kifejezésen belül megengedettek.
Jelentős karakter használat
/host/*
és a /*/key
érvényes szűrők, de a /*/*
érvénytelen.kulcs[abc,*,*]
).Feltételek kifejezése
A feltételek kifejezés támogatja:
"<szöveg>"
- karakterlánc-állandó, az \
escape karakterrel a "
és a \
escape karakterrel=
, <>
(
)
A karakterlánc-konstansok idézése kötelező. Csak a kis- és nagybetűk közötti teljes karakterlánc-összehasonlítás támogatott.
Példák
Összetett szűrő használható, amely hivatkozik az elemkulcsra, a gazdagépcsoportra és címkék, amint azt a példák illusztrálják:
Szintaxis példa | Leírás |
---|---|
/host/key[abc,*] |
Hasonló elemekkel egyezik meg ezen a gazdagépen. |
/*/key |
Bármely gazdagép ugyanazon elemének felel meg. |
/*/key?[group="ABC" and tag="tagname:value"] |
Megegyezik az ABC csoport bármely gazdagépének ugyanazon elemével, amely 'tagname:value' címkékkel rendelkezik. |
/*/key[a,*,c]?[(group="ABC" and tag="Tag1") vagy (group="DEF" and (tag="Tag2" or tag="Tag3:value") ))] |
Az ABC vagy DEF csoport bármely gazdagépének hasonló elemeit egyezteti a megfelelő címkékkel. |
Minden hivatkozott elemnek léteznie kell, és adatokat kell gyűjtenie. Csak az engedélyezett elemek bekapcsolva az engedélyezett gazdagépek szerepelnek a számításokban.
Ha egy hivatkozott elem tételkulcsa megváltozik, a szűrőt manuálisan kell frissíteni.
A szülő gazdagépcsoport megadása magában foglalja a szülőcsoportot és az összes beágyazottat csoportokat fogadni tárgyaikkal.
A second paraméter lehetővé teszi az időtartam megadását összesítését. Az időtartam csak idővel, mennyiséggel fejezhető ki értékek közül (# előtaggal) nem támogatott.
[Támogatott mértékegység-szimbólumok] (/kézikönyv/melléklet/utótagok) használhatók ebben paramétert a kényelem kedvéért, például „5m” (öt perc) helyett „300s” (300 másodperc) vagy „1d” (egy nap) a „86400” (86400) helyett másodperc).
A kiszolgáló figyelmen kívül hagyja az időtartamot, ha a last_foreach paraméterrel adja meg funkciót, ezért elhagyható:
Az időtartam nem támogatott a exists_foreach függvényben.
A harmadik opcionális paramétert a bucket_rate_foreach támogatja funkció:
ahol <paraméterszám> a "vödör" értékének pozíciója a tétel kulcsát. Például ha a myItem[aaa,0.2] "vödör" értéke a következő '0,2', akkor a pozíciója 2.
A <paraméterszám> alapértelmezett értéke '1'.
Lásd: [összesített számítások] (/manual/config/items/itemtypes/calculated/aggregate) további részletek és példák a foreach függvények használatáról.
The following table illustrates how each function behaves in cases of limited availability of host/item and history data.
Function | Disabled host | Unavailable host with data | Unavailable host without data | Disabled item | Unsupported item | Data retrieval error (SQL) |
---|---|---|---|---|---|---|
avg_foreach | ignore | return avg | ignore | ignore | ignore | ignore |
bucket_rate_foreach | ignore | return bucket rate | ignore | ignore | ignore | ignore |
count_foreach | ignore | return count | 0 | ignore | ignore | ignore |
exists_foreach | ignore | 1 | 1 | ignore | 1 | n/a |
last_foreach | ignore | return last | ignore | ignore | ignore | ignore |
max_foreach | ignore | return max | ignore | ignore | ignore | ignore |
min_foreach | ignore | return min | ignore | ignore | ignore | ignore |
sum_foreach | ignore | return sum | ignore | ignore | ignore | ignore |
If the item is ignored, nothing is added to the aggregation.