פתרון בעיות בתרשימים

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

שגיאות בתרשימים

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

פערים בנתוני התרשים

לפעמים יש פערים בנתונים שמוצגים בתרשימים. לדוגמה, צילום המסך הבא ממחיש את ההתנהגות הזו לגבי המדד loadbalancing.googleapis.com/https/total_latencies:

דוגמה לתרשים עם פערים בערכים.

פערים בנתונים יכולים להתרחש כשנתונים נכתבים בתדירות נמוכה מאוד. ‫Cloud Monitoring אוסף מדדים באמצעות דגימה, ואם הנתונים דלילים מאוד, יכול להיות שלא יהיו נתונים זמינים כשדוגמים אותם. לדוגמה, יכול להיות שיהיו פערים במדדים של איזון העומסים אם מספר הבקשות הוא 0.05 שאילתות לשנייה (QPS) או פחות. כשהקצב של השאילתות עולה, הפערים נעלמים.

תקופת ההתאמה משתנה כשמשנים את טווח הזמן

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

זו התנהגות צפויה.

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

התרשים לא מציג את כל סדרות הזמנים

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

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

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

To improve performance, we've limited the time series displayed in this chart.

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

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

הגדרתם תרשים אבל במקום נתונים מוצגת בו הודעת שגיאה:

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

    No data is available for the selected time frame.
    

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

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

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

  • אם סוג המדד או סוג המשאב שצוינו בשאילתה לא מזוהים, מוצגת ההודעה הבאה:

    An error occurred requested data. One or more resources could not be found.
    

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

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

    • בודקים את האיות של סוג המדד וסוג המשאב בשאילתה.

תרשים שמציג אזהרה לגבי מטא-נתונים רגישים

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

This SQL query is configured to run on the BigQuery engine using [PROJECT_ID],
and references resources from [RESOURCE, ...]. Sensitive metadata,
including table contents, may be written to [PROJECT_ID].

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

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

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

  • אם אתם יודעים שהשאילתה בטוחה להרצה ורוצים לראות את התוצאות שלה, לוחצים על אישור והרצה.

  • מתעלמים מהודעת השגיאה. בווידג'ט הזה לא יוצגו נתונים מההפעלה הנוכחית.

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

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

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

הודעת שגיאה מוצגת בתרשים עם כמה מדדים

אתם מגדירים תרשים להצגת כמה מדדים, ובתרשים מוצגת הודעת השגיאה הבאה:

    The units for queries using the same Y-axis must be the same for the chart
    to render correctly.

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

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

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

  2. משייכים את כל המדדים עם סוג יחידה אחד לציר Y השמאלי ואת כל המדדים עם סוג היחידה השני לציר Y הימני.

בתרשים עם כמה מדדים מוצגים נתונים לא צפויים

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

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

לדוגמה, בצילום המסך הבא מוצגת חלונית ההגדרות של הכלי Metrics Explorer לתרשים שמציג את מספר הבייטים שנקראו ונכתבו על ידי מכונות וירטואליות (VM):

דוגמה של הכלי 'Metrics Explorer' עם שני סוגי מדדים.

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

לדוגמה, אם רוצים שהתרשים יציג סדרות זמן רק לגבי מכונות וירטואליות שנמצאות באזור us-central1-a, צריך להוסיף את המסנן zone = us-central1-a לכל שאילתה.

אי אפשר לבחור ערכי סינון לתרשימים שמוגדרים באמצעות PromQL

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

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

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

שגיאות בלוח הבקרה

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

יצירת לוח הבקרה נכשלת

כדי ליצור מרכז בקרה, משתמשים בתיאור של מרכז הבקרה בפורמט JSON או YAML. התיאור הזה כולל שדה name. אתם משנים את השם המוצג ומנסים ליצור לוח בקרה שני, אבל מקבלים שגיאה. לדוגמה, אם משתמשים ב-Google Cloud CLI, מקבלים את השגיאה הבאה:

ERROR: (gcloud.alpha.monitoring.dashboards.create) Resource in projects [xxxxxxx] is the subject of a conflict: Requested entity already exists.

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

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

"name": "projects/PROJECT_ID_OR_NUMBER/dashboards/DASHBOARD_ID"

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

חלק מהאירועים לא מוצגים בלוח הבקרה

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

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

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

  • מוסיפים מסננים.

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

שינוי גודל של מרכז בקרה שנוצר ב-Terraform

יצרתם מרכז בקרה באמצעות Terraform ואז ערכתם אותו באמצעות מסוף Google Cloud . ציפית שהשינויים שביצעת יהיו השינויים היחידים בלוח הבקרה. במקום זאת, לוח הבקרה משנה את קנה המידה. לדוגמה, אם בלוח הבקרה היו 12 עמודות ועכשיו יש 48 עמודות.

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

בווידג'ט של מדיניות ההתראות לא מוצגים נתונים

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

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

  • בודקים את ההגדרות של התרשים ומוודאים שנבחרה מדיניות התראות. אם לא מוצגת מדיניות התראות, צריך לשייך את התרשים למדיניות התראות או למחוק את התרשים מלוח הבקרה.

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

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

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

  • הגדלת משך טווח הזמן. צריך להגדיר בבורר טווח הזמן ערך ארוך יותר מתקופת הדגימה של הנתונים. רוב המדדים נדגמים כל 60 שניות, אבל יש מדדים שנדגמים לעיתים רחוקות. לדוגמה, המדד serviceruntime.googleapis.com/quota/limit נדגם כל 86,400 שניות (יום אחד).

