סעיף זה מספק פרטי עיבוד מקדים של ערך פריט. ערך פריט עיבוד מקדים מאפשר להגדיר ולבצע טרנספורמציה כללים עבור ערכי הפריט שהתקבלו.
עיבוד מקדים מנוהל על ידי תהליך מנהל עיבוד מקדים, שהיה נוסף ב- Zabbix 3.4, יחד עם עובדי עיבוד מקדים המבצעים את שלבי עיבוד מקדים. כל הערכים (עם או בלי עיבוד מקדים) מ אוספי נתונים שונים עוברים דרך מנהל העיבוד המקדים לפני כן מתווסף למטמון ההיסטוריה. נעשה שימוש בתקשורת IPC מבוססת שקעים בין אוספי נתונים (פולרים, לוכדים וכו') לבין העיבוד המקדים תהליך. שרת Zabbix או פרוקסי Zabbix (עבור פריטים המנוטרים על ידי ה-proxy) מבצע שלבי עיבוד מקדים.
כדי להמחיש את זרימת הנתונים ממקור הנתונים למסד הנתונים של Zabbix, אנו יכול להשתמש בתרשים הפשוט הבא:
התרשים שלמעלה מציג רק תהליכים, אובייקטים ופעולות הקשורים אליהם עיבוד ערך פריט בצורה פשוטה. התרשים לא הצג שינויי כיוון מותנים, טיפול בשגיאות או לולאות. נתונים מקומיים המטמון של מנהל העיבוד המקדים אינו מוצג גם כי הוא לא להשפיע ישירות על זרימת הנתונים. מטרת הדיאגרמה היא להציג תהליכים מעורבים בעיבוד ערך פריט ובאופן האינטראקציה שלהם.
פריט יכול לשנות את מצבו לא נתמך בזמן עיבוד מקדים מבוצע אם אחד משלבי העיבוד המקדים לְהִכָּשֵׁל.
פריט יכול לשנות את מצבו לא נתמך אם נתונים הנורמליזציה נכשלת (לדוגמה, כאשר לא ניתן להמיר ערך טקסטואלי למספר).
כדי להמחיש את תהליך עיבוד הנתונים המקדים, נוכל להשתמש בדברים הבאים דיאגרמה פשוטה:
התרשים שלמעלה מציג רק תהליכים, אובייקטים ופעולות עיקריות הקשורים לעיבוד מקדים של ערך פריט בצורה פשוטה. התרשים כן לא להציג שינויי כיוון מותנים, טיפול בשגיאות או לולאות. רק עובד עיבוד מקדים אחד מוצג בתרשים זה (מרובה ניתן להשתמש בעובדי עיבוד מקדים בתרחישים אמיתיים), רק פריט אחד הערך מעובד ואנו מניחים שהפריט הזה דורש לבצע לפחות שלב עיבוד מקדים אחד. המטרה של דיאגרמה זו היא הראה את הרעיון מאחורי צינור עיבוד מקדים של ערך פריט.
ניתן למקם את הפריט בסוף או בתחילת תור עיבוד מקדים. פריטים פנימיים של Zabbix תמיד ממוקמים ב- תחילת תור העיבוד המקדים, בעוד שסוגי פריטים אחרים נמצאים בתור הסוף.
תור עיבוד מוקדם הוא מבנה נתונים FIFO המאחסן ערכים שמירה על הסדר שבו ערכים מתקבלים על ידי עיבוד מקדים מנהל. ישנם מספר חריגים ללוגיקה של FIFO:
כדי לדמיין את ההיגיון של תור עיבוד מקדים, נוכל להשתמש בדברים הבאים תרשים:
ערכים מתור העיבוד המקדים נמחקים מתחילתו של התור לערך הראשון שלא מעובד. אז, למשל, עיבוד מקדים המנהל יסיר את הערכים 1, 2 ו-3, אך לא יסיר את הערך 5 כ ערך 4 עדיין לא מעובד:
רק שני ערכים יישארו בתור (4 ו-5) לאחר ההדחה, ערכים מתווספים למטמון הנתונים המקומי של מנהל העיבוד המקדים ולאחר מכן לערכים מועברים מהמטמון המקומי למטמון ההיסטוריה. עיבוד מקדים מנהל יכול לשטוף ערכים ממטמון הנתונים המקומי במצב פריט בודד או ב מצב בכמות גדולה (משמש לפריטים תלויים וערכים שהתקבלו בכמויות גדולות).
Preprocessing caching was introduced to improve the preprocessing performance for multiple dependent items having similar preprocessing steps (which is a common LLD outcome).
Caching is done by preprocessing one dependent item and reusing some of the internal preprocessing data for the rest of the dependent items. The preprocessing cache is supported only for the first preprocessing step of the following types:
[?(@.path == "value")]
)קובץ תצורת שרת Zabbix מאפשר למשתמשים להגדיר ספירה של תהליכי עיבוד מוקדם של עובדים. התחל תצורת Preprocessors יש להשתמש בפרמטר כדי להגדיר את מספר המופעים המחולקים מראש של עובדי עיבוד מקדים. מספר אופטימלי של עובדי עיבוד מקדים יכול להיות נקבע על ידי גורמים רבים, כולל ספירת ה"ניתנים לעיבוד מוקדם" פריטים (פריטים שדורשים לבצע כל שלבי עיבוד מקדים), ספירה של תהליכי איסוף נתונים, ספירת צעדים ממוצעת לעיבוד מקדים של פריט, וכו '
אבל בהנחה שאין פעולות עיבוד כבדות כמו ניתוח של נתחי XML / JSON גדולים, מספר עובדי עיבוד מקדים יכולים להתאים את המספר הכולל של אוספי נתונים. בדרך זו, יהיה בעיקר (למעט המקרים שבהם הנתונים מאוסף מגיעים בכמויות גדולות) להיות לפחות עובד עיבוד מקדים פנוי אחד לנתונים שנאספו.
::: הערה אזהרה יותר מדי תהליכי איסוף נתונים (סוקרים, סקרים בלתי ניתנים להשגה, משאלי ODBC, משאלי HTTP, משאלי Java, פינגרים, לוכדים, proxypollers) יחד עם מנהל IPMI, לוכד SNMP ועיבוד מקדים עובדים יכולים למצות את מגבלת מתאר הקובץ לכל תהליך עבור מנהל עיבוד מקדים. זה יגרום לשרת Zabbix להפסיק (בדרך כלל זמן קצר לאחר ההתחלה, אבל לפעמים זה יכול לקחת יותר זמן). ה יש לשנות את קובץ התצורה או להעלות את המגבלה להימנע ממצב זה. :::
עיבוד ערך פריט מבוצע במספר שלבים (או שלבים) על ידי תהליכים מרובים. זה יכול לגרום ל:
כתוצאה מכך, פריט תלוי מקבל ערך, בעוד פריט מאסטר משתנה מצבו לא נתמך.
CHAR
משמש עבור פריט מאסטר, אז ערך פריט מאסטר יקוצץ בהיסטוריה שלב הסנכרון, בעוד פריטים תלויים יקבלו את שלהם ערך מהערך הראשוני (לא קטוע) של פריט מאסטר.