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

1 Foreach funkciók

Áttekintés

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.

Támogatott funkció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.

Függvény szintaxis

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":

foreach_function(elemszűrő,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.

Elemszűrő szintaxis

Az elemszűrő:

/host/key[paraméterek]?[feltételek]

négy részből áll, ahol:

  • host - gazdagép neve
  • kulcs - elemkulcs (paraméterek nélkül)
  • paraméterek - elem kulcsparaméterei
  • feltételek – gazdagépcsoport és/vagy elemcímke alapú feltételek (kifejezésként)

Szóközök csak a feltételek kifejezésen belül megengedettek.

Jelentős karakter használat

  • Helyettesítő karakterrel helyettesíthető a gazdagép neve, az elemkulcs vagy egy egyedi elemkulcs paraméter.
  • A gazdagép vagy az elem kulcsát helyettesítő karakter nélkül kell megadni. Tehát a /host/* és a /*/key érvényes szűrők, de a /*/* érvénytelen.
  • A helyettesítő karakter nem használható a gazdagépnév, az elemkulcs, az elemkulcs paraméter részéhez.
  • A helyettesítő karakter nem felel meg több mint egyetlen elem kulcsparaméterének. Tehát minden elválasztási paraméterhez meg kell adni egy helyettesítő karaktert (azaz kulcs[abc,*,*]).

Feltételek kifejezése

A feltételek kifejezés támogatja:

  • operandusok:
    • csoport - fogadó csoport
    • tag - elemcímke
    • "<szöveg>" - karakterlánc-állandó, az \ escape karakterrel a " és a \ escape karakterrel
  • kis- és nagybetűk karakterlánc-összehasonlító operátorai: =, <>
  • logikai operátorok: "és", "vagy", "nem".
  • csoportosítás zárójelekkel: ( )

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.

Időszak

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ó:

last_foreach(/*/key?[group="host group"])

Az időtartam nem támogatott a exists_foreach függvényben.

További paraméterek

A harmadik opcionális paramétert a bucket_rate_foreach támogatja funkció:

bucket_rate_foreach(elemszűrő,időszak,<paraméterszám>)

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.

Behavior depending on availability

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.