השאילתה לא תקפה בדוח של חלונית היומנים

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

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

מידע נוסף על תנאי הכשל הזה מופיע במאמר השאילתה מחזירה שגיאה.

בחלונית Logs (יומנים) לא מופיעות רשומות

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

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

    • יש לכם את התפקיד צפייה ביומנים (roles/logging.viewer).
    • לתפקידים בהתאמה אישית יש את ההרשאות הבאות:

      • logging.logs.list
      • logging.logServiceIndexes.list
      • logging.logServices.list
  • מוודאים שהסעיפים בעורך השאילתות לא סותרים את ההגדרות שמוצגות בחלונית היומנים.

    לדוגמה, אם השדה Query Editor מכיל את הערך severity=NOTICE, בחלונית ה-logs יאוחזרו כל היומנים שרמת החומרה שלהם היא בדיוק NOTICE. אם התפריט Severity בחלונית היומנים מוגדר ל-Warning, בחלונית היומנים מוצגת ההודעה No entries found matching current filter (לא נמצאו רשומות שתואמות למסנן הנוכחי). ההודעה מוצגת כי לאף אחת מרשומות היומן שאוחזרו אין רמת חומרה של לפחות 'אזהרה'.

    לעומת זאת, אם השדה Query Editor מכיל severity=WARNING, והתפריט Severity בחלונית היומנים מוגדר ל-Notice, יכול להיות שיוצגו רשומות ביומן. בהגדרה הזו, בחלונית היומנים מוצגים יומנים שרמת החומרה שלהם היא WARNING. לאחר מכן, רשימת היומנים מסוננת כך שיוצגו רק היומנים שרמת החומרה שלהם היא לפחות 'הודעה', וכל היומנים שאוחזרו הם ברמת החומרה הזו לפחות.

בחלונית היומנים מצוין שהנתונים שמוצגים הם חלקיים

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

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

  • צריך לפנות לאדמין ולבקש ממנו לבצע אחת מהפעולות הבאות עבור כל פרויקט Google Cloud שרוצים לצפות ביומנים שלו:

    • מקצים לכם את התפקיד צפייה ביומנים (roles/logging.viewer).
    • לתפקידים בהתאמה אישית, צריך לתת לכם את ההרשאות הבאות:

      • logging.logs.list
      • logging.logServiceIndexes.list
      • logging.logServices.list
  • משנים את ההגדרה של חלונית היומנים כך שיוצגו רק יומנים שלGoogle Cloud פרויקטים שיש לכם הרשאה לצפות ברשומות היומן שלהם.

הודעה על דחיית הרשאה מוצגת בחלונית היומנים

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

Error: Permission 'logging.views.access' denied on resource (or it may not exist).

כדי לפתור את הבעיה:

  1. עורכים את הווידג'ט של לוח היומנים.
  2. מבצעים אחת מהפעולות הבאות:

    • בתפריט Scope by (היקף לפי), בוחרים באפשרות Project (פרויקט), ואז בתפריט Projects (פרויקטים) בוחרים באפשרות Current project (הפרויקט הנוכחי).

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

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

  3. לוחצים על אישור.

חלק מסדרות הזמנים לא מוצגות בטבלה

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

מטעמי ביצועים, הטבלאות מוגדרות להצגת 300 שורות לכל היותר.

קריאה ל-API ליצירת לוח בקרה עם חלונית יומנים נכשלת

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

  • אם חלונית היומנים לא עומדת בדרישות המינימליות של הגובה או הרוחב, מוצגת השגיאה הבאה:

    Unable to save dashboard: Field mosaicLayout.tiles[0] has an invalid value: LogsPanel must have a minimum width of 3 and height of 3.
    

    כדי לפתור את הבעיה, צריך לוודא ששדות height ו-width בווידג'ט של חלונית היומנים בייצוג ה-JSON של לוח הבקרה עומדים בדרישות המינימליות.

  • אם השדה logsPanel.filter חורג מ-2,000 תווים, מוצגת השגיאה הבאה:

    Unable to save dashboard: filter cannot be greater than 2000 characters.
    

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

  • אם השדה resourceNames חסר, מוצגת הודעת השגיאה הבאה:

    Unable to save dashboard: Dashboard is missing required field mosaicLayout.tiles[0].widget.logsPanel.resourceNames.
    

    כדי לפתור את הבעיה, צריך להוסיף שדה resourceNames ל-JSON של לוח הבקרה.

  • אם התחביר של resourceNames שגוי, השגיאה שמוצגת דומה לשגיאה הבאה:

    Unable to save dashboard: Field mosaicLayout.tiles[0].widget.logsPanelWidget.resourceNames has an invalid value of "a-project": resource name must have the format `projects/{project}`."
    

    כדי לפתור את הבעיה הזו, מחליפים את a-project ב-projects/a-project בקובץ ה-JSON של לוח הבקרה.

  • מידע על פתרון שגיאות בתחביר בשדה filter זמין במאמר פתרון בעיות: בעיות בתחביר.

דוגמה לקובץ JSON בפורמט תקין מופיעה במאמר לוח בקרה עם ווידג'ט LogsPanel.

ייבוא מרכזי בקרה של Grafana

במאמר ייבוא לוחות בקרה של Grafana ל-Cloud Monitoring מוסבר איך להשתמש בכלי לייבוא לוחות בקרה ואיך לפתור בעיות שקשורות אליו.

מידע על בעיות בהמרת התוכן של לוח הבקרה מופיע בקובץ README של הכלי לייבוא.