Auf dieser Seite wird gezeigt, wie Sie Benachrichtigungsrichtlinien für Anthos-Cluster auf Bare-Metal-Clustern erstellen.
Hinweis
Sie benötigen die folgenden Berechtigungen, um Benachrichtigungsrichtlinien zu erstellen:
monitoring.alertPolicies.create
monitoring.alertPolicies.delete
monitoring.alertPolicies.update
Sie haben diese Berechtigungen, wenn Sie eine der folgenden Rollen haben:
monitoring.alertPolicyEditor
monitoring.editor
- Projektbearbeiter
- Projektinhaber
Rufen Sie die IAM-Seite in der Google Cloud Console auf, um Ihre Rollen zu prüfen.
Richtlinie erstellen: API-Server für Cluster ausgefallen
In dieser Übung erstellen Sie eine Benachrichtigungsrichtlinie für Kubernetes API-Server von Clustern. Mit dieser Richtlinie können Sie festlegen, dass Sie benachrichtigt werden, wenn der API-Server eines Clusters ausfällt.
Laden Sie die Richtlinienkonfigurationsdatei herunter: apiserver-down.json.
Erstellen Sie die Richtlinie:
gcloud alpha monitoring policies create --policy-from-file=POLICY_CONFIG
Ersetzen Sie POLICY_CONFIG durch den Pfad der soeben heruntergeladenen Konfigurationsdatei.
Rufen Sie die Benachrichtigungsrichtlinien auf:
Console
Rufen Sie in der Google Cloud Console die Seite Monitoring auf.
Wählen Sie links Benachrichtigungen aus.
Unter Richtlinien finden Sie eine Liste Ihrer Benachrichtigungsrichtlinien.
Wählen Sie aus der Liste Anthos auf Bare-Metal-API-Server ausgefallen (kritisch) aus, um Details zu Ihrer neuen Richtlinie aufzurufen. Unter Bedingungen finden Sie eine Beschreibung der Richtlinie. Beispiel:
Policy violates when ANY condition is met Anthos on baremetal API server is up
gcloud
gcloud alpha monitoring policies list
Die Ausgabe enthält detaillierte Informationen zur Richtlinie. Beispiel:
--- combiner: OR conditions: - conditionMonitoringQueryLanguage: duration: 0s query: |- { t_0: fetch k8s_container | metric 'kubernetes.io/anthos/up' | filter (resource.container_name =~ 'kube-apiserver') | align mean_aligner() | group_by 1m, [value_up_mean: mean(value.up)] | every 1m | group_by [resource.project_id, resource.location, resource.cluster_name], [value_up_mean_aggregate: aggregate(value_up_mean)] ; t_1: fetch k8s_container::kubernetes.io/anthos/anthos_cluster_info | filter (metric.anthos_distribution = 'baremetal') | align mean_aligner() | group_by [resource.project_id, resource.location, resource.cluster_name], [value_anthos_cluster_info_aggregate: aggregate(value.anthos_cluster_info)] | every 1m } | join | value [t_0.value_up_mean_aggregate] | window 1m | absent_for 300s trigger: count: 1 displayName: Anthos on baremetal API server is up name: projects/xxxxxx/alertPolicies/8497323605386949154/conditions/8497323605386950375 creationRecord: mutateTime: '2021-03-17T23:07:18.618778106Z' mutatedBy: sharon@example.com displayName: Anthos on baremetal API server down (critical) enabled: true mutationRecord: mutateTime: '2021-03-17T23:07:18.618778106Z' mutatedBy: sharon@example.com name: projects/xxxxxx/alertPolicies/8497323605386949154
Zusätzliche Benachrichtigungsrichtlinien erstellen
Dieser Abschnitt enthält Beschreibungen und Konfigurationsdateien für eine Reihe empfohlener Benachrichtigungsrichtlinien.
Führen Sie die gleichen Schritte aus, die Sie in der vorherigen Anleitung verwendet haben, um eine Richtlinie zu erstellen:
Klicken Sie auf den Link in der rechten Spalte, um die Konfigurationsdatei herunterzuladen.
Führen Sie
gcloud alpha monitoring policies create
aus, um die Richtlinie zu erstellen.
Verfügbarkeit von Komponenten der Steuerungsebene
Name der Benachrichtigung | Beschreibung | Benachrichtigungsrichtlinie in Cloud Monitoring definieren |
---|---|---|
Anthos auf Bare-Metal-API-Server ausgefallen (kritisch) | Der API-Server ist nicht mehr für die Messwerterkennung verfügbar | apiserver-down.json |
Planer für Anthos auf Bare-Metal ausgefallen (kritisch) | Der Planer ist nicht mehr in der Messwertzielerkennung verfügbar | scheduler-down.json |
Controller-Manager von Anthos auf Bare-Metal ausgefallen (kritisch) | Der Controller-Manager ist nicht mehr für die Messwerterkennung verfügbar | controller-manager-down.json |
Kubernetes-System
Name der Benachrichtigung | Beschreibung | Benachrichtigungsrichtlinie in Cloud Monitoring definieren |
---|---|---|
Pod-Absturzschleife in Anthos auf Bare-Metal (kritisch) | Pod befindet sich in einer Absturzschleife | pod-crash-looping.json |
Pod in Anthos auf Bare-Metal ist seit mehr als einer Stunde nicht einsatzbereit (kritisch) | Pod ist seit mehr als einer Stunde nicht einsatzbereit | pod-not-ready-1h.json |
Hohe Auslastung von nichtflüchtigen Volumes in Anthos auf Bare-Metal (kritisch) | Es wird erwartet, dass das beanspruchte nichtflüchtige Volume voll sein wird | persistent-volume-usage-high.json |
Anthos auf Bare-Metal-Knoten ist seit mehr als einer Stunde nicht einsatzbereit (kritisch) | Knoten ist seit mehr als einer Stunde nicht einsatzbereit | node-not-ready-1h.json |
Die CPU-Auslastung des Anthos auf Bare-Metal-Knotens überschreitet 80 % (kritisch) | CPU-Auslastung des Knotens liegt bei über 80 % | node-cpu-usage-high.json |
Die Speicherauslastung des Anthos auf Bare-Metal-Knotens überschreitet 80 % (kritisch) | Speicherauslastung des Knotens liegt bei über 80 % | node-memory-usage-high.json |
Die Laufwerknutzung des Anthos auf Bare-Metal-Knotens überschreitet 80 % (kritisch) | Laufwerknutzung des Knotens liegt bei über 80 % | node-disk-usage-high.json |
Kubernetes-Leistung
Name der Benachrichtigung | Beschreibung | Benachrichtigungsrichtlinie in Cloud Monitoring definieren |
---|---|---|
Fehlerrate des Anthos auf Bare-Metal-API-Servers überschreitet 10 % (kritisch) | Der API-Server gibt bei mehr als 10 % der Anfragen Fehler zurück | api-server-error-ratio-10-percent.json |
Fehlerrate des Anthos auf Bare-Metal-API-Servers überschreitet 5 % (Warnung) | Der API-Server gibt bei mehr als 5 % der Anfragen Fehler zurück | api-server-error-ratio-5-percent.json |
Anthos auf Bare-Metal-etcd-Leader ändert sich zu häufig (kritisch) | Der etcd -Leader ändert sich zu häufig |
etcd-leader-changes-too-frequent.json |
Anthos auf Bare-Metal-etcd-Angebote zu häufig fehlgeschlagen (kritisch) | Die etcd -Angebote schlagen zu häufig fehl |
etcd-proposals-failed-too-frequent.json |
etcd-Server von Anthos auf Bare-Metal ist nicht im Quorum (kritisch) | Der etcd -Server ist nicht im Quorum |
etcd-server-not-in-quorum.json |
Benachrichtigungen erhalten
Nachdem Sie eine Benachrichtigungsrichtlinie erstellt haben, können Sie einen oder mehrere Benachrichtigungskanäle für die Richtlinie definieren. Es gibt verschiedene Arten von Benachrichtigungskanälen. Beispielsweise können Sie sich per E-Mail, mit einem Slack-Kanal oder mit einer mobilen App benachrichtigen lassen. Sie können die Kanäle auswählen, die Ihren Anforderungen entsprechen.
Eine Anleitung zum Konfigurieren von Benachrichtigungskanälen finden Sie unter Benachrichtigungskanäle verwalten.