Fehlerbehebung für GKE-Dashboard

Wenn die Option GKE im Menü Ressource nicht verfügbar ist, haben Sie möglicherweise keine GKE-Cluster, die Cloud Operations for GKE verwenden. Wenn GKE-Cluster nicht aufgeführt ist, haben Sie möglicherweise auch keine GKE-Cluster, die Legacy-Logging und -Monitoring verwenden.

Warum werden in meinem Dashboard keine Kubernetes-Ressourcen angezeigt?

Wenn in Ihrem Cloud Operations for GKE-Dashboard keine Kubernetes-Ressourcen angezeigt werden, prüfen Sie Folgendes:

Ist das richtige Google Cloud-Projekt oben auf der Seite ausgewählt?

Falls nicht, verwenden Sie die Drop-down-Liste in der Menüleiste, um ein Projekt auszuwählen. Sie müssen das Projekt auswählen, dessen Daten Sie sehen möchten.

Sind für das Projekt Aktivitäten vorhanden?

Wenn Sie Ihren Cluster gerade erst erstellt haben, warten Sie ein paar Minuten, bis er mit Daten gefüllt ist. Weitere Informationen finden Sie unter Unterstützung für Monitoring und Logging installieren.

Ist der Zeitraum zu kurz?

Sie können das Menü Zeit in der Dashboard-Symbolleiste verwenden, um andere Zeiträume auszuwählen oder einen Bereich Benutzerdefiniert zu definieren.

Haben Sie die richtigen Berechtigungen, um das Dashboard anzuzeigen?

Wenn beim Aufrufen der Bereitstellungsdetails eines Dienstes oder der Messwerte eines Google Cloud-Projekts eine der folgenden Fehlermeldungen wegen einer fehlenden Berechtigung angezeigt wird, müssen Sie die IAM-Rolle in roles/monitoring.viewer oder roles/viewer ändern:

  • You do not have sufficient permissions to view this page
  • You don't have permissions to perform the action on the selected resources

Weitere Informationen finden Sie unter Vordefinierte Rollen.

Hat das Dienstkonto für Ihre Cluster und Knoten die Berechtigung, Daten in Monitoring und Logging zu schreiben?

Wenn in Ihrem API-Dashboard hohe Fehlerquoten angezeigt werden, fehlen Ihrem Dienstkonto möglicherweise die folgenden Rollen:

  • roles/logging.logWriter: In der Google Cloud Console heißt diese Rolle Log-Autor. Weitere Informationen zu den Logging-Rollen finden Sie in der Anleitung für die Zugriffssteuerung in Logging.

  • roles/monitoring.metricWriter: In der Google Cloud Console heißt diese Rolle Monitoring-Messwert-Autor. Weitere Informationen zu den Monitoring-Rollen finden Sie im Leitfaden für die Zugriffssteuerung in Monitoring.

  • roles/stackdriver.resourceMetadata.writer: In der Google Cloud Console heißt diese Rolle Stackdriver Resource Metadata Writer. Diese Rolle ermöglicht schreibgeschützten Zugriff auf Ressourcenmetadaten und bietet genau die Berechtigungen, die von den Agents zum Senden von Metadaten benötigt werden. Weitere Informationen zu den Monitoring-Rollen finden Sie im Leitfaden für die Zugriffssteuerung in Monitoring.

Warum werden nicht alle meine Logs angezeigt?

Ist der Agent überlastet und löscht Logs?

Wenn nicht alle Ihre Logs angezeigt werden, ist der Agent möglicherweise durch das Logvolumen des Knotens überlastet. Die Standardkonfiguration des Logging-Agents in GKE ist auf die Rate von 100 KiB/s pro Knoten abgestimmt. Der Agent beginnt unter Umständen, Logs zu verwerfen, wenn das Volumen dieses Limit überschreitet.

Suchen Sie nach einem der folgenden Indikatoren, um festzustellen, ob Sie dieses Limit erreichen:

  • Sehen Sie sich den Messwert kubernetes.io/container/cpu/core_usage_time mit dem Filter container_name=fluentd-gcp an, um festzustellen, ob die CPU-Auslastung des Logging-Agents fast oder bei 100 % liegt.

  • Rufen Sie den Messwert logging.googleapis.com/byte_count gruppiert nach metadata.system_labels.node_name auf, um zu prüfen, ob ein Knoten 100 KiB/s erreicht.

Wenn Sie eine dieser Bedingungen sehen, können Sie das Logvolumen der Knoten reduzieren, indem Sie dem Cluster weitere Knoten hinzufügen. Wenn das gesamte Logvolumen von einem einzelnen Pod stammt, müssen Sie das Volumen von diesem Pod reduzieren.

Wenn Sie die Parameter für die Abstimmung des Logging-Agents ändern möchten, lesen Sie den Leitfaden Cloud Logging-Logs für GKE mit Fluentd anpassen, um eine benutzerdefinierte Logging-Agent-Konfiguration bereitzustellen.

Warum wurde mein Vorfall keiner GKE-Ressource zugeordnet?

Wenn Sie für eine Benachrichtigungsrichtlinie eine Bedingung haben, mit der Messwerte für verschiedene GKE-Ressourcen zusammengefasst werden, müssen Sie die Bedingung der Richtlinie möglicherweise ändern, damit weitere GKE-Hierarchielabels hinzugefügt werden können, um Vorfälle bestimmten Entitäten zuzuordnen.

Sie haben beispielsweise zwei GKE-Cluster, einen für die Produktion und einen für das Staging, und jeder hat eine eigene Kopie des Dienstes lilbuddy-2. Wenn die Bedingung der Benachrichtigungsrichtlinie einen Messwert für mehrere Container in beiden Clustern zusammen erfasst, kann dieser Vorfall im GKE Monitoring-Dashboard nicht eindeutig dem Produktionsdienst oder dem Staging-Dienst zugeordnet werden.

Um dieses Problem zu lösen, muss die Benachrichtigungsrichtlinie auf einen bestimmten Dienst ausgerichtet sein. Fügen Sie im Feld Gruppieren nach der Richtlinie namespace, cluster und location hinzu. Klicken Sie in der Ereigniskarte für die Benachrichtigung auf den Link Benachrichtigungsrichtlinie aktualisieren, um die Seite Benachrichtigungsrichtlinie bearbeiten für die entsprechende Benachrichtigungsrichtlinie zu öffnen. Von hier aus können Sie die Benachrichtigungsrichtlinie mit den zusätzlichen Informationen aktualisieren, sodass das Dashboard die zugehörige Ressource finden kann.

Sobald Sie die Benachrichtigungsrichtlinie aktualisiert haben, kann das GKE Monitoring-Dashboard alle zukünftigen Vorfälle einem eindeutigen Dienst in einem bestimmten Cluster zuordnen. Dadurch erhalten Sie zusätzliche Informationen zur Problemdiagnose.

Je nach Anwendungsfall sollten Sie einige dieser Labels nicht nur dem Feld Gruppieren nach hinzufügen, sondern auch danach filtern. Wenn Sie beispielsweise nur Benachrichtigungen für Ihren Produktionscluster erhalten möchten, können Sie nach cluster_name filtern.