Surveiller un cluster Google Cloud Managed Service pour Apache Kafka

Vous pouvez utiliser la console Google Cloud ou l'API Cloud Monitoring pour surveiller Managed Service pour Apache Kafka.

Cette section présente les métriques de surveillance disponibles pour surveiller Managed Service pour Apache Kafka. Ce document vous explique également comment surveiller votre utilisation de Managed Service pour Apache Kafka dans la console Google Cloud à l'aide de Monitoring.

  • Si vous souhaitez afficher les métriques d'autres ressources Google Cloud en plus de l'ensemble complet des métriques Managed Service pour Apache Kafka, utilisez Monitoring.

  • Sinon, vous pouvez utiliser les tableaux de bord de surveillance avec une sélection de métriques fournies dans Managed Service pour Apache Kafka. Pour en savoir plus, consultez les articles suivants :

Présentation des métriques Managed Service pour Apache Kafka

Managed Service pour Apache Kafka exporte plusieurs métriques disponibles dans la distribution Kafka Open Source, ainsi que des métriques spécifiques au service, comme le décalage du groupe de consommateurs. Pour la surveillance, le service Managed Service pour Apache Kafka est identifié par l'URL du service managedkafka.googleapis.com.

Les métriques Managed Service pour Apache Kafka sont organisées en quatre catégories de ressources :

  • Cluster : ces métriques sont destinées à maintenir l'état général du cluster.

  • Thème : ces métriques incluent les taux et les erreurs des éditeurs et des consommateurs. Ces métriques permettent de surveiller l'état général des applications Kafka et les problèmes spécifiques à un courtier.

  • Partition de topic : ces métriques sont destinées à la surveillance et au débogage des problèmes de performances spécifiques à des partitions individuelles. Par exemple, la distribution des clés peut être inégale.

  • Groupe de consommateurs de partitions de sujets : ces métriques surveillent l'état de l'application consommateur, principalement le décalage du consommateur. Les métriques d'erreur Kafka Open Source pour les groupes de consommateurs ne sont pas disponibles par partition, mais uniquement au niveau du sujet.

Certaines métriques peuvent être regroupées par courtier. Bien que le service Managed Service pour Apache Kafka lui-même n'expose pas les brokers en tant que ressource, il est essentiel de les surveiller pour détecter les scénarios d'échec tels que la latence due à des brokers surchargés.

Les métriques sont nommées en suivant une convention qui inclut l'URL de l'API du service, la ressource surveillée et la métrique. Par exemple, l'identifiant de métrique du thème message_in_count est managedkafka.googleapis.com/Topic/message_in_count.

Pour accéder à ces métriques, consultez Afficher une seule métrique Managed Service pour Apache Kafka.

Avant de commencer

Avant d'utiliser Monitoring, assurez-vous d'avoir préparé un projet Managed Service pour Apache Kafka avec la facturation activée. Pour ce faire, vous pouvez suivre le démarrage rapide pour Managed Service pour Apache Kafka.

Rôles et autorisations nécessaires

Pour obtenir les autorisations nécessaires pour afficher les graphiques de surveillance, demandez à votre administrateur de vous accorder le rôle IAM Lecteur Managed Kafka (roles/managedkafka.Viewer) sur votre projet. Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.

Pour en savoir plus sur ce rôle, consultez Rôles prédéfinis de Managed Service pour Apache Kafka.

Afficher une seule métrique Managed Service pour Apache Kafka

Pour afficher une seule métrique Managed Service pour Apache Kafka à l'aide de la console Google Cloud , procédez comme suit :

  1. Dans la console Google Cloud , accédez à la page Monitoring.

    Accéder à Monitoring

  2. Dans le volet de navigation, sélectionnez Explorateur de métriques.

  3. Dans la section Configuration, cliquez sur Sélectionner une métrique.

  4. Dans le filtre, saisissez Apache Kafka.

  5. Dans Ressources actives, sélectionnez l'une des options suivantes :

    • Cluster Apache Kafka

    • Sujet Apache Kafka

    • Partition de sujet Apache Kafka

    • Groupe de consommateurs de partition de sujet Apache Kafka

  6. Sélectionnez une métrique, puis cliquez sur Appliquer.

    La page d'une métrique spécifique s'ouvre.

Pour en savoir plus sur le tableau de bord de surveillance, consultez la documentation Cloud Monitoring.

Métriques de cluster

