Label-Messwerte

Hinweise

Bitten Sie Ihren Projekt-IAM-Administrator, Ihnen eine der folgenden Rollen in Ihrem Projekt-Namespace zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Labeln von Messwerten oder zum Aufrufen von Messwertlabels benötigen:

  • Monitoring Target Editor: Bearbeitet oder ändert benutzerdefinierte MonitoringTarget-Ressourcen. Fordern Sie die Rolle „Monitoring Target Editor“ (monitoringtarget-editor) an.
  • Monitoring Target Viewer: Zeigt MonitoringTarget benutzerdefinierte Ressourcen an. Fordern Sie die Rolle „Monitoring Target Viewer“ (monitoringtarget-viewer) an.

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

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

Messwerte an ein anderes Projekt senden

Containerautoren können in ihrem Code festlegen, dass das System bestimmte Messwerte zur Systemüberwachung an ein anderes Projekt senden muss, auch wenn das Projekt einer anderen GDC-Identität entspricht. Wenn Sie Messwerte an ein bestimmtes Projekt senden möchten, fügen Sie einem Messwert in Ihrem Code das Label _gdch_project hinzu. Legen Sie den Wert auf den Namen des Projekts fest, dem dieser bestimmte Observability-Messwert gehören soll. Beispiel: "_gdch_project": "another-project-name".

Alternativ können Sie die benutzerdefinierte Ressource MonitoringTarget verwenden, um alle erfassten Messwertdaten zur Datenbeobachtung an ein anderes Projekt zu senden. Legen Sie dazu das Label _gdch_project als Ziellabel im Feld metricsRelabelings fest und geben Sie einen Ersatzwert an.

Das folgende Codebeispiel zeigt, wie Sie den Labelwert _gdch_project in der benutzerdefinierten Ressource MonitoringTarget durch another-project-name ersetzen:

apiVersion: monitoring.gdc.goog/v1alpha1
kind: MonitoringTarget
metadata:
  # Choose the same namespace as the workload pods
  namespace: PROJECT_NAMESPACE
  name: string
spec:
  ...
  podMetricsEndpoints:
    ...
    metricsRelabelings:
      ...
      - action: replace
        targetLabel: _gdch_project
        replacement: another-project-name

Ersetzen Sie PROJECT_NAMESPACE durch den Namespace Ihres Projekts.

Messwerten neue Labels hinzufügen

Labels sind nützlich für die Datenbeobachtbarkeit und Systemüberwachung, da Sie damit verschiedene Merkmale eines Messwerts identifizieren können. Sie können Messwerten, die von den erfassten Containern anfangs nicht bereitgestellt werden, neue Labels hinzufügen. Legen Sie in der benutzerdefinierten Ressource MonitoringTarget das neue Label als Ziel fest und geben Sie einen Ersatz an, der als Wert des Labels verwendet werden soll. Das System fügt das neue Schlüssel/Wert-Paar allen Messwerten hinzu, die von der benutzerdefinierten Ressource für die Datenbeobachtung erfasst werden.

Das folgende Codebeispiel zeigt, wie Sie das Label my_new_label hinzufügen und seinen Wert in der benutzerdefinierten Ressource MonitoringTarget auf my_label_value festlegen:

apiVersion: monitoring.gdc.goog/v1alpha1
kind: MonitoringTarget
metadata:
  # Choose the same namespace as the workload pods
  namespace: PROJECT_NAMESPACE
  name: string
spec:
  ...
  podMetricsEndpoints:
    ...
    metricsRelabelings:
      ...
      - action: replace
        targetLabel: my_new_label
        replacement: my_label_value

Ersetzen Sie PROJECT_NAMESPACE durch den Namespace Ihres Projekts.

Messwert umbenennen

Sie können einen Messwert, der von einem Container generiert wird, über die MonitoringTarget-CR vollständig umbenennen. Legen Sie den ursprünglichen Namen des Messwerts und den Ersatz im Feld metricsRelabelings fest. Die benutzerdefinierte Ressource verwendet den ursprünglichen Messwertnamen als regulären Ausdruck und ersetzt ihn durch den neuen Namen, den Sie hinzugefügt haben.

Das folgende Codebeispiel zeigt, wie Sie den Messwertnamen cpu_usage im MonitoringTarget CR durch cpu_usage_new_name ersetzen:

apiVersion: monitoring.gdc.goog/v1alpha1
kind: MonitoringTarget
metadata:
  # Choose the same namespace as the workload pods
  namespace: PROJECT_NAMESPACE
  name: string
spec:
  ...
  podMetricsEndpoints:
    ...
    metricsRelabelings:
      ...
      - action: replace
        regex: cpu_usage
        replacement: cpu_usage_new_name
        sourceLabels: [__name__]
        targetLabel: __name__

Ersetzen Sie PROJECT_NAMESPACE durch den Namespace Ihres Projekts.