Aggregate calculations are a calculated item type allowing to collect information from several items by Zabbix server and then calculate an aggregate, depending on the aggregate function used.
Only unsigned integer and float values (type of information) are supported for aggregate calculation items.
Aggregate calculations do not require any agent running on the host being monitored.
כדי לאחזר אגרגטים, תוכל:
aggregate_function(function(/host/key,parameter),function(/host2/key2,parameter),...)
שימו לב ש'פונקציה' כאן חייבת להיות פונקציית היסטוריה/מגמה.
aggregate_function(foreach_function(/host/key?[group="host group"],timeperiod))
הפונקציה המצטברת היא אחת מהפונקציות המצטברות הנתמכות): avg, max, min, sum וכו'.
פונקציית foreach (למשל avg_foreach, count_foreach וכו') מחזירה ערך מצטבר אחד עבור כל פריט שנבחר. פריטים נבחרים באמצעות מסנן הפריטים (/host/key?[group="host group"]
), מהיסטוריית הפריטים.
אם לחלק מהפריטים אין נתונים עבור התקופה המבוקשת, מתעלמים מהם בחישוב. אם אין פריטים נתונים, הפונקציה תחזיר שגיאה.
לפרטים נוספים, ראה foreach functions.
אם המצטבר יביא לערך צף, הוא ייחתך למספר שלם אם סוג המידע המצטבר של הפריט הוא נומרי (לא חתום).
חישוב מצטבר עלול להפוך ללא תמיכה אם:
דוגמאות של מפתחות לחישובים מרוכזים.
שטח הדיסק הכולל של קבוצת המארחים 'שרתי MySQL'.
סכום הערכים העדכניים ביותר של כל הפריטים התואמים net.if.in[*] במארח.
עומס מעבד ממוצע של קבוצת המארחים 'שרתי MySQL'.
ממוצע של 5 דקות של מספר השאילתות בשנייה עבור הקבוצה המארחת 'שרתי MySQL'.
עומס CPU ממוצע על כל המארחים בקבוצות מארחות מרובות שיש להם את תגים ספציפיים.
avg(last_foreach(/*/system.cpu.load?[(group="Servers A" or group="Servers B" or group="Servers C") and (tag="Service:" or tag="importance: גָבוֹהַ")]))
חישוב בשימוש על סכומי ערך הפריט העדכניים ביותר של קבוצה מארחת שלמה.
sum(last_foreach(/*/net.if.out[eth0,bytes]?[group="video"])) / sum(last_foreach(/*/nginx_stat.sh[active]?[group="video"]) )
המספר הכולל של פריטים שאינם נתמכים בקבוצה המארחת 'שרתי Zabbix'.
לא ניתן להשתמש בביטויים (כולל קריאות לפונקציות) כפרמטרים של היסטוריה, מגמה או פונקציה. עם זאת, ניתן להשתמש בפונקציות הללו עצמן בפרמטרים אחרים (לא היסטוריים) של פונקציות.
ביטוי | דוגמה |
---|---|
Valid | avg(last(/host/key1),last(/host/key2)*10,last(/host/key1)*100) max(avg(avg_foreach(/*/system. cpu.load?[group="שרתים A"],5m)),avg(avg_foreach(/*/system.cpu.load?[group="שרתים B")],5m)),avg(avg_foreach(/*/ system.cpu.load?[group="שרתים C")],5m))) |
לא חוקי | sum(/host/key,10+2) sum(/host/key, avg(10,2)) sum(/host/key,last(/host /key2)) |
שימו לב שבביטוי כמו:
לא ניתן להבטיח ששני חלקי המשוואה תמיד יהיו בעלי אותה מערכת ערכים. בעוד חלק אחד של הביטוי מוערך, ערך חדש עבור התקופה המבוקשת עשוי להגיע ו אז לחלק השני של הביטוי תהיה קבוצה שונה של ערכים.