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

1 פונקציית foreach (לכל מופע)

סקירה כללית

פונקציות Foreach משמשות בחישובים מצטברים כדי להחזיר ערך מצטבר אחד עבור כל פריט שנבחר על ידי מסנן פריטים משומש.

לדוגמה, הפונקציה avg_foreach תחזיר את הערך ממוצע מההיסטוריה של כל פריט שנבחר, במהלך מרווח הזמן שצוין.

מסנן פריט הוא חלק מהתחביר המשמש את פונקציות Foreach. השימוש בתווים כלליים נתמך במסנן הפריטים, ולכן ניתן לבחור את הפריטים הנדרשים בצורה גמישה למדי.

פונקציות נתמכות

פונקציה תיאור
avg_foreach מחזיר את הערך הממוצע עבור כל פריט.
bucket_rate_foreach מחזיר צמדים (גבול עליון של דלי, ערך שיעור) המתאימים לשימוש בפונקציה היסטוגרמה_quantile(), כאשר "גבול דלי עליון" הוא הערך של פרמטר מפתח פריט המוגדר על ידי <parameter number> פרמטר.
count_foreach מחזיר את מספר הערכים עבור כל פריט.
exists_foreach מחזיר את מספר הפריטים המופעלים כעת.
last_foreach מחזיר את הערך האחרון עבור כל פריט.
max_foreach מחזיר את הערך המקסימלי עבור כל פריט.
min_foreach מחזיר את הערך המינימלי עבור כל פריט.
sum_foreach מחזיר את סכום הערכים עבור כל פריט.

תחביר פונקציה

פונקציות Foreach תומכות בשני פרמטרים נפוצים: 'מסנן פריט' (ראה פרטים למטה) ו'תקופת זמן':

 foreach_function(מסנן פריט, פרק זמן)

לדוגמה:

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

יחזיר את הממוצע של חמש הדקות של כל פריט 'mysql.qps' בקבוצת שרתי MySQL.

שים לב שחלק מהפונקציות תומכות ב[פרמטרים] נוספים (#additional_parameters).

תחביר מסנן פריט

מסנן הפריטים:

 /host/key[פרמטרים]?[תנאים]

מורכב מארבעה חלקים, כאשר:

  • מארח - שם מארח
  • מפתח - מפתח פריט (ללא פרמטרים)
  • פרמטרים - פרמטרים מפתח פריט
  • תנאים - תנאים מבוססי קבוצת מארח ו/או תג פריט (כביטוי)

רווחים מותרים רק בתוך ביטוי התנאים.

שימוש בתווים כלליים

  • ניתן להשתמש בתווים כלליים כדי להחליף את שם המארח, מפתח הפריט או פרמטר מפתח פריט בודד.
  • יש לציין את המארח או מפתח הפריט ללא תווים כלליים. אז /host/* ו-/*/key הם מסננים חוקיים, אבל /*/* אינו חוקי.
  • לא ניתן להשתמש בתו כללי עבור חלק של שם המארח, מפתח פריט, פרמטר מפתח פריט.
  • תו כללי לא תואם ליותר מפרמטר מפתח אחד של פריט. אז יש לציין תו כללי עבור כל פרמטר בהפרדה (כלומר, key[abc,*,*]).

ביטוי תנאים

ביטוי התנאים תומך:

אופרנדים: קבוצה - קבוצה מארחת * תג - תג פריט * "<text>" - קבוע מחרוזת, עם תו ה-` escape ל-escape " ו-\ * אופרטורים להשוואת מחרוזות תלויי-רישיות: =, <> * אופרטורים לוגיים: ו, או, לא * קיבוץ עם סוגריים: ( )

ציטוט של קבועי מחרוזת הוא חובה. רק השוואה של מחרוזת מלאה תלוית רישיות נתמכת.

דוגמאות

ניתן להשתמש במסנן מורכב, המתייחס למפתח הפריט, לקבוצת המארח ו תגיות, כפי שמוצג בדוגמאות:

דוגמה תחביר תיאור
/host/key[abc,*] תואם פריטים דומים במארח זה.
/*/key תואם לאותו פריט של כל מארח.
/*/key?[group="ABC" and tag="tagname:value"] תואם לאותו פריט של כל מארח מקבוצת ABC שיש לו תגי 'tagname:value'.
/*/key[a,*,c]?[(group="ABC" and tag="Tag1") או (group="DEF" ו-(tag="Tag2" or tag="Tag3:value" ))] מתאים פריטים דומים של כל מארח מקבוצת ABC או DEF עם התגים המתאימים.

כל הפריטים המוזכרים חייבים להתקיים ולאסוף נתונים. רק פריטים מופעלים פועלים מארחים מופעלים כלולים בחישובים.

::: שימו לב חשוב אם מפתח הפריט של פריט שהפניה אליו משתנה, יש לעדכן את המסנן באופן ידני. :::

ציון קבוצת מארחת אב כוללת את קבוצת האב ואת כל המקוננות מארח קבוצות עם הפריטים שלהם.

תקופת זמן

הפרמטר שני מאפשר לציין את פרק הזמן עבור צבירה. ניתן לבטא את פרק הזמן רק כזמן, הכמות של ערכים (עם קידומת #) אינו נתמך.

סמלי יחידות נתמכות ניתן להשתמש במסמך זה פרמטר מטעמי נוחות, למשל '5m' (חמש דקות) במקום '300s' (300 שניות) או '1d' (יום אחד) במקום '86400' (86400 שניות).

השרת מתעלם מתקופת הזמן אם היא עוברת עם ה-last_foreach פונקציה ובכך ניתן להשמיט:

 last_foreach(/*/key?[group="קבוצת מארח"])

פרק הזמן אינו נתמך עם הפונקציה exists_foreach.

פרמטרים נוספים

פרמטר אופציונלי שלישי נתמך על ידי bucket_rate_foreach פוּנקצִיָה:

 bucket_rate_foreach(מסנן פריט, פרק זמן,<מספר פרמטר>)

כאשר <parameter number> הוא המיקום של הערך "דלי" ב מפתח הפריט. לדוגמה, אם הערך "דלי" ב-myItem[aaa,0.2] הוא '0.2', אז המיקום שלו הוא 2.

ערך ברירת המחדל של <מספר פרמטר> הוא '1'.

ראה חישובים מצטברים עבור פרטים נוספים ודוגמאות לשימוש בכל פונקציה.

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.