משאבים מותאמים אישית של MonitoringTarget ב-Google Distributed Cloud (GDC) עם air gap מאפשרים לתייג מדדים שנסרקו כדי להבדיל בין מאפייני המדדים ולסנן נתונים של סדרות זמן. בנוסף לאיסוף מדדים, אתם יכולים להגדיר כללים לשינוי תוויות כדי לנתב מדדים לפרויקט אחר, להוסיף תוויות מותאמות אישית של מפתח/ערך או לשנות את השם של המדדים לפני ההטמעה.
כל שילוב ייחודי של צמדי מפתח/ערך של תוויות יוצר סדרת זמן חדשה, שיכולה להגדיל באופן משמעותי את נפח אחסון הנתונים. אל תשתמשו בתוויות למאפיינים בעלי עוצמה גבוהה עם הרבה ערכים אפשריים, כמו מזהי משתמשים או כתובות אימייל. למידע נוסף על תיוג מחדש של מדדים, ראו איך פועל התיוג מחדש ב-Prometheus.
לפני שמתחילים
כדי לנהל MonitoringTarget משאבים בהתאמה אישית, צריך את ההרשאות הנדרשות.
בקשת תפקידים ב-IAM ברמת הארגון
כדי לבקש את התפקידים הבאים, פנו למנהל החשבון הארגוני ב-IAM:
- MonitoringTarget PA Creator (
monitoringtarget-pa-creator): יצירת משאבים בהתאמה אישית שלMonitoringTarget. - עריכת MonitoringTarget PA (
monitoringtarget-pa-editor): עריכה או שינוי של משאבים מותאמים אישית שלMonitoringTarget. - MonitoringTarget PA Viewer (משאבים בהתאמה אישית של
monitoringtarget-pa-viewer~): viewMonitoringTarget`).
בקשת תפקידי IAM בפרויקט
כדי לבקש את התפקידים הבאים, פנו לאדמין של הפרויקט ב-IAM:
- עריכת MonitoringTarget (
monitoringtarget-editor): עריכה או שינוי של משאבים בהתאמה אישית שלMonitoringTargetבמרחב השמות של הפרויקט. - MonitoringTarget Viewer (
monitoringtarget-viewer): צפייה במשאבים בהתאמה אישית שלMonitoringTargetבמרחב השמות של הפרויקט.
שליחת מדדים לפרויקט אחר
יוצרי קונטיינרים יכולים לתכנת מדדים ספציפיים כך שיישלחו לפרויקט אחר, אפילו לפרויקטים שלא בבעלותם. כדי לשלוח מדד לפרויקט ספציפי, מוסיפים את התווית _gdch_project למדד בקוד, ומגדירים את הערך שלה לשם של פרויקט היעד.
לחלופין, אפשר להשתמש במשאב המותאם אישית MonitoringTarget כדי לשלוח את כל נתוני המדדים שנאספו לפרויקט אחר. מגדירים את התווית _gdch_project כתווית יעד בשדה metricsRelabelings, עם שם הפרויקט החדש כערך החלופי.
בדוגמת הקוד הבאה אפשר לראות איך מגדירים את תווית היעד _gdch_project במשאב המותאם אישית MonitoringTarget כדי לשלוח מדדים לפרויקט בשם another-project-name:
apiVersion: monitoring.gdc.goog/v1
kind: MonitoringTarget
metadata:
# Choose the same namespace as the workload pods.
namespace: PROJECT_NAMESPACE
name: MONITORING_TARGET_NAME
spec:
# [...]
podMetricsEndpoints:
# [...]
metricsRelabelings:
- action: replace
targetLabel: _gdch_project
replacement: another-project-name
# [...]
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_NAMESPACE: מרחב השמות של הפרויקט. -
MONITORING_TARGET_NAME: השם של קובץ ההגדרה שלMonitoringTarget.
הוספת תוויות חדשות למדדים
תוויות עוזרות לזהות מאפיינים של מדדים, וכך מאפשרות לצפות בהם ולעקוב אחריהם. אתם יכולים להוסיף תוויות שהקונטיינרים שנסרקו לא חושפים בהתחלה. במשאב המותאם אישית MonitoringTarget, מגדירים את התווית החדשה כיעד ומספקים ערך חלופי. צמד המפתח/ערך הזה מתווסף לכל המדדים שהמשאב אוסף.
בדוגמת הקוד הבאה אפשר לראות איך מגדירים את תווית היעד my_new_label ואת הערך שלה ל-my_label_value במשאב המותאם אישית MonitoringTarget:
apiVersion: monitoring.gdc.goog/v1
kind: MonitoringTarget
metadata:
# Choose the same namespace as the workload pods.
namespace: PROJECT_NAMESPACE
name: MONITORING_TARGET_NAME
spec:
# [...]
podMetricsEndpoints:
# [...]
metricsRelabelings:
- action: replace
targetLabel: my_new_label
replacement: my_label_value
# [...]
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_NAMESPACE: מרחב השמות של הפרויקט. -
MONITORING_TARGET_NAME: השם של קובץ ההגדרה שלMonitoringTarget.
שינוי שם של מדד
אפשר לשנות את השם של מדד של מאגר באמצעות המשאב MonitoringTarget. בשדה metricsRelabelings, מגדירים את השם המקורי של המדד ואת השם החלופי שלו.
השם המקורי נחשב לביטוי רגולרי (regex) ומוחלף בשם החדש.
בדוגמת הקוד הבאה אפשר לראות איך מחליפים את שם המדד cpu_usage (ביטוי רגולרי) ב-cpu_usage_new_name במשאב המותאם אישית MonitoringTarget:
apiVersion: monitoring.gdc.goog/v1
kind: MonitoringTarget
metadata:
# Choose the same namespace as the workload pods.
namespace: PROJECT_NAMESPACE
name: MONITORING_TARGET_NAME
spec:
# [...]
podMetricsEndpoints:
# [...]
metricsRelabelings:
- action: replace
regex: cpu_usage
replacement: cpu_usage_new_name
sourceLabels: [__name__]
targetLabel: __name__
# [...]
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_NAMESPACE: מרחב השמות של הפרויקט. -
MONITORING_TARGET_NAME: השם של קובץ ההגדרה שלMonitoringTarget.