Monitorare un cluster Google Cloud Managed Service per Apache Kafka

Puoi utilizzare la console Google Cloud o l'API Cloud Monitoring per monitorare Managed Service per Apache Kafka.

Questa sezione fornisce una panoramica delle metriche di monitoraggio disponibili per monitorare Managed Service per Apache Kafka. Questo documento mostra anche come monitorare l'utilizzo di Managed Service per Apache Kafka nella console Google Cloud utilizzando Monitoring.

  • Se vuoi visualizzare le metriche di altre risorse Google Cloud oltre al set completo di metriche di Managed Service per Apache Kafka, utilizza Monitoring.

  • In caso contrario, puoi utilizzare le dashboard di monitoraggio con una selezione di metriche fornite in Managed Service per Apache Kafka. Per ulteriori informazioni, consulta i seguenti argomenti:

Panoramica delle metriche di Managed Service per Apache Kafka

Managed Service per Apache Kafka esporta diverse metriche disponibili nella distribuzione Kafka open source, nonché metriche specifiche del servizio come il ritardo dell'offset del gruppo di consumer. Per il monitoraggio, il servizio Managed Service per Apache Kafka è identificato dall'URL del servizio managedkafka.googleapis.com.

Le metriche di Managed Service per Apache Kafka sono organizzate in quattro categorie di risorse:

  • Cluster: queste metriche sono destinate al mantenimento dello stato generale del cluster.

  • Argomento: queste metriche includono tariffe ed errori di editori e consumatori. Queste metriche monitorano lo stato generale delle applicazioni Kafka e i problemi specifici di un broker.

  • Partizione dell'argomento: queste metriche sono destinate al monitoraggio e al debug dei problemi di prestazioni specifici delle singole partizioni. Un esempio è la distribuzione non uniforme delle chiavi.

  • Gruppo di consumatori di partizioni di argomenti: queste metriche monitorano l'integrità dell'applicazione consumer, principalmente il ritardo del consumer. Le metriche di errore Kafka open source per i gruppi di consumer non sono disponibili per partizione, ma solo a livello di argomento.

Alcune metriche possono essere raggruppate per broker. Sebbene il servizio Managed Service per Apache Kafka non esponga i broker come risorsa, il loro monitoraggio è essenziale per rilevare scenari di errore come la latenza dovuta a broker sovraccarichi.

Le metriche vengono denominate seguendo la convenzione che include l'URL dell'API del servizio, la risorsa monitorata e la metrica. Ad esempio, l'identificatore della metrica dell'argomento message_in_count è managedkafka.googleapis.com/Topic/message_in_count.

Per accedere a queste metriche, vedi Visualizzare una singola metrica di Managed Service per Apache Kafka.

Prima di iniziare

Prima di utilizzare Monitoring, assicurati di aver preparato un progetto Managed Service per Apache Kafka con la fatturazione abilitata. Un modo per farlo è completare la guida rapida per Managed Service per Apache Kafka.

Ruoli e autorizzazioni richiesti

Per ottenere le autorizzazioni necessarie per visualizzare i grafici di monitoraggio, chiedi all'amministratore di concederti il ruolo IAM Managed Kafka Viewer (roles/managedkafka.Viewer) sul progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Per saperne di più su questo ruolo, consulta Ruoli predefiniti di Managed Service per Apache Kafka.

Visualizzare una singola metrica di Managed Service per Apache Kafka

Per visualizzare una singola metrica di Managed Service per Apache Kafka utilizzando la console Google Cloud , segui questi passaggi:

  1. Nella console Google Cloud , vai alla pagina Monitoring.

    Vai a Monitoring

  2. Nel riquadro di navigazione, seleziona Esplora metriche.

  3. Nella sezione Configurazione, fai clic su Seleziona una metrica.

  4. Nel filtro, inserisci Apache Kafka.

  5. In Risorse attive, seleziona una delle seguenti opzioni:

    • Cluster Apache Kafka

    • Argomento Apache Kafka

    • Partizione dell'argomento Apache Kafka

    • Gruppo di consumer di partizioni di argomenti Apache Kafka

  6. Seleziona una metrica e fai clic su Applica.

    Si apre la pagina di una metrica specifica.

Per saperne di più sulla dashboard di monitoraggio, consulta la documentazione di Cloud Monitoring.

Metriche del cluster

