סינון וצבירה: שינוי של סדרות זמן

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

הפעולות האלה מבוססות על מודל הנתונים שמתואר במאמר מדדים, סדרות זמנים ומשאבים. כדי ליישם את השיטות האלה, צריך להשתמש ב-Cloud Monitoring API.

נתונים גולמיים של פעולות על ציר הזמן

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

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

תרשים שמוצגות בו שלוש סדרות זמנים גולמיות: אדומה, כחולה וירוקה.
איור 1: שלוש סדרות זמנים גולמיות

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

סינון

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

אפשר לסנן נתונים של סדרות זמנים לפי:

  • זמן.
  • ערך של תווית אחת או יותר.

באיור הבא מוצגת התוצאה של סינון להצגת סדרת הזמנים האדומה בלבד, מתוך הקבוצה המקורית של סדרות הזמנים הגולמיות (שמוצגת באיור 1):

תרשים שמציג את אחת מסדרות הזמנים הגולמיות: אדום.
איור 2: אחרי הסינון, סדרת זמנים גולמית אחת

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

צבירה

דרך נוספת לצמצם את כמות הנתונים היא לסכם או לצבור אותם. יש שני היבטים לצבירה:

  • יישור, או הסדרת נתונים בסדרת זמנים אחת.
  • צמצום, או שילוב של כמה סדרות של נתונים כרונולוגיים.

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

התאמה: רגולריזציה בתוך הסדרה

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

ההתאמה כוללת שני שלבים:

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

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

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

הסדרת מרווחי הזמן

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

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

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

נקודה ערכים
‫1:01 עד 2:00 400, 350, 300, 200
‫2:01 עד 3:00 200, 100
3:01–4:00 300, 250, 200

בחירת תקופות התאמה

משך תקופת ההתאמה תלוי בשני גורמים:

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

בקטעים הבאים נרחיב על הגורמים האלה.

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

רמת הפירוט

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

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

תדירות הדגימה

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

תרשים של נתונים גולמיים עם תקופת דגימה של דקה אחת.

אם תקופת ההתאמה זהה לתקופת הדגימה, יש נקודה אחת על הגרף בכל תקופת התאמה. לדוגמה, אם תפעילו את אחד מהמיישרים max,‏ mean או min, תקבלו את אותה סדרת זמן מיושרת. באיור הבא מוצגת התוצאה הזו, יחד עם סדרת הזמן המקורית כקו דהוי:

תרשים של סדרת זמנים מיושרת, כשהתקופה תואמת לתקופת הדגימה.

למידע נוסף על אופן הפעולה של פונקציות התאמה, ראו התאמות.

אם תקופת ההתאמה מוגדרת לשתי דקות, או כפולה של תקופת הדגימה, אז יש שתי נקודות על הגרף בכל תקופה. אם מיישמים את המיישרים max,‏ mean או min על הנקודות בתוך תקופת היישור של שתי דקות, סדרות הזמנים שיתקבלו יהיו שונות. באיור הבא מוצגות התוצאות האלה, יחד עם סדרת זמנים המקורית כקו דהוי:

תרשים של סדרת זמנים מיושרת עם תקופה כפולה מתקופת הדגימה.

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

קשתיות ליישור שיניים

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

אפשרויות ההתאמה כוללות סיכום של הערכים, מציאת הערך המקסימלי, המינימלי או הממוצע של הערכים, מציאת ערך של אחוזון נבחר, ספירת הערכים ועוד. ‫Cloud Monitoring API תומך בקבוצה גדולה של פונקציות התאמה, הרבה יותר מהקבוצה שמוצגת כאן. הרשימה המלאה מופיעה ב-Aligner. במאמר סוגים, קטגוריות והמרות מוסבר על יישור קצב ויישור דלתא, שמשנים את נתוני הסדרות העיתיות.

לדוגמה, אם ניקח את הנתונים שחולקו לקטגוריות מסדרת הזמנים הגולמית (שמוצגת באיור 1), נבחר התאמה ונחיל אותה על הנתונים בכל קטגוריה. בטבלה הבאה מוצגים הערכים הגולמיים והתוצאות של שלושה מיישרים שונים, max,‏ mean ו-min:

נקודה ערכים מיישר: מקסימום יישור: ממוצע Aligner: min
1:01–2:00 400, 350, 300, 200 400 312.5 200
‫2:01 עד 3:00 200, 100 200 150 100
3:01–4:00 300, 250, 200 300 250 200

באיור הבא מוצגות התוצאות של הפעלת המיישרים max,‏ mean או min באמצעות תקופת יישור של שעה אחת לסדרה העתית האדומה המקורית (מיוצגת על ידי הקו הדהוי באיור):

תרשים שבו מוצגת סדרת הזמנים האדומה אחרי החלה של אחד משלושה מיישרים שונים.
איור 3: סדרת זמנים אחת, מיושרת בשלוש דרכים

קשתיות אחרות

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

  • Count סופרת את מספר הערכים בתקופת ההתאמה.
  • Sum: חיבור כל הערכים בתקופת ההתאמה.
  • Next older: הערך העדכני ביותר בתקופה משמש כערך ההתאמה.
