מדדי תוויות

משאבים מותאמים אישית של 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.