Google Cloud Managed Service for Apache Kafka-Cluster überwachen

Sie können die Google Cloud Console oder die Cloud Monitoring API verwenden, um Managed Service for Apache Kafka zu überwachen.

In diesem Abschnitt finden Sie eine Übersicht über die Monitoring-Messwerte, die für die Überwachung von Managed Service for Apache Kafka verfügbar sind. In diesem Dokument wird auch beschrieben, wie Sie die Nutzung von Managed Service for Apache Kafka in der Google Cloud -Konsole mit Monitoring überwachen.

  • Wenn Sie neben dem vollständigen Satz von Messwerten für Managed Service for Apache Kafka auch Messwerte aus anderen Google Cloud Ressourcen ansehen möchten, verwenden Sie Monitoring.

  • Andernfalls können Sie die Monitoring-Dashboards mit einer Auswahl von Messwerten verwenden, die in Managed Service for Apache Kafka bereitgestellt werden. Weitere Informationen finden Sie in folgenden Themen:

Übersicht über die Messwerte für Managed Service for Apache Kafka

Managed Service for Apache Kafka exportiert mehrere Messwerte, die in der Open-Source-Kafka-Distribution verfügbar sind, sowie dienstspezifische Messwerte wie den Offset-Lag der Consumer-Gruppe. Für die Überwachung wird der Managed Service for Apache Kafka-Dienst durch die Dienst-URL managedkafka.googleapis.com identifiziert.

Messwerte für Managed Service for Apache Kafka sind in vier Ressourcenkategorien unterteilt:

  • Cluster: Diese Messwerte sind für die Aufrechterhaltung des allgemeinen Clusterzustands vorgesehen.

  • Thema: Diese Messwerte umfassen Raten und Fehler für Publisher und Verbraucher. Mit diesen Messwerten wird der allgemeine Zustand von Kafka-Anwendungen und Probleme, die für einen Broker spezifisch sind, überwacht.

  • Themenpartition: Diese Messwerte sind für die Überwachung und Fehlerbehebung von Leistungsproblemen vorgesehen, die sich auf einzelne Partitionen beziehen. Ein Beispiel ist eine ungleichmäßige Schlüsselverteilung.

  • Topic Partition Consumer Group: Mit diesen Messwerten wird der Zustand der Consumer-Anwendung überwacht, insbesondere die Consumer-Verzögerung. Open-Source-Kafka-Fehlermesswerte für Nutzergruppen sind nicht nach Partition, sondern nur auf Themenebene verfügbar.

Einige Messwerte können nach Broker gruppiert werden. Obwohl der Dienst „Managed Service for Apache Kafka“ selbst keine Broker als Ressource verfügbar macht, ist die Überwachung von Brokern unerlässlich, um Fehler wie Latenz aufgrund überlasteter Broker zu erkennen.

Die Messwerte werden nach der Konvention benannt, die die Service-API-URL, die überwachte Ressource und den Messwert umfasst. Die Messwert-ID für das Thema message_in_count ist beispielsweise managedkafka.googleapis.com/Topic/message_in_count.

Informationen zum Zugriff auf diese Messwerte finden Sie unter Einzelnen Messwert für Managed Service for Apache Kafka aufrufen.

Hinweise

Bevor Sie Monitoring verwenden, müssen Sie ein Managed Service for Apache Kafka-Projekt mit aktivierter Abrechnung vorbereiten. Eine Möglichkeit dazu ist, die Kurzanleitung für Managed Service for Apache Kafka durchzuarbeiten.

Erforderliche Rollen und Berechtigungen

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Managed Kafka Viewer (roles/managedkafka.Viewer) für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Aufrufen von Monitoring-Diagrammen benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Weitere Informationen zu dieser Rolle finden Sie unter Vordefinierte Rollen für Managed Service for Apache Kafka.

Einzelnen Messwert für Managed Service for Apache Kafka ansehen

So rufen Sie einen einzelnen Messwert für Managed Service for Apache Kafka über die Google Cloud Console auf:

  1. Rufen Sie in der Google Cloud Console die Seite Monitoring auf.

    Zu Monitoring

  2. Wählen Sie im Navigationsbereich Metrics Explorer aus.

  3. Klicken Sie im Bereich Konfiguration auf Messwert auswählen.

  4. Geben Sie im Filter Apache Kafka ein.

  5. Wählen Sie unter Aktive Ressourcen eine der folgenden Optionen aus:

    • Apache Kafka-Cluster

    • Apache Kafka-Thema

    • Apache Kafka-Themenpartition

    • Apache Kafka-Themenpartitions-Nutzergruppe

  6. Wählen Sie einen Messwert aus und klicken Sie auf Übernehmen.

    Die Seite für eine bestimmte Messwert wird geöffnet.

Weitere Informationen zum Monitoring-Dashboard finden Sie in der Cloud Monitoring-Dokumentation.

Clustermesswerte

