בדף הזה מוסבר איך ליצור לוחות בקרה ולנהל אותם במופע Grafana, שמשמש להצגת נתונים חזותיים של יומנים ומדדים מהפרויקט שלכם ב-Google Distributed Cloud (GDC) שמוגן על ידי בידוד פיזי.
מרכז הבקרה מספק ייצוג חזותי דינמי של ביצועי המערכת. הוא מורכב מחלוניות שניתנות להתאמה אישית, וכל אחת מהן מוגדרת לשליחת שאילתה ולהצגת מדדים ספציפיים מרכיבי GDC. החלוניות האלה מאפשרות לכם:
- המחשה חזותית של מדדים באמצעות סוגים שונים של תרשימים.
- אפשר להגדיר ערכי סף להתראות כדי להפעיל התראות על סמך ערכי מדדים.
- התאמה אישית של מאפייני התצוגה, כמו תוויות, יחידות וטווח תאריכים.
- כדי שההשוואות יהיו מדויקות, צריך להגדיר רזולוציות זמן עקביות.
שימוש יעיל בלוחות הבקרה של Grafana מאפשר לקבל תובנות חשובות לגבי הביצועים והתקינות של סביבת GDC.
לפני שמתחילים
כדי לנהל את המשאבים בהתאמה אישית של Dashboard ו-ConfigMap, צריך את ההרשאות הנדרשות.
שליחת בקשה לתפקידים ארגוניים ב-IAM
כדי לעבוד עם מרכזי בקרה ברמת הארגון, צריך לבקש מהאדמין של IAM בארגון את התפקידים הבאים:
- יוצר לוח בקרה של PA (
dashboard-pa-creator): יצירת לוחות בקרה בהתאמה אישית. - Dashboard PA Editor (
dashboard-pa-editor): עריכה או מחיקה של לוחות בקרה מותאמים אישית. - צפייה בלוח בקרה של PA (
dashboard-pa-viewer): צפייה בלוחות בקרה בהתאמה אישית.
בקשת תפקידי IAM בפרויקט
כדי לעבוד עם לוחות בקרה והגדרות בפרויקט, צריך לפנות לאדמין של IAM בפרויקט ולבקש את התפקידים הבאים:
- עורך מרכז הבקרה (
dashboard-editor): יצירה, עריכה ומחיקה של מרכזי בקרה בהתאמה אישית במרחב השמות של הפרויקט. - צפייה בלוח בקרה (
dashboard-viewer): צפייה בלוחות בקרה בהתאמה אישית במרחב השמות של הפרויקט. - עורך ConfigMap (
observabilitypipeline-configmap-editor): יצירה ועריכה שלConfigMapבמרחב השמות של הפרויקט.
הכנת הסביבה
אחרי שמקבלים את התפקידים המתאימים, מבצעים את השלבים הבאים לפני שיוצרים מרכזי בקרה:
- איסוף מדדים מעומסי העבודה.
מגדירים את הנתיב של קובץ ה-kubeconfig כמשתנה סביבה:
export KUBECONFIG=KUBECONFIG_PATHמחליפים את
KUBECONFIG_PATHבנתיב לקובץ kubeconfig של שרת ה-API לניהול שבו רוצים ליצור את מרכז הבקרה.
זיהוי נקודת הקצה של Grafana
כתובת ה-URL הבאה היא נקודת הקצה של המכונה של Grafana בפרויקט:
https://GDC_URL/PROJECT_NAMESPACE/grafana
מחליפים את מה שכתוב בשדות הבאים:
-
GDC_URL: כתובת ה-URL של הארגון ב-GDC. -
PROJECT_NAMESPACE: מרחב השמות של הפרויקט.
לדוגמה, נקודת הקצה של Grafana לפרויקט platform-obs בארגון org-1 היא https://org-1/platform-obs/grafana.
יצירת לוח בקרה בהתאמה אישית
כדי ליצור מרכז בקרה ב-Grafana ולהתאים אישית את ההגדרות:
- פותחים את נקודת הקצה של Grafana כדי להציג את ממשק המשתמש.
- בתפריט הניווט, לוחצים על הוספה.
- בתפריט הנפתח, לוחצים על מרכז הבקרה. מערכת Grafana יוצרת לוח בקרה ריק.
מוסיפים את כל החלוניות שרוצים למרכז הבקרה הריק.
בתפריט Data source של כל חלונית, בוחרים את מקור הנתונים שרוצים להציג בחלונית, כולל מדדים (
prometheus), יומני ביקורת (auditloki) ויומנים תפעוליים (oploki).ב-Grafana יש מקורות נתונים עם תוויות של אזורים, שאפשר להשתמש בהם כדי ליצור תצוגות חזותיות של מרכז הבקרה עם מדדים ויומנים מכמה אזורים. שמות מקורות הנתונים האלה הם בפורמט
DATA_SOURCE-ZONE_ID, כאשר:
DATA_SOURCEיכול לקבל אחד מהערכים הבאים:- Prometheus (
prometheusאוmetrics) כדי להציג מדדים. - יומני ביקורת (
auditloki) כדי להציג יומני ביקורת. - יומנים תפעוליים (
oploki) כדי להציג יומנים תפעוליים.
- Prometheus (
ZONE_IDהוא המזהה של האזור שאת הנתונים שלו רוצים להציג בלוח הבקרה.
בנוסף, כדי ליצור מרכז בקרה להמחשת משאבים חוצי-אזורים, השם של מקור הנתונים הוא
--Mixed--. מקור הנתונים הזה מאפשר להוסיף כמה שאילתות לכל אזור, וליצור לוחות בקרה עם ויזואליזציות של נתונים מאזורים שונים. אתם יכולים להשתמש בתכונה הזו כדי להשוות בין התנהגויות, למשל, בין מדד יחיד או שאילתת יומן בכמה אזורים של היקום שלכם.אתם יכולים להתאים אישית את הפרטים ולערוך את הלוחות כדי להוסיף שאילתות או לבצע עדכונים אחרים.
בסרגל התפריטים, לוחצים על הגדרות לוח הבקרה כדי לפתוח את הדף הגדרות.
בתפריט הניווט, בוחרים באפשרות JSON Model.
מעתיקים את מודל ה-JSON של לוח הבקרה ומדביקים אותו בקובץ טקסט פשוט לשימוש עתידי.
יצירת אובייקט ConfigMap
כדי ליצור אובייקט ConfigMap שמכיל את מודל ה-JSON של מרכז הבקרה:
- פותחים חלון טרמינל.
יוצרים אובייקט
ConfigMap. בקטעdataשל האובייקטConfigMap, מדביקים את מודל ה-JSON שהעתקתם קודם:apiVersion: v1 kind: ConfigMap metadata: namespace: PROJECT_NAMESPACE name: CONFIGMAP_NAME data: JSON_FILE_NAME.json: | { JSON_MODEL }מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_NAMESPACE: מרחב השמות של הפרויקט. -
CONFIGMAP_NAME: השם שרוצים לתת לאובייקטConfigMap. -
JSON_FILE_NAME: השם שרוצים לתת לקובץ של מודל ה-JSON של מרכז הבקרה. -
JSON_MODEL: מודל ה-JSON של לוח הבקרה בהתאמה אישית.
-
מחילים את אובייקט
ConfigMapעל שרת Management API:kubectl --kubeconfig ${KUBECONFIG} apply -f CONFIGMAP_NAME.yaml
דוגמה לערך ConfigMap
קובץ ה-YAML הבא מציג דוגמה לאובייקט ConfigMap של מרכז בקרה במרחב השמות platform-obs:
apiVersion: v1
kind: ConfigMap
metadata:
namespace: platform-obs
name: my-project-dashboard-configmap
data:
my-project-dashboard.json: |
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "--",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"graphTooltip": 0,
"id": null,
"links": [],
"panels": [],
"schemaVersion": 27,
"style": "dark",
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "Sample dashboard",
"uid": null,
"version": 0
}
יצירת Dashboard משאב בהתאמה אישית
כדי ליצור משאב בהתאמה אישית של Dashboard ולייבא את מרכז הבקרה בהתאמה אישית למכונה של Grafana בפרויקט:
- פותחים חלון טרמינל.
יוצרים משאב מותאם אישית של
Dashboardומגדירים את הקובץ עם השם שנתתם לאובייקטConfigMap:apiVersion: observability.gdc.goog/v1 kind: Dashboard metadata: namespace: PROJECT_NAMESPACE name: DASHBOARD_NAME spec: configMapRef: name: CONFIGMAP_NAME namespace: PROJECT_NAMESPACE key: JSON_FILE_NAME.json foldername: Defaultמחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_NAMESPACE: מרחב השמות של הפרויקט. -
DASHBOARD_NAME: השם שרוצים לתת לDashboardמשאב המותאם אישית. -
CONFIGMAP_NAME: השם שנתתם לאובייקטConfigMap. -
JSON_FILE_NAME: השם שנתתם לקובץ שמכיל את מודל ה-JSON של לוח הבקרה באובייקטConfigMap.
-
מחילים את המשאב המותאם אישית
Dashboardעל שרת Management API:kubectl --kubeconfig ${KUBECONFIG} apply -f DASHBOARD_NAME.yaml
המערכת עוקבת אחרי שינויים במשאב המותאם אישית Dashboard ובאובייקט ConfigMap שמשויך אליו. כדי לעדכן או למחוק מרכז בקרה, צריך לשנות את המשאבים האלה. כל שינוי יפעיל עדכון ב-Grafana. אי אפשר לשמור עדכונים שבוצעו ישירות בממשק המשתמש של Grafana.