ייבוא קובצי לוח בקרה בפורמט JSON של Grafana ל-Cloud Monitoring מאפשר לכם להשתמש שוב בתצוגות החזותיות הקיימות של Prometheus כמרכזי בקרה בהתאמה אישית. אתם יכולים להמיר ולהעלות לוחות בקרה של Grafana באמצעות מסוףGoogle Cloud או כלי הייבוא של שורת הפקודה.
אפשר לייבא רק לוחות בקרה שמשתמשים בביטויי PromQL ובמקורות נתונים של Prometheus. אם לוח הבקרה כולל תכונות של Grafana שלא נתמכות ב-Monitoring, תהליך הייבוא משמיט את התכונות האלה ומפרט את ההבדלים בתוצאות הייבוא.
כדי להעביר כללי התראות של Prometheus, קראו את המאמר העברת כללי התראות ומקלטים מ-Prometheus. במאמר יצירה וניהול של מרכזי בקרה בהתאמה אישית מוסבר איך לנהל את מרכזי הבקרה אחרי הייבוא.
לפני שמתחילים
לא משנה אם אתם משתמשים במסוף Google Cloud או בכלי הייבוא כדי לייבא את מרכזי הבקרה, אתם צריכים הרשאה מתאימה ומרכזי בקרה לייבוא. כשמשתמשים בכלי הייבוא, יש דרישות מוקדמות נוספות.
הרשאה
כדי לקבל את ההרשאות שנדרשות ליצירה ולשינוי של מרכזי בקרה בהתאמה אישית, צריך לבקש מהאדמין להקצות לכם את התפקיד עריכת מעקב (roles/monitoring.editor) ב-IAM בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
מידע נוסף על תפקידים מופיע במאמר בקרת גישה באמצעות ניהול זהויות והרשאות גישה.
איסוף מרכזי הבקרה של Grafana לייבוא
כדי לייבא מרכזי בקרה של Grafana, צריך לשמור אותם באופן מקומי כקבצים בפורמט JSON. יכול להיות שתרצו ליצור ספרייה ספציפית לקובצי לוח הבקרה האלה.
ייבוא מרכזי בקרה באמצעות מסוף Google Cloud
אפשר לייבא לוח בקרה של Grafana ל-Cloud Monitoring מהדף Dashboards של Monitoring במסוף Google Cloud .
ייבוא מרכזי בקרה של Grafana
כדי לייבא מרכז בקרה אחד או יותר של Grafana:
-
נכנסים לדף Dashboards במסוף Google Cloud :
אם אתם משתמשים בשורת החיפוש כדי למצוא את הדף הזה, בחרו בתוצאה שכותרת המשנה שלה היא Monitoring.
בסרגל הכלים של מסוף Google Cloud , בוחרים את הפרויקט ב- Google Cloud . להגדרות של App Hub, בוחרים את הפרויקט המארח או את פרויקט הניהול של App Hub.
לוחצים על ייבוא מרכז בקרה.
לוחצים על Browse כדי לעבור לספרייה שבה שמרתם את מרכזי הבקרה של Grafana בפורמט JSON, ובוחרים את מרכזי הבקרה שרוצים לייבא.
כל קובץ JSON עובר שלב ביניים אחרי שבוחרים אותו. בחלונית Staged Files (קבצים בשלב ביניים) מצוין אם יש בעיות בהמרה.
- לוחצים על code View converted JSON כדי לראות את תוצאות ההמרה.
- לוחצים על close הסרת הקובץ כדי להסיר מרכז בקרה מפעולת הייבוא.
save_alt לוחצים על ייבוא. בחלונית Import results מצוין אם כל מרכז בקרה יובא בהצלחה.
כדי לראות מרכז בקרה שיובא בהצלחה, לוחצים על open_in_new View.
הצגת מרכזי הבקרה המיובאים
כדי לראות את מרכזי הבקרה שיובאו:
-
נכנסים לדף Dashboards במסוף Google Cloud :
אם אתם משתמשים בשורת החיפוש כדי למצוא את הדף הזה, בחרו בתוצאה שכותרת המשנה שלה היא Monitoring.
- בסרגל הכלים של מסוף Google Cloud , בוחרים את הפרויקט ב- Google Cloud . להגדרות של App Hub, בוחרים את הפרויקט המארח או את פרויקט הניהול של App Hub.
ברשימה, מאתרים את מרכז הבקרה שרוצים לראות. כדי לסנן את רשימת מרכזי הבקרה, אתם יכולים:
- בתפריט סוג, בוחרים באפשרות בהתאמה אישית.
בחלונית Labels, בוחרים את התווית
cloud-monitoring-dashboard-importerכדי לראות רק את מרכזי הבקרה של Grafana שיובאו באמצעות מסוף Google Cloud .משתמשים בסרגל הסינון כדי לחפש לפי שם.
הוספה או הסרה של תוויות שהוגדרו על ידי המשתמש
אפשר להוסיף תוויות רק למרכזי בקרה בהתאמה אישית, כולל מרכזי בקרה שאתם מייבאים. אם במרכז הבקרה מופיע הלחצן Add labels to dashboard, אתם יכולים להגדיר אילו תוויות יחולו על מרכז הבקרה.
כדי להוסיף או להסיר תוויות בהתאמה אישית בלוח בקרה:
-
נכנסים לדף Dashboards במסוף Google Cloud :
אם אתם משתמשים בשורת החיפוש כדי למצוא את הדף הזה, בחרו בתוצאה שכותרת המשנה שלה היא Monitoring.
- ברשימת מרכזי הבקרה, מאתרים את מרכז הבקרה ולוחצים על Add labels to dashboard.
- מבצעים אחת מהפעולות הבאות:
כדי ליצור תווית ולהוסיף אותה למרכז הבקרה, בקטע Create a new label מזינים את שם התווית בתיבת הטקסט ולוחצים על Create and apply.
- כדי להגדיר אילו תוויות יתווספו למרכז הבקרה, לוחצים על arrow_drop_down Select labels to apply, בוחרים את התוויות ולוחצים על Ok.
- כדי לשמור את השינויים, לוחצים על אישור.
ייבוא מרכזי בקרה באמצעות כלי הייבוא
אתם יכולים להשתמש בכלי הייבוא כדי להמיר את לוחות הבקרה של Grafana ולהעלות אותם ל-Cloud Monitoring בפעולה אחת, או לבצע את שלבי ההמרה וההעלאה בנפרד. כדאי לבחור בגישה הזו אם רוצים לערוך את מרכזי הבקרה שהומרו לפני שמעלים אותם.
דרישות מוקדמות נוספות
לפני שמתקינים ומריצים את כלי הייבוא של מרכזי הבקרה, צריך:
- משתמשים בסביבה שתומכת בסקריפטים של מעטפת Bash.
- להתקין את Git.
- להתקין את Node.js בגרסה 20.4.1 ואילך.
- להתקין את Google Cloud CLI. אם כבר התקנתם את ה-CLI של gcloud, ודאו שמותקנת אצלכם הגרסה העדכנית באמצעות הפקודה
gcloud components update.
הורדת כלי הייבוא של מרכז הבקרה
כלי הייבוא של לוחות הבקרה מאוחסן במאגר של monitoring-dashboard-samples ב-GitHub.
כדי להוריד ולהגדיר את כלי הייבוא, מבצעים את הפעולות הבאות:
משכפלים את המאגר:
git clone https://github.com/GoogleCloudPlatform/monitoring-dashboard-samples
עוברים לספרייה של כלי הייבוא של מרכז הבקרה:
cd monitoring-dashboard-samples/scripts/dashboard-importer
מתקינים את המודולים של הצומת ויוצרים את הקבצים:
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 שהומר.
- השם והמיקום של קובץ לוח הבקרה שהומר ב-Monitoring.
- הודעות על תכונות בלוח הבקרה של Grafana שאין להן תכונה תואמת ב-Cloud Monitoring, ולכן לא ניתן לכלול אותן בלוח הבקרה שהומר.
- שגיאות שאירעו במהלך ההמרה.
אם העליתם את מרכזי הבקרה, ספריית הדוחות כוללת גם קובץ upload_HH:MM:SS.txt, שמכיל את כתובת ה-URL שאליה הועלה מרכז הבקרה.
ייבוא מרכזי בקרה של Grafana
כדי להמיר לוחות בקרה של Grafana ולהעלות אותם ל-Cloud Monitoring, משתמשים בסקריפט import.sh:
./import.sh PATH_TO_DIRECTORY_OR_FILE PROJECT_ID
הסקריפט הזה מבצע את הפעולות הבאות:
- ממיר מרכזי בקרה ב-
PATH_TO_DIRECTORY_OR_FILEמפורמט JSON שמשמש את Grafana לפורמט JSON שמשמש את Cloud Monitoring. מעלה את מרכזי הבקרה שהומרו לפרויקט 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:SSPROJECT_IDכשמעלים את כל מרכזי הבקרה מספרייה, הסקריפט מבקש מכם להמשיך או לצאת לפני העלאת מרכזי הבקרה.
כדי להעלות מרכז בקרה ספציפי בספרייה
reports/YYYY-M-D/HH:MM:SS, צריך לציין את הספרייה ואת שם הקובץ, ביחס לספריית הייבוא, ואת מזהה הפרויקט של היעד כשמפעילים את הסקריפט:./upload.sh
reports/YYYY-M-D/HH:MM:SS/MY_MONITORING_DASHBOARD.json PROJECT_IDכשמעלים מרכז בקרה אחד מספרייה, הסקריפט פועל בלי להציג בקשה לפני העלאת מרכזי הבקרה.
לדוגמה, הפקודה הבאה מעלה לפרויקט my-project-test-1 ב- Google Cloud מרכז בקרה ששמור בספריית המשנה 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
הצגת מרכזי הבקרה שהועלו
כדי לראות את מרכזי הבקרה שהעליתם:
-
נכנסים לדף Dashboards במסוף Google Cloud :
אם אתם משתמשים בשורת החיפוש כדי למצוא את הדף הזה, בחרו בתוצאה שכותרת המשנה שלה היא Monitoring.
ברשימה, מאתרים את מרכז הבקרה שרוצים לראות. כדי לסנן את רשימת מרכזי הבקרה, אתם יכולים:
- כדי לראות רק לוחות בקרה בהגדרת המשתמש, בוחרים בקטגוריה Custom.
- בוחרים את התווית
cloud-ops-grafana-importerכדי לראות רק את לוחות הבקרה של Grafana שיובאו באמצעות כלי הייבוא. - משתמשים בסרגל הסינון כדי לחפש לפי שם.
פתרון בעיות
מדי פעם אנחנו מפרסמים עדכונים קטנים ותיקוני באגים בכלי. לפני שתנסו לפתור בעיות בדרכים אחרות, נסו קודם להשתמש ב-git pull כדי לשלוף את הגרסה העדכנית של המאגר, ואז לייבא שוב.
למידע על בעיות במרכזי הבקרה שהומרו, כמו תרשימים שלא מציגים נתונים, עיינו בקובץ README של כלי הייבוא.
המאמרים הבאים
- יצירה וניהול של מרכזי בקרה בהתאמה אישית
- העברת כללי התראות ומקלטים מ-Prometheus
- הצגה וניהול של השימוש במדדים