Label-Messwerte

Mit Labels können Sie die Merkmale eines Messwerts unterscheiden. Neben dem Erfassen von Messwerten können Sie mit der MonitoringTarget benutzerdefinierten Ressource Messwerte für optionale Funktionen zur Beobachtbarkeit labeln:

Weitere Informationen zum Relabeln von Messwerten finden Sie unter https://grafana.com/blog/2022/03/21/how-relabeling-in-prometheus-works/.

Hinweis

Wenn Sie benutzerdefinierte MonitoringTarget-Ressourcen verwalten möchten, fordern Sie die erforderlichen Berechtigungen von Ihrem Administrator an.

Erforderliche IAM-Rollen

Fordern Sie die folgenden Rollen von Ihrem Projekt-IAM-Administrator an:

  • MonitoringTarget Creator (monitoringtarget-creator): Erstellt benutzerdefinierte MonitoringTarget Ressourcen im Projekt-Namespace.
  • MonitoringTarget Editor (monitoringtarget-editor): Bearbeitet oder ändert MonitoringTarget benutzerdefinierte Ressourcen im Projekt-Namespace.
  • MonitoringTarget Viewer (monitoringtarget-viewer): Ruft MonitoringTarget benutzerdefinierte Ressourcen im Projekt-Namespace auf.

Messwerte an ein anderes Projekt senden

Containerautoren können bestimmte Messwerte so codieren, dass sie an ein anderes Projekt gesendet werden, auch an Projekte, die ihnen nicht gehören. Wenn Sie einen Messwert an ein bestimmtes Projekt senden möchten, fügen Sie dem Messwert in Ihrem Code das Label _gdch_project hinzu und legen Sie den Wert auf den Namen des Zielprojekts fest.

Alternativ können Sie die benutzerdefinierte Ressource MonitoringTarget verwenden, um alle erfassten Messwertdaten an ein anderes Projekt zu senden. Legen Sie das Label _gdch_project im Feld metricsRelabelings als Ziellabel fest und verwenden Sie den Namen des neuen Projekts als Ersatzwert.

Das folgende Codebeispiel zeigt, wie Sie das Ziellabel _gdch_project in der benutzerdefinierten Ressource MonitoringTarget festlegen, um Messwerte an das Projekt another-project-name zu senden:

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
      [...]

Ersetzen Sie Folgendes:

  • PROJECT_NAMESPACE: Ihr Projekt-Namespace.
  • MONITORING_TARGET_NAME: Der Name der MonitoringTarget-Definitionsdatei.

Messwerten neue Labels hinzufügen

Labels helfen bei der Beobachtbarkeit und beim Monitoring, indem sie Messwertmerkmale identifizieren. Sie können Labels hinzufügen, die von den gescrapten Containern nicht von Anfang an verfügbar gemacht werden. Legen Sie in der benutzerdefinierten Ressource MonitoringTarget das neue Label als Ziellabel fest und geben Sie einen Ersatzwert an. Dieses Schlüssel/Wert-Paar wird allen Messwerten hinzugefügt, die von der Ressource erfasst werden.

Das folgende Codebeispiel zeigt, wie Sie das Ziellabel my_new_label festlegen und seinen Wert in der benutzerdefinierten Ressource MonitoringTarget auf my_label_value konfigurieren:

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
      [...]

Ersetzen Sie Folgendes:

  • PROJECT_NAMESPACE: Ihr Projekt-Namespace.
  • MONITORING_TARGET_NAME: Der Name der MonitoringTarget-Definitionsdatei.

Messwert umbenennen

Sie können einen Messwert eines Containers mit der Ressource MonitoringTarget umbenennen. Legen Sie den ursprünglichen Messwertnamen und seinen Ersatz im Feld metricsRelabelings fest. Der ursprüngliche Name wird als regulärer Ausdruck (Regex) behandelt und durch den neuen Namen ersetzt.

Das folgende Codebeispiel zeigt, wie Sie den cpu_usage Messwertnamen (Regex) in der MonitoringTarget benutzerdefinierten Ressource durch cpu_usage_new_name ersetzen:

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__
      [...]

Ersetzen Sie Folgendes:

  • PROJECT_NAMESPACE: Ihr Projekt-Namespace.
  • MONITORING_TARGET_NAME: Der Name der MonitoringTarget-Definitionsdatei.