Mit benutzerdefinierten MonitoringTarget-Ressourcen in Google Distributed Cloud (GDC) mit Air Gap können Sie extrahierte Messwerte mit Labels versehen, um Messwertmerkmale zu unterscheiden und Zeitreihendaten zu filtern. Zusätzlich zum Erfassen von Messwerten können Sie Regeln für die Labelerstellung konfigurieren, um Messwerte an ein anderes Projekt weiterzuleiten, benutzerdefinierte Schlüssel/Wert-Labels hinzuzufügen oder Messwerte vor der Aufnahme umzubenennen.
Jede eindeutige Kombination von Schlüssel/Wert-Labelpaaren erstellt eine neue Zeitreihe, was den Datenspeicherbedarf erheblich erhöhen kann. Vermeiden Sie die Verwendung von Labels für Dimensionen mit hoher Kardinalität und vielen möglichen Werten, z. B. Nutzer-IDs oder E-Mail-Adressen. Weitere Informationen zum Relabeling von Messwerten finden Sie unter Funktionsweise des Relabelings in Prometheus.
Hinweis
Zum Verwalten von benutzerdefinierten MonitoringTarget-Ressourcen benötigen Sie die erforderlichen Berechtigungen.
IAM-Organisationsrollen anfordern
Wenden Sie sich an Ihren IAM-Organisationsadministrator, um die folgenden Rollen anzufordern:
- MonitoringTarget PA Creator (
monitoringtarget-pa-creator): Erstellt benutzerdefinierteMonitoringTarget-Ressourcen. - MonitoringTarget PA Editor (
monitoringtarget-pa-editor): Bearbeiten oder ändern Sie benutzerdefinierteMonitoringTarget-Ressourcen. - MonitoringTarget PA Viewer (
monitoringtarget-pa-viewer~): viewMonitoringTarget`-benutzerdefinierte Ressourcen.
IAM-Projektrollen anfordern
Wenden Sie sich an Ihren IAM-Projektadministrator, um die folgenden Rollen anzufordern:
- MonitoringTarget-Bearbeiter (
monitoringtarget-editor): Bearbeiten oder ändern Sie benutzerdefinierteMonitoringTarget-Ressourcen im Projekt-Namespace. - MonitoringTarget Viewer (
monitoringtarget-viewer): BenutzerdefinierteMonitoringTarget-Ressourcen im Projekt-Namespace ansehen.
Messwerte an ein anderes Projekt senden
Containerautoren können bestimmte Messwerte so programmieren, 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 als Wert 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 als Ziellabel im Feld metricsRelabelings fest, wobei der neue Projektname als Ersatzwert dient.
Im folgenden Codebeispiel wird gezeigt, wie Sie das Ziellabel _gdch_project in der benutzerdefinierten Ressource MonitoringTarget festlegen, um Messwerte an das Projekt mit dem Namen 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 derMonitoringTarget-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 die extrahierten Container nicht von Anfang an bereitstellen. Legen Sie in der benutzerdefinierten Ressource MonitoringTarget das neue Label als Ziel fest und geben Sie einen Ersatzwert an. Dieses Schlüssel/Wert-Paar wird allen Messwerten hinzugefügt, die von der Ressource erfasst werden.
Im folgenden Codebeispiel wird gezeigt, 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 derMonitoringTarget-Definitionsdatei.
Messwert umbenennen
Sie können den 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.
Im folgenden Codebeispiel wird gezeigt, wie Sie den Messwertnamen cpu_usage (Regex) in der benutzerdefinierten Ressource MonitoringTarget 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 derMonitoringTarget-Definitionsdatei.