נקודה ערכים קשתיות: מספר יישור: סכום יישור: הבא בסדר יורד
1:01–2:00 400, 350, 300, 200 4 1250 200
‫2:01 עד 3:00 200, 100 2 300 100
3:01–4:00 300, 250, 200 3 750 200

התוצאות האלה לא מוצגות בתרשים.

צמצום: שילוב של סדרות זמנים

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

מפחיתים

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

אפשרויות ההפחתה כוללות סיכום של הערכים המיושרים או מציאת הערך המקסימלי, המינימלי או הממוצע של הערכים. ‫Cloud Monitoring API תומך בקבוצה גדולה של פונקציות צמצום. הרשימה המלאה מופיעה במאמר Reducer. רשימת המפחיתים מקבילה לרשימת המיישרים.

כדי לצמצם סדרות זמנים, צריך קודם ליישר אותן. באיור הבא מוצגות התוצאות של התאמת כל שלוש סדרות הזמנים הגולמיות (מאיור 1) לתקופות של שעה אחת באמצעות המיישר mean:

תרשים שבו מוצגות שלוש סדרות זמנים מיושרות לפי ממוצע.
איור 4: שלוש סדרות זמנים, מיושרות לפי ממוצע

הערכים משלוש סדרות הזמנים שמתואמות לפי mean (מוצגות באיור 4) מוצגים בטבלה הבאה:

גבול היישור אדום כחול ירוק
2:00 312.5 133.3 400
3:00 150 283.3 433.3
4:00 250 300 350

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

גבול היישור ‫Reducer: max ‫Reducer: mean Reducer: min Reducer: sum
2:00 400 281.9 133.3 845.8
3:00 433.3 288.9 150 866.7
4:00 350 300 250 900

כברירת מחדל, הצמצום חל על כל סדרות הזמנים שלכם, וכתוצאה מכך נוצרת סדרת זמנים אחת. באיור הבא מוצגת התוצאה של צבירת שלוש סדרות הזמנים שתואמו לפי mean באמצעות המפחית max, שמניב את ערכי הממוצע הגבוהים ביותר בסדרות הזמנים:

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

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

קיבוץ

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

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

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

תרשים של סדרות זמנים מקובצות לפי צבע ומצומצמות.
איור 6: סדרת זמנים, מקובצת לפי צבע ומצומצמת

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

צבירה משנית

ב-Cloud Monitoring מתבצעים שני שלבי צבירה.

  • צבירה ראשית מסדירה את הנתונים שנמדדו, ואז משלבת את סדרות הזמנים המוסדרות באמצעות מפחית. כשמשתמשים בקיבוץ, יכול להיות שיווצרו כמה סדרות זמנים כתוצאה מהצמצום שבוצע כחלק מהשלב הזה.

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

בטבלה הבאה מוצגים הערכים של סדרות הזמנים המקובצות (שמוצגות באיור 6):

גבול היישור קבוצה אדומה קבוצה כחולה קבוצה ירוקה
2:00 400 150 450
3:00 200 350 450
4:00 300 300 400

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

גבול היישור ‫Reducer: max ‫Reducer: mean Reducer: min Reducer: sum
2:00 450 333.3 150 1000
3:00 450 333.3 200 1000
4:00 400 333.3 300 1000

באיור הבא מוצגת התוצאה של צבירת שלוש הסדרות המקובצות באמצעות המפחית mean:

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

סוגים, קטגוריות והמרות

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

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

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

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

    (שעת התחלה, שעת סיום] (דקות) ערך (MiB)
    (0, 2] 8
    (2, 5] 6
    (6, 9] 9

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

    (שעת התחלה, שעת סיום] (דקות) ערך אינטרפולציה (MiB)
    (0, 1] 4
    (1, 2] 4
    (2, 3] 2
    (3, 4] 2
    (4, 5] 2
    (5, 6] 0
    (6, 7] 3
    (7, 8] 3
    (8, 9] 3

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

    (שעת התחלה, שעת סיום] (דקות) ערך מותאם (MiB)
    (0, 3] 10
    (3, 6] 4
    (6, 9] 9

    אם בוחרים באפשרות ALIGN_RATE, התהליך זהה, אבל הערכים המיושרים מחולקים לפי תקופת היישור. בדוגמה הזו, תקופת ההתאמה היא שלוש דקות, ולכן לסדרת הזמן המותאמת יש את הערכים הבאים:

    (שעת התחלה, שעת סיום] (דקות) ערך מיושר (MiB לשנייה)
    (0, 3] 0.056
    (3, 6] 0.022
    (6, 9] 0.050

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

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

    לדוגמה, אפשר להחיל את המפחית REDUCE_COUNT על נתונים מספריים, בוליאניים, מחרוזות והתפלגויות, אבל התוצאה שהוא מפיק היא מספר שלם של 64 ביט שסופר את מספר הערכים בתקופה. אפשר להחיל את REDUCE_COUNT רק על מדדי gauge ו-delta, והוא לא משנה את סוג המדד.

בטבלאות העזר של Aligner ו-Reducer מצוין לאיזה סוג נתונים כל אחד מהם מתאים, וכל המרה שמתקבלת. לדוגמה, כך נראה הערך של ALIGN_DELTA:

רשומת עזר ליישור דלתא