Monitorare un cluster Google Cloud Managed Service per Apache Kafka

Managed Service per Apache Kafka raccoglie metriche che puoi utilizzare per monitorare i cluster Kafka. Questa pagina descrive come visualizzare queste metriche nella Google Cloud console.

Puoi visualizzare le metriche nei seguenti modi:

  • La pagina Dettagli cluster include dashboard di monitoraggio per cluster, argomenti e gruppi di consumer. Queste dashboard contengono grafici predefiniti che ti consentono di visualizzare l'integrità e il rendimento complessivi del cluster.

  • Puoi utilizzare Esplora metriche per visualizzare tutte le metriche disponibili, creare grafici personalizzati o aggregare le metriche su più cluster.

Panoramica

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 sono organizzate in quattro categorie di risorse:

  • Cluster: queste metriche sono utili per mantenere l'integrità complessiva di un cluster.

  • Argomento: queste metriche includono le tariffe e gli errori di publisher e consumer. Monitorano l'integrità complessiva delle applicazioni Kafka e i problemi specifici di un broker.

  • Partizione argomento: queste metriche sono destinate al monitoraggio e al debug dei problemi di prestazioni specifici delle singole partizioni, come la distribuzione non uniforme delle chiavi.

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

Alcune metriche possono essere raggruppate in base all'indice del broker. In base all'indice del broker, puoi cercare la zona in cui viene eseguito il provisioning del broker. Per saperne di più, consulta Visualizzare i broker.

Prima di iniziare

  1. Accedi al tuo Google Cloud account. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Managed Kafka API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Managed Kafka API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

Ruoli e autorizzazioni richiesti

Per ottenere le autorizzazioni necessarie per visualizzare i grafici di monitoraggio, chiedi all'amministratore di concederti il ruolo IAM Visualizzatore Kafka gestito (roles/managedkafka.Viewer) nel tuo 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 le dashboard di monitoraggio

Per visualizzare le dashboard di monitoraggio per un cluster Managed Service per Apache Kafka:

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

    Vai a Cluster

  2. Fai clic sul nome del cluster.

  3. Per visualizzare le metriche del cluster, seleziona la scheda Monitoraggio.

  4. Per visualizzare le metriche di un argomento nel cluster:

    1. Seleziona la scheda Risorse.

    2. Nell'elenco Argomenti, fai clic sul nome dell'argomento.

    3. Nella pagina Dettagli argomento, seleziona la scheda Monitoraggio.

  5. Per visualizzare le metriche di un gruppo di consumer nel cluster:

    1. Seleziona la scheda Risorse.

    2. Nell'elenco Gruppi di consumer, fai clic sul nome del gruppo di consumer.

    3. Nella pagina Dettagli gruppo di consumer, seleziona la scheda Monitoraggio.

Per saperne di più, consulta Visualizzare un cluster Kafka.

Visualizzare le metriche in Metrics Explorer

Per visualizzare le metriche di Managed Service per Apache Kafka utilizzando Metrics Explorer:

  1. Nella Google Cloud console, vai alla pagina Esplora metriche.

    Vai a Esplora metriche

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

  3. Nel filtro, inserisci Apache Kafka.

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

    • Cluster Apache Kafka

    • Argomento Apache Kafka

    • Partizione argomento Apache Kafka

    • Gruppo di consumer di partizioni di argomenti Apache Kafka

  5. Seleziona una metrica e fai clic su Applica.

Per saperne di più su Metrics Explorer, consulta Creare grafici con Esplora metriche.

Metriche di Managed Service per Apache Kafka

Le tabelle seguenti elencano le metriche di uso comune per il monitoraggio del cluster Kafka e delle risorse del cluster. Per l'elenco completo delle metriche disponibili, consulta Google Cloud metriche.

Metriche del cluster

Le seguenti metriche si applicano ai cluster. Per visualizzare le metriche di un cluster specifico, filtra in base all'etichetta cluster_id.

Metrica Descrizione Nome MBean equivalente
cpu/core_usage_time Utilizzo cumulativo della CPU del cluster in vCPU. Può essere utile per comprendere il costo operativo complessivo del cluster. N/D
cpu/limit Numero di CPU attualmente configurato per il cluster. Può essere utilizzato per monitorare l'utilizzo della CPU come rapporto con la metrica cpu/usage. N/D
memory/usage Utilizzo attuale della RAM sul cluster. Può essere utilizzato per monitorare l'utilizzo della RAM come rapporto con la metrica memory/limit. N/D
memory/limit Dimensione della RAM attualmente configurata del cluster. Può essere utilizzato 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 La dimensione totale, in byte, delle richieste effettuate al cluster. kafka.network:type=RequestMetrics,name=RequestBytes,request= ([-.\w]+)
partitions 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, in vari percentili kafka.network:type=RequestMetrics,name=TotalTimeMs,request= {Produce|FetchConsumer|FetchFollower}
consumer_groups Il numero attuale di gruppi di consumer 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

Le seguenti metriche si applicano agli argomenti. Per visualizzare le metriche di un argomento specifico, filtra in base alle etichette cluster_id e topic_id.

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 e 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 delle partizioni

Le seguenti metriche si applicano alle partizioni. Per visualizzare le metriche di una partizione specifica in un argomento, filtra in base alle etichette cluster_id, topic_id e partition_index.

Metrica Descrizione Nome MBean equivalente
consumer_lag Ritardo della replica in messaggi tra il leader e ogni follower replica. kafka.server:type=FetcherLagMetrics,name=ConsumerLag,clientId=([-.\w]+),topic=([-.\w]+),partition=([0-9]+)
log_segments Il numero attuale di segmenti di log. È utile per assicurarsi che la suddivisione in livelli di archiviazione rimanga integra. 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 del numero totale di messaggi archiviati, nonché per trovare l'offset effettivo del messaggio più vecchio. kafka.log:type=Log,name=LogStartOffset,topic=([-.\w]+),partition=([0-9]+)
last_offset L'ultimo offset nella partizione. Può essere utilizzato per trovare l' ultimo offset per ogni partizione nel tempo. Può essere utile per identificare l'offset specifico necessario per rielaborare i dati a partire da un momento specifico nel passato. kafka.log:type=Log,name=LogEndOffset,topic=([-.\w]+),partition=([0-9]+)
byte_size La dimensione della partizione sul disco in byte. N/D

Metriche dei gruppi di consumer

Le seguenti metriche si applicano ai gruppi di consumer. Per visualizzare le metriche di un gruppo di consumer specifico, filtra in base all'etichetta consumer_group_id.

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

Passaggi successivi