ייבוא מרכזי שליטה של Grafana ל-Cloud Monitoring

במאמר הזה מוסבר איך לייבא קובצי לוחות בקרה בפורמט JSON של Grafana אל Cloud Monitoring. אפשר לייבא לוחות בקרה של Grafana בדרכים הבאות:

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

אפשר לייבא רק מרכזי בקרה שמשתמשים בביטויי PromQL ובמקורות נתונים של Prometheus. יכול להיות שמרכזי בקרה שמשתמשים בשיטות אחרות לשליחת שאילתות או במקורות נתונים אחרים לא ייובאו בהצלחה.

מידע על ייבוא התראות של Prometheus אל Cloud Monitoring זמין במאמר העברת כללי התראה ומקבלים מ-Prometheus.

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

לפני שמתחילים

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

הרשאה

כדי לקבל את ההרשאות שנדרשות ליצירה ולשינוי של לוחות בקרה בהתאמה אישית, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד Monitoring Editor (roles/monitoring.editor) בפרויקט. להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

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

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

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

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

ייבוא מרכזי בקרה באמצעות מסוף Google Cloud

אפשר לייבא לוחות בקרה של Grafana אל Cloud Monitoring מהדף Dashboards ב-Monitoring במסוף Google Cloud .

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

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

  1. במסוף Google Cloud , עוברים לדף  Dashboards:

    מעבר אל מרכזי בקרה

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

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

  3. לוחצים על ייבוא לוח בקרה.

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

    כל קובץ JSON מועבר למצב ביניים אחרי שהוא נבחר. בחלונית Staged Files (קבצים במצב ביניים) אפשר לראות אם יש בעיות בהמרה.

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

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

צפייה במרכזי הבקרה המיובאים

כדי לראות את מרכזי הבקרה שיובאו:

  1. במסוף Google Cloud , עוברים לדף  Dashboards:

    מעבר אל מרכזי בקרה

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

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

    • בתפריט סוג, בוחרים באפשרות בהתאמה אישית.
    • בחלונית Labels (תוויות), בוחרים בתווית cloud-monitoring-dashboard-importer כדי לראות רק את לוחות הבקרה של Grafana שיובאו באמצעות המסוף Google Cloud .

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

הוספה או הסרה של תוויות שהוגדרו על ידי המשתמש

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

כדי להוסיף או להסיר תוויות שהוגדרו על ידי המשתמשים ממרכז בקרה:

  1. במסוף Google Cloud , עוברים לדף  Dashboards:

    מעבר אל מרכזי בקרה

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

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

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

ייבוא מרכזי בקרה באמצעות כלי הייבוא

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

דרישות מוקדמות נוספות

כדי להתקין ולהריץ את הכלי לייבוא לוחות בקרה, צריך לבצע את הפעולות הבאות:

  1. משתמשים בסביבה שתומכת בסקריפטים של מעטפת Bash.
  2. יש לכם Git או שאתם מתקינים אותו.
  3. צריך להתקין את Node.js בגרסה 20.4.1 ומעלה.
  4. להתקין את Google Cloud CLI. אם כבר התקנתם את ה-CLI של gcloud, מריצים את הפקודה gcloud components update כדי לוודא שמותקנת אצלכם הגרסה העדכנית.

קבלת הכלי לייבוא מרכזי בקרה

כלי הייבוא של לוחות הבקרה מאוחסן בmonitoring-dashboard-samples מאגר GitHub. כדי להשיג ולהגדיר את הכלי לייבוא:

  1. משכפלים את המאגר:

    git clone https://github.com/GoogleCloudPlatform/monitoring-dashboard-samples
    
  2. עוברים לספרייה של הכלי לייבוא מרכזי בקרה:

    cd monitoring-dashboard-samples/scripts/dashboard-importer
    
  3. התקנה של מודולי הצומת ובנייה של הקבצים

    npm install && npm run build
    

