Diese Seite richtet sich an Plattformadministratoren.
Auf dem Administratorcluster wird ein Alertmanager installiert, um Benachrichtigungen zu erfassen und zuzustellen. Weitere Informationen finden Sie unter Vordefinierte Benachrichtigungsrichtlinien.
Benachrichtigungskanäle konfigurieren
Erstellen Sie eine ConfigMap mit Alertmanager-Konfigurationen im Namespace
kube-system
mit dem Labellogmon: system_metrics
. Für die Alertmanager-Konfiguration gilt die Syntax der Alertmanager-Konfigurationsregeln und sie sollte unter dem Felddata
zualertmanager.yml
hinzugefügt werden. Weitere Informationen finden Sie in den Beispielkonfigurationsdateien.Legen Sie die Benachrichtigungsmanager-Konfiguration fest, um die Benachrichtigungskanäle in der Benachrichtigungsmanager-Konfiguration zu definieren.
(Optional) Wenn Sie Slack-Webhooks verwenden möchten, finden Sie unter Slack-Webhooks Informationen zum Aktivieren eines Webhooks.
apiVersion: v1 kind: ConfigMap metadata: # The name should match the configmap name specified in step 3. name: CUSTOMIZED_ALERTMANAGER_CONFIGMAP_NAME # Don't change the namespace namespace: kube-system labels: # This label is required. logmon: system_metrics data: # The file name must be alertmanager.yml alertmanager.yml: | # Add the customized alertmanager configuration here
Ersetzen Sie CUSTOMIZED_ALERTMANAGER_CONFIGMAP_NAME durch den Namen Ihrer Konfigurationsdatei.
Führen Sie den folgenden Befehl aus, um Ihre benutzerdefinierte
LogMon
-Ressource in einem Befehlszeileneditor zu öffnen:kubectl --kubeconfig=ADMIN_OIDC_KUBECONFIG -n kube-system edit logmon logmon-default
Fügen Sie in der benutzerdefinierten
LogMon
-Ressource das FeldalertmanagerConfigurationConfigmaps
unter dem Feldspec/system_metrics/outputs/default_prometheus/deployment/alertmanager
hinzu.apiVersion: addons.gke.io/v1alpha1 kind: Logmon metadata: # Don't change the name name: logmon-default # Don't change the namespace namespace: kube-system spec: system_metrics: outputs: default_prometheus: deployment: components: alertmanager: alertmanagerConfigurationConfigmaps: # The name should match the configmap name created in step 1. - "CUSTOMIZED_ALERTMANAGER_CONFIGMAP_NAME"
Um die Änderungen an der benutzerdefinierten
LogMon
-Ressource zu speichern, speichern Sie im Befehlszeileneditor und beenden Sie ihn.
[Optional] Benachrichtigungsrichtlinien anpassen
Erstellen Sie eine ConfigMap mit Prometheus-Regeln im Namespace
kube-system
mitlogmon: system_metrics label
. Für die Definition der Prometheus-Regeln gilt die Syntax der Prometheus-Benachrichtigungsregeln und der Prometheus-Aufzeichnungsregeln. Sie können in die ConfigMap mehrere Prometheus-Regeldateien aufnehmen. Weitere Informationen finden Sie in den Beispielkonfigurationsdateien.apiVersion: v1 kind: ConfigMap metadata: # The name should match the configmap name specified in step 3. name: <customized-prometheus-rules-configmap-name> # Don't change the namespace namespace: kube-system labels: # This label is required. logmon: system_metrics data: # The file name must be unique across all customized prometheus rule files. <a-unique-file-name>: | # Add customized recording rules here … # The file name must be unique across all customized prometheus rule files. <a-unique-file-name>: | # Add customized alerting rules here …
Führen Sie den folgenden Befehl aus, um Ihre benutzerdefinierte
LogMon
-Ressource in einem Befehlszeileneditor zu öffnen:kubectl --kubeconfig=ADMIN_OIDC_KUBECONFIG -n kube-system edit logmon logmon-default
Fügen Sie in der benutzerdefinierten
LogMon
-Ressource das FeldprometheusRulesConfigmaps
unter dem Feldspec/system_metrics/outputs/default_prometheus/deployment/prometheus
hinzu.apiVersion: addons.gke.io/v1alpha1 kind: Logmon metadata: # Don't change the name name: logmon-default # Don't change the namespace namespace: kube-system spec: system_metrics: outputs: default_prometheus: deployment: components: prometheus: prometheusRulesConfigmaps: # The name should match the configmap name created in step 1. - "<customized-prometheus-rules-configmap-name>"
Um die Änderungen an der benutzerdefinierten
LogMon
-Ressource zu speichern, speichern Sie im Befehlszeileneditor und beenden Sie ihn.
Benachrichtigungs-Dashboard
In Monitoring-Dashboards ist ein Dashboard für Benachrichtigungen verfügbar:
Alertmanager
Mit Alertmanager können Sie Benachrichtigungen von Clientanwendungen überwachen.
Sie können Benachrichtigungen mit Alertmanager prüfen und stummschalten:
Klicken Sie zum Aufrufen der Alertmanager-Oberfläche in Management Center auf dem Tab Monitoring auf die Schaltfläche Benachrichtigungen.
Vordefinierte Benachrichtigungsrichtlinien
Hier sind die vorinstallierten Benachrichtigungsregeln in prometheus aufgeführt:
Name | Beschreibung |
---|---|
KubeAPIDown (kritisch) | KubeAPI ist seit 15 Minuten nicht mehr in der Prometheus-Zielerkennung enthalten. |
KubeClientErrors (Warnung) | Fehlerrate der Kubernetes API-Serverfehler > 0,01 für 15 Minuten |
KubeClientErrors (kritisch) | Fehlerrate der Kubernetes API-Serverfehler > 0,1 für 15 Minuten |
KubePodCrashLooping (Warnung) | Der Pod befindet sich seit mehr als 15 Minuten im Absturzstatus. |
KubePodNotReady (Warnung) | Der Pod ist länger als 15 Minuten nicht im Status "Nicht bereit". |
KubePersistentVolumeFillingUp (kritisch) | Kostenlose Byte eines beanspruchten PersistentVolumes < 0,03. |
Kube PersistentVolumeFillingUp (Warnung) | Kostenlose Byte eines beanspruchten PersistentVolumes = 0,15 |
KubePersistentVolumeErrors (kritisch) | Das nichtflüchtige Volume ist fünf Minuten lang in der Phase "Fehlgeschlagen" oder "Ausstehend". |
KubeNodeNotReady (Warnung) | Knoten ist seit mehr als 15 Minuten nicht mehr ungelesen. |
KubeNodeCPUUsageHigh (kritisch) | Die CPU-Auslastung beträgt > 80 %. |
KubeNodeMemoryUsageHigh (kritisch) | Die Speichernutzung des Knotens beträgt > 80 %. |
NodeFilesystemSpaceFillingUp (Warnung) | Die Nutzung des Knotendateisystems beträgt über 60 %. |
NodeFilesystemSpaceFillingUp (kritisch) | Die Nutzung des Dateisystem-Dateisystems beträgt mehr als 85 %. |
CertManagerCertExpirySoon (Warnung) | Ein Zertifikat läuft in 21 Tagen ab. |
CertManagerCertNotReady (kritisch) | Ein Zertifikat kann noch nicht für die Bereitstellung von Traffic nach 10 Minuten verwendet werden. |
CertManagerHittingRateLimits (kritisch) | Eine Ratenbegrenzung wurde erreicht, nachdem fünf Minuten lang Zertifikate erstellt/verlängert wurden. |
DeploymentNotReady (kritisch). | Ein Deployment im Administratorcluster ist seit mehr als 15 Minuten nicht bereit. |