Messwert Beschreibung Entsprechender MBean-Name
cpu/core_usage_time Kumulative CPU-Nutzung des Clusters in vCPU. Das kann hilfreich sein, um die Gesamtkosten für den Betrieb des Clusters zu ermitteln.
cpu/limit Aktuelle Anzahl der CPUs, die für den Cluster konfiguriert sind. Kann verwendet werden, um die CPU-Auslastung als Verhältnis mit dem Messwert cpu/usage zu überwachen.
memory/usage Aktuelle RAM-Nutzung im Cluster. Kann verwendet werden, um die RAM-Auslastung als Verhältnis mit dem Messwert memory/limit zu überwachen.
memory/limit Aktuell konfigurierte RAM-Größe des Clusters. Kann verwendet werden, um die RAM-Auslastung als Verhältnis mit dem Messwert memory/usage zu überwachen.
cluster_byte_in_count Die Gesamtzahl der Byte, die von Clients an alle Themen gesendet wurden. kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec
cluster_byte_out_count Die Gesamtzahl der Byte, die von allen Themen an Clients gesendet wurden. kafka.server:type=BrokerTopicMetrics,name=BytesOutPerSec
cluster_message_in_count Die Gesamtzahl der Nachrichten, die für alle Themen veröffentlicht wurden. kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec
request_count Die Gesamtzahl der Anfragen an den Vermittler kafka.network:type=RequestMetrics,name=RequestsPerSec,request= {Produce|FetchConsumer|FetchFollower},version=([0-9]+)
request_byte_count Die Gesamtgröße der Anfragen, die an den Cluster gesendet wurden, in Byte. kafka.network:type=RequestMetrics,name=RequestBytes,request= ([-.\w]+)
Partitionen Die aktuelle Anzahl der Partitionen, die von diesem Cluster verarbeitet werden, aufgeschlüsselt nach Broker. kafka.server:type=ReplicaManager,name=PartitionCount
request_latencies Die Anzahl der Millisekunden, die für jede Anfrage benötigt wurden, in verschiedenen Perzentilen kafka.network:type=RequestMetrics,name=TotalTimeMs,request= {Produce|FetchConsumer|FetchFollower}
consumer_groups Die aktuelle Anzahl der Consumer-Gruppen, die Daten vom Broker abrufen kafka.server:type=GroupMetadataManager,name=NumGroups
offline_partitions Die Anzahl der Offline-Themenpartitionen, die vom Controller beobachtet werden. kafka.controller:type=KafkaController,name=OfflinePartitionCount

Themenmesswerte

Messwert Beschreibung Entsprechender MBean-Name
message_in_count Die Gesamtzahl der für das Thema veröffentlichten Nachrichten. kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec, topic=([-.\w]+)
byte_in_count Die Gesamtzahl der Byte, die von Clients an das Thema gesendet wurden. kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec,topic=([-.\w]+)
topic_request_count Die Gesamtzahl der Anfragen zum Erstellen und Abrufen, die für das Thema gestellt wurden. kafka.server:type=BrokerTopicMetrics,name=TotalProduceRequestsPerSec,topic=([-.\w]+)
kafka.server:type=BrokerTopicMetrics,name=TotalFetchRequestsPerSec,topic=([-.\w]+)
topic_error_count Die Gesamtzahl der fehlgeschlagenen Produce- und Fetch-Anfragen für das Thema. kafka.server:type=BrokerTopicMetrics,name=FailedProduceRequestsPerSec,topic=([-.\w]+)
kafka.server:type=BrokerTopicMetrics,name=FailedFetchRequestsPerSec,topic=([-.\w]+)
byte_out_count Die Gesamtzahl der an Clients gesendeten Bytes. kafka.server:type=BrokerTopicMetrics,name=BytesOutPerSec, topic=([-.\w]+)

Messwerte für Partitionen

Messwert Beschreibung Entsprechender MBean-Name
consumer_lag Replikationsverzögerung in Nachrichten zwischen dem Leader und jedem Follower-Replikat. kafka.server:type=FetcherLagMetrics,name=ConsumerLag,clientId=([-.\w]+),topic=([-.\w]+),partition=([0-9]+)
log_segments Die aktuelle Anzahl der Logsegmente. Das ist nützlich, um sicherzustellen, dass die Speicherebenen weiterhin fehlerfrei funktionieren. kafka.log:type=Log,name=NumLogSegments,topic=([-.\w]+),partition=([0-9]+)
first_offset Der erste Offset für jede Partition im Thema. In Kombination mit last_offset kann damit eine Obergrenze für die Gesamtzahl der gespeicherten Nachrichten überwacht und der tatsächliche Offset der ältesten Nachricht ermittelt werden. kafka.log:type=Log,name=LogStartOffset,topic=([-.\w]+),partition=([0-9]+)
last_offset Der letzte Offset in der Partition. Damit lässt sich der jeweils aktuelle Offset für jede Partition im Zeitverlauf ermitteln. Das kann hilfreich sein, um den spezifischen Offset zu ermitteln, der erforderlich ist, um Daten ab einem bestimmten Zeitpunkt in der Vergangenheit neu zu verarbeiten. kafka.log:type=Log,name=LogEndOffset,topic=([-.\w]+),partition=([0-9]+)
byte_size Die Größe der Partition auf der Festplatte in Byte. -

Messwerte für Nutzergruppen

Messwert Beschreibung Entsprechender MBean-Name
Offset_lag Die Differenz zwischen dem letzten Offset und dem letzten committeten Offset für die Consumer-Gruppe für jede Partition. Dieser Messwert schätzt, wie viele erstellte Nachrichten der Consumer noch nicht erfolgreich verarbeitet hat.

Nächste Schritte