כלי הייבוא של לוחות הבקרה כולל את הסקריפטים הבאים:

  • import.sh, שממיר לוחות בקרה ומעלה אותם ל-Cloud Monitoring (אופציונלי).

  • upload.sh, שמעלה את לוחות הבקרה שהומרו – או כל לוחות בקרה של Monitoring – אל Cloud Monitoring. הסקריפט import.sh קורא לסקריפט הזה כדי לבצע את ההעלאה.

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

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

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

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

  • אפשר לציין את הנתיב לקובץ JSON יחיד. שם הקובץ חייב לכלול את הסיומת .json.

לוחות בקרה שהומרו ומידע אחר

כשמריצים את הכלי לייבוא בפעם הראשונה, הוא יוצר ספריית משנה בשם reports. בכל פעם שמריצים את הכלי לייבוא, נוצרת תיקיית פלט חדשה בתיקייה reports, והשם שלה הוא התאריך והשעה. שם ספריית הפלט הוא במבנה הבא:
reports/YYYY-M-D/HH:MM:SS

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

  • קובץ או קבצים עם אותם שמות כמו לוחות הבקרה המקוריים של Grafana, אבל עכשיו בפורמט JSON של Cloud Monitoring.
  • קובץ report.json שבו מתועדים הפרטים הבאים לגבי כל לוח בקרה שהומר:
    • השם והמיקום של קובץ לוח הבקרה של Grafana שהומר.
    • השם והמיקום של קובץ לוח הבקרה של המעקב אחרי ההמרות.
    • הודעות לגבי תכונות בלוח הבקרה של Grafana שאין להן תכונה מקבילה ב-Cloud Monitoring, ולכן לא ניתן לכלול אותן בלוח הבקרה שהומר.
    • כל השגיאות שהתרחשו במהלך ההמרה.

אם העליתם את מרכזי הבקרה, ספריית הדוחות כוללת גם קובץ upload_HH:MM:SS.txt, שכולל את כתובת ה-URL שאליה הועלה מרכז הבקרה.

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

כדי להמיר לוחות בקרה של Grafana ולהעלות אותם ל-Cloud Monitoring, משתמשים בסקריפט import.sh:

./import.sh PATH_TO_DIRECTORY_OR_FILE PROJECT_ID

הסקריפט הזה מבצע את הפעולות הבאות:

  1. המרת לוחות בקרה ב-PATH_TO_DIRECTORY_OR_FILE מפורמט JSON שמשמש את Grafana לפורמט JSON שמשמש את Cloud Monitoring.
  2. העלאה של לוחות הבקרה שהומרו אל Google Cloud הפרויקט PROJECT_IDבאמצעות Google Cloud CLI.

    אם לא ביצעתם אימות ל-CLI של gcloud, מריצים את הפקודה gcloud auth login לפני שמריצים את הסקריפט import.sh.

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

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

    ./import.sh GRAFANA_DASHBOARDS_DIR PROJECT_ID
    
  • כדי להמיר רק את לוח הבקרה MY_GRAFANA_DASHBOARD.json בספרייה GRAFANA_DASHBOARDS_DIR, צריך לכלול את שם הקובץ של לוח הבקרה, ביחס לספריית הכלי לייבוא, כשמפעילים את הסקריפט:

    ./import.sh GRAFANA_DASHBOARDS_DIR/MY_GRAFANA_DASHBOARD.json PROJECT_ID
    

כלי הייבוא של מרכז הבקרה כולל מרכז בקרה לדוגמה של Grafana בשם examples/k8s_cluster_example.json. הפקודה הבאה מייבאת את מרכז הבקרה הזה לפרויקט שצוין:

./import.sh examples/k8s_cluster_example.json PROJECT_ID

כשמפעילים את הפקודה עם הארגומנט PROJECT_ID my-project-test-1, הפלט אמור להיראות כך:

Converting: Kubernetes Cluster Overview
✓ Kubernetes Cluster Overview converted successfully

Conversion of examples/k8s_cluster_example.json complete. Conversion Report located at: reports/2023-9-28/22:14:57/report.json

To upload these dashboard(s) manually, you can run:
./upload.sh reports/2023-9-28/22:14:57/ <PROJECT_ID>