Metrica Descrizione Nome MBean equivalente
cpu/core_usage_time Utilizzo cumulativo della CPU del cluster in vCPU. Questi dati possono essere utili per comprendere il costo complessivo dell'operazione per il cluster. N/D
cpu/limit Numero attuale di CPU configurate per il cluster. Può essere utilizzato per monitorare l'utilizzo della CPU come rapporto con la metrica cpu/usage. N/D
memoria/utilizzo Utilizzo attuale della RAM sul cluster. Può essere utilizzata per monitorare l'utilizzo della RAM come rapporto con la metrica memory/limit. N/D
memoria/limite Dimensione RAM configurata attuale del cluster. Può essere utilizzata per monitorare l'utilizzo della RAM come rapporto con la metrica memory/usage. N/D
cluster_byte_in_count Il numero totale di byte inviati dai client a tutti gli argomenti. kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec
cluster_byte_out_count Il numero totale di byte inviati ai client da tutti gli argomenti. kafka.server:type=BrokerTopicMetrics,name=BytesOutPerSec
cluster_message_in_count Il numero totale di messaggi pubblicati in tutti gli argomenti. kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec
request_count Il numero totale di richieste effettuate al broker kafka.network:type=RequestMetrics,name=RequestsPerSec,request= {Produce|FetchConsumer|FetchFollower},version=([0-9]+)
request_byte_count Le dimensioni totali, in byte, delle richieste effettuate al cluster. kafka.network:type=RequestMetrics,name=RequestBytes,request= ([-.\w]+)
partizioni Il numero attuale di partizioni gestite da questo cluster, suddivise per broker. kafka.server:type=ReplicaManager,name=PartitionCount
request_latencies Il numero di millisecondi impiegati per ogni richiesta, a vari percentili kafka.network:type=RequestMetrics,name=TotalTimeMs,request= {Produce|FetchConsumer|FetchFollower}
consumer_groups Il numero attuale di gruppi di consumatori che utilizzano il broker kafka.server:type=GroupMetadataManager,name=NumGroups
offline_partitions Il numero di partizioni di argomenti offline osservate dal controller. kafka.controller:type=KafkaController,name=OfflinePartitionCount

Metriche degli argomenti

Metrica Descrizione Nome MBean equivalente
message_in_count Il numero totale di messaggi pubblicati nell'argomento. kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec, topic=([-.\w]+)
byte_in_count Il numero totale di byte inviati dai client all'argomento. kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec,topic=([-.\w]+)
topic_request_count Il numero totale di richieste di produzione e recupero effettuate all'argomento. kafka.server:type=BrokerTopicMetrics,name=TotalProduceRequestsPerSec,topic=([-.\w]+)
kafka.server:type=BrokerTopicMetrics,name=TotalFetchRequestsPerSec,topic=([-.\w]+)
topic_error_count Il numero totale di richieste di produzione non riuscite e di recupero non riuscite effettuate all'argomento. kafka.server:type=BrokerTopicMetrics,name=FailedProduceRequestsPerSec,topic=([-.\w]+)
kafka.server:type=BrokerTopicMetrics,name=FailedFetchRequestsPerSec,topic=([-.\w]+)
byte_out_count Il numero totale di byte inviati ai client. kafka.server:type=BrokerTopicMetrics,name=BytesOutPerSec, topic=([-.\w]+)

Metriche di partizione

Metrica Descrizione Nome MBean equivalente
consumer_lag Ritardo della replica nei messaggi tra il leader e ogni replica follower. kafka.server:type=FetcherLagMetrics,name=ConsumerLag,clientId=([-.\w]+),topic=([-.\w]+),partition=([0-9]+)
log_segments Il numero attuale di segmenti di log. Ciò è utile per assicurarsi che il tiering dell'archiviazione rimanga integro. kafka.log:type=Log,name=NumLogSegments,topic=([-.\w]+),partition=([0-9]+)
first_offset Il primo offset per ogni partizione nell'argomento. In combinazione con last_offset, può essere utilizzato per monitorare un limite superiore al numero totale di messaggi archiviati, nonché per trovare l'offset effettivo del messaggio meno recente. kafka.log:type=Log,name=LogStartOffset,topic=([-.\w]+),partition=([0-9]+)
last_offset L'ultimo offset nella partizione. Può essere utilizzato per trovare l'offset più recente per ogni partizione nel tempo. Questo può essere utile per identificare l'offset specifico necessario per rielaborare i dati a partire da un determinato momento del passato. kafka.log:type=Log,name=LogEndOffset,topic=([-.\w]+),partition=([0-9]+)
byte_size Le dimensioni della partizione sul disco in byte. -

Metriche dei gruppi di consumer

Metrica Descrizione Nome MBean equivalente
Offset_lag La differenza tra l'ultimo offset e l'ultimo offset di commit per il gruppo di consumatori per ogni partizione. Questa metrica stima il numero di messaggi prodotti che il consumer non ha ancora elaborato correttamente. N/D

Passaggi successivi