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

3 הקפצות

סקירה כללית

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

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

ביטויי טריגר מאפשרים להגדיר סף מהו מצב הנתונים "קָבִיל". לכן, האם הנתונים הנכנסים צריכים לעלות על המקובל מצב, טריגר "מופעל" - או משנה את מצבו ל-PROBLEM.

לטריגר עשויים להיות המצבים הבאים:

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

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

  • הפונקציה 'avg' מוחלת על הערך שהתקבל במפתח הפריט
  • נעשה שימוש בפרק זמן של חמש דקות להערכה
  • נקבע סף של '2'
     avg(host/key,5m)>2

טריגר זה "ידלק" (יהפוך לבעיה) אם הממוצע של חמש דקות הוא מעל 2.

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

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

רוב פונקציות ההדק מוערכות על סמך ערך הפריט נתוני היסטוריה, בעוד שחלק פונקציות טריגר לניתוח ארוך טווח, למשל. trendavg(), trendcount() וכו', השתמש בנתוני מגמה.

זמן חישוב

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

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

פונקציות מבוססות זמן הן nodata(), date(), dayofmonth(), dayofweek(), time(), now(); הם מחושבים מחדש כל 30 שניות על ידי תהליך סינכרון ההיסטוריה של Zabbix.

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

תקופת הערכה

תקופת הערכה משמשת בפונקציות המתייחסות להיסטוריית הפריט. זה מאפשר לציין את המרווח שאנחנו מעוניינים בו. זה יכול להיות מוגדר כתקופת זמן (30 שניות, 10 מ', שעה אחת) או כטווח ערכים (#5 - עבור חמישה ערכים אחרונים).

תקופת ההערכה נמדדת עד "עכשיו" - כאשר "עכשיו" הוא זמן החישוב המחודש האחרון של הטריגר (ראה חישוב time למעלה); "עכשיו" אינו זמן ה"עכשיו" של שרת.

תקופת ההערכה מציינת או:

  • לשקול את כל הערכים בין "תקופת זמן-עכשיו" ל-"עכשיו" (או, עם משמרת זמן, בין "זמן משמרת-זמן פרק זמן" לבין "עכשיו-זמן_shift")
  • לשקול לא יותר ממספר הערכים מהעבר, למעלה ל"עכשיו"
    • אם יש 0 ערכים זמינים עבור תקופת הזמן או ספירת המספר שצוין - ואז הטריגר או הפריט המחושב שמשתמש בזה הפונקציה הופכת ללא תמיכה

ציין זאת:

  • אם נעשה שימוש בפונקציה אחת בלבד (ההפניה להיסטוריית נתונים) ב- טריגר, "עכשיו" הוא תמיד הערך האחרון שהתקבל. לדוגמה, אם הערך האחרון התקבל לפני שעה, תקופת ההערכה תהיה להיחשב עד הערך האחרון לפני שעה.
  • טריגר חדש מחושב ברגע שהערך הראשון מתקבל (פונקציות היסטוריה); זה יחושב תוך 30 שניות עבור פונקציות מבוססות זמן. כך הטריגר יחושב אפילו אם כי אולי לתקופת ההערכה שנקבעה (לדוגמה, שעה אחת). עדיין לא עבר מאז יצירת הטריגר. גם הטריגר יהיה להיות מחושב לאחר הערך הראשון, למרות ההערכה הטווח הוגדר, למשל, לעשרה ערכים אחרונים.

מצב לא ידוע

ייתכן שאופרנד לא ידוע מופיע בביטוי טריגר אם:

  • נעשה שימוש בפריט שאינו נתמך
  • הערכת הפונקציה עבור פריט נתמך גורמת לשגיאה

במקרה זה, טריגר מוערך בדרך כלל ל"לא ידוע" (אם כי יש כמה חריגים). לפרטים נוספים, ראה ביטויים עם אופרנדים לא ידועים.

אפשר לקבל הודעה על טריגרים לא ידועים.