Conversion Complete. Proceeding to uploading...

Now running: ./upload.sh reports/2023-9-28/22:14:57/ my-project-test-1

Uploading 1 dashboard(s) from a directory with the following args:
Directory: reports/2023-9-28/22:14:57/
Project: my-project-test-1

The following are your dashboards:
- k8s_cluster_example.json

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

Would you like to continue? (y/n) y

✓ k8s_cluster_example.json successfully uploaded:
https://console.cloud.google.com/monitoring/dashboards/builder/9c341ef8-cfef-4bdd-98d5-821571c520ef?project=my-project-test-1

Upload log created in reports/2023-9-28/22:14:57/upload_22:14:57.txt

Need to troubleshoot? Please visit:
https://github.com/GoogleCloudPlatform/monitoring-dashboard-samples/tree/master/scripts/dashboard-importer/README.md#troubleshooting

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

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

./import.sh PATH_TO_DIRECTORY_OR_FILE

כלי הייבוא ממיר את מרכזי הבקרה כמו שמתואר במאמר בנושא ייבוא מרכזי בקרה של Grafana, אבל הוא לא מעלה את מרכזי הבקרה המומרים ל-Cloud Monitoring.

אפשר להריץ את שלב ההעלאה מאוחר יותר באמצעות הסקריפט upload.sh באופן ידני.

העלאה ידנית של מרכזי בקרה

כדי להעלות לוחות בקרה בפורמט JSON של Cloud Monitoring באופן ידני, משתמשים בסקריפט upload.sh.

    ./upload.sh PATH_TO_DIRECTORY_OR_FILE PROJECT_ID

הסקריפט upload.sh משתמש ב-Google Cloud CLI כדי להעלות את קובצי ה-JSON. אם לא ביצעתם אימות ל-CLI של gcloud, אתם צריכים להריץ את הפקודה gcloud auth login לפני שמריצים את הסקריפט upload.sh.

  • כדי להעלות את כל לוחות הבקרה בספרייה reports/YYYY-M-D/HH:MM:SS, צריך לציין את הספרייה ביחס לספריית הכלי לייבוא ואת מזהה פרויקט היעד כשמפעילים את הסקריפט:

    ./upload.sh reports/YYYY-M-D/HH:MM:SS PROJECT_ID
    

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

  • כדי להעלות לתיקייה reports/YYYY-M-D/HH:MM:SS לוח בקרה ספציפי, צריך לציין את התיקייה ואת שם הקובץ ביחס לתיקיית הכלי לייבוא, ואת מזהה פרויקט היעד כשמפעילים את הסקריפט:

    ./upload.sh reports/YYYY-M-D/HH:MM:SS/MY_MONITORING_DASHBOARD.json PROJECT_ID
    

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

לדוגמה, הפקודה הבאה מעלה ל Google Cloud פרויקט my-project-test-1 לוח בקרה ששמור בספריית המשנה reports:

./upload.sh reports/2023-9-26/22:48:31/k8s_cluster_example.json my-project-test-1
Uploading json file: k8s_cluster_example.json to project: my-project-test-1...

✓ k8s_cluster_example.json successfully uploaded:
https://console.cloud.google.com/monitoring/dashboards/builder/25956d9a-93e2-410c-ada1-ec6872cb6665?project=my-project-test-1

צפייה במרכזי הבקרה שהועלו

כדי לראות את מרכזי הבקרה שהעליתם:

  1. במסוף Google Cloud , עוברים לדף  Dashboards:

    מעבר אל מרכזי בקרה

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

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

    • בוחרים בקטגוריה בהתאמה אישית כדי לראות רק את לוחות הבקרה שהוגדרו על ידי המשתמש.
    • בוחרים בתווית cloud-ops-grafana-importer כדי לראות רק את לוחות הבקרה של Grafana שיובאו באמצעות כלי הייבוא.
    • משתמשים בסרגל הסינון כדי לחפש לפי שם.

פתרון בעיות

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

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

המאמרים הבאים