Métrique Description Nom MBean équivalent
cpu/core_usage_time Utilisation cumulative du processeur du cluster en vCPU. Cela peut être utile pour comprendre le coût global de fonctionnement du cluster. N/A
cpu/limit Nombre actuel de processeurs configurés pour le cluster. Peut être utilisé pour surveiller l'utilisation du processeur sous forme de ratio avec la métrique cpu/usage. N/A
memory/usage Utilisation actuelle de la RAM sur le cluster. Peut être utilisé pour surveiller l'utilisation de la RAM sous forme de ratio avec la métrique memory/limit. N/A
memory/limit Taille de la RAM actuellement configurée pour le cluster. Peut être utilisé pour surveiller l'utilisation de la RAM sous forme de ratio avec la métrique memory/usage. N/A
cluster_byte_in_count Nombre total d'octets envoyés par les clients à tous les thèmes. kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec
cluster_byte_out_count Nombre total d'octets envoyés aux clients depuis tous les thèmes. kafka.server:type=BrokerTopicMetrics,name=BytesOutPerSec
cluster_message_in_count Nombre total de messages publiés dans tous les sujets. kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec
request_count Nombre total de requêtes envoyées au courtier kafka.network:type=RequestMetrics,name=RequestsPerSec,request= {Produce|FetchConsumer|FetchFollower},version=([0-9]+)
request_byte_count Taille totale, en octets, des requêtes envoyées au cluster. kafka.network:type=RequestMetrics,name=RequestBytes,request= ([-.\w]+)
partitions Nombre actuel de partitions gérées par ce cluster, réparti par courtier. kafka.server:type=ReplicaManager,name=PartitionCount
request_latencies Nombre de millisecondes nécessaires pour chaque requête, à différents centiles kafka.network:type=RequestMetrics,name=TotalTimeMs,request= {Produce|FetchConsumer|FetchFollower}
consumer_groups Nombre actuel de groupes de consommateurs qui consomment des données de l'agent kafka.server:type=GroupMetadataManager,name=NumGroups
offline_partitions Nombre de partitions de sujets hors connexion observées par le contrôleur. kafka.controller:type=KafkaController,name=OfflinePartitionCount

Métriques sur les thèmes

Métrique Description Nom MBean équivalent
message_in_count Nombre total de messages publiés dans le sujet. kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec, topic=([-.\w]+)
byte_in_count Nombre total d'octets envoyés au thème par les clients. kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec,topic=([-.\w]+)
topic_request_count Nombre total de requêtes de production et de récupération effectuées pour le thème. kafka.server:type=BrokerTopicMetrics,name=TotalProduceRequestsPerSec,topic=([-.\w]+)
kafka.server:type=BrokerTopicMetrics,name=TotalFetchRequestsPerSec,topic=([-.\w]+)
topic_error_count Nombre total de requêtes de production et de récupération ayant échoué pour le thème. kafka.server:type=BrokerTopicMetrics,name=FailedProduceRequestsPerSec,topic=([-.\w]+)
kafka.server:type=BrokerTopicMetrics,name=FailedFetchRequestsPerSec,topic=([-.\w]+)
byte_out_count Nombre total d'octets envoyés aux clients. kafka.server:type=BrokerTopicMetrics,name=BytesOutPerSec, topic=([-.\w]+)

Métriques de partition

Métrique Description Nom MBean équivalent
consumer_lag Délai de réplication en messages entre le réplica principal et chaque réplica subordonné. kafka.server:type=FetcherLagMetrics,name=ConsumerLag,clientId=([-.\w]+),topic=([-.\w]+),partition=([0-9]+)
log_segments Nombre actuel de segments de journaux. Cela permet de s'assurer que la hiérarchisation du stockage reste saine. kafka.log:type=Log,name=NumLogSegments,topic=([-.\w]+),partition=([0-9]+)
first_offset Premier décalage pour chaque partition du sujet. En combinaison avec last_offset, il peut être utilisé pour surveiller une limite supérieure du nombre total de messages stockés et pour trouver le décalage réel du message le plus ancien. kafka.log:type=Log,name=LogStartOffset,topic=([-.\w]+),partition=([0-9]+)
last_offset Dernier décalage de la partition. Elle permet de trouver le dernier décalage pour chaque partition au fil du temps. Cela peut être utile pour identifier le décalage spécifique nécessaire pour retraiter les données à partir d'un moment précis dans le passé. kafka.log:type=Log,name=LogEndOffset,topic=([-.\w]+),partition=([0-9]+)
byte_size Taille de la partition sur le disque en octets. -

Métriques des groupes de consommateurs

Métrique Description Nom MBean équivalent
Offset_lag Différence entre le dernier décalage et le dernier décalage validé pour le groupe de consommateurs pour chaque partition. Cette métrique estime le nombre de messages produits que le consommateur n'a pas encore traités. N/A

Étapes suivantes