Surveiller un cluster Google Cloud Managed Service pour Apache Kafka

Managed Service pour Apache Kafka collecte des métriques que vous pouvez utiliser pour surveiller vos clusters Kafka. Cette page explique comment afficher ces métriques dans la Google Cloud console.

Vous pouvez afficher les métriques de différentes manières :

  • La page Cluster details (Détails du cluster) inclut des tableaux de bord de surveillance pour les clusters, les sujets et les groupes de consommateurs. Ces tableaux de bord contiennent des graphiques prédéfinis qui vous permettent de voir l'état et les performances globales de votre cluster.

  • Vous pouvez utiliser l'explorateur de métriques pour afficher toutes les métriques disponibles, créer des graphiques personnalisés ou agréger des métriques sur plusieurs clusters.

Présentation

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, telles que le décalage du 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 sont organisées en quatre catégories de ressources :

  • Cluster : ces métriques sont utiles pour maintenir l'état général d' un cluster.

  • Sujet : ces métriques incluent les taux et les erreurs des éditeurs et des consommateurs. Elles surveillent l'état général des applications Kafka et les problèmes spécifiques à un courtier.

  • Partition de sujet : ces métriques sont destinées à la surveillance et au débogage des problèmes de performances spécifiques à des partitions individuelles, telles qu'une distribution de clés inégale.

  • Groupe de consommateurs de partitions de sujet : ces métriques surveillent l'état des applications de consommateurs, principalement le décalage des consommateurs. 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 index de courtier. En fonction de l'index du courtier, vous pouvez rechercher la zone dans laquelle ce courtier est provisionné. Pour en savoir plus, consultez Afficher les courtiers.

Avant de commencer

  1. Connectez-vous à votre Google Cloud compte. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $de crédits sans frais pour exécuter, tester et déployer des charges de travail.
  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

Rôles et autorisations requis

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 les tableaux de bord de surveillance

Pour afficher les tableaux de bord de surveillance d'un cluster Managed Service pour Apache Kafka, procédez comme suit :

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

    accéder aux clusters

  2. Cliquez sur le nom du cluster.

  3. Pour afficher les métriques du cluster, sélectionnez l'onglet Monitoring (Surveillance).

  4. Pour afficher les métriques d'un sujet dans le cluster :

    1. Sélectionnez l'onglet Ressources.

    2. Dans la liste Sujets, cliquez sur le nom du sujet.

    3. Sur la page Topic details (Détails du sujet), sélectionnez l'onglet Monitoring (Surveillance).

  5. Pour afficher les métriques d'un groupe de consommateurs dans le cluster :

    1. Sélectionnez l'onglet Ressources.

    2. Dans la liste Groupes de consommateurs, cliquez sur le nom du groupe de consommateurs.

    3. Sur la page Consumer group details (Détails du groupe de consommateurs), sélectionnez l'onglet Monitoring (Surveillance).

Pour en savoir plus, consultez Afficher un cluster Kafka.

Afficher les métriques dans l'explorateur de métriques

Pour afficher les métriques Managed Service pour Apache Kafka à l'aide de l'explorateur de métriques, procédez comme suit :

  1. Dans la Google Cloud console, accédez à la page Explorateur de métriques.

    Accéder à l'explorateur de métriques

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

  3. Dans le filtre, saisissez Apache Kafka.

  4. 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 partitions de sujet Apache Kafka

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

Pour en savoir plus sur l'explorateur de métriques, consultez Créer des graphiques avec l'explorateur de métriques.

Métriques Managed Service pour Apache Kafka

Les tableaux suivants répertorient les métriques couramment utilisées pour surveiller votre cluster Kafka et les ressources de cluster. Pour obtenir la liste complète des métriques disponibles, consultez Google Cloud Métriques.

Métriques de cluster

Les métriques suivantes s'appliquent aux clusters. Pour afficher les métriques d'un cluster spécifique, filtrez par le libellé cluster_id.

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 en tant que 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 en tant que ratio avec la métrique memory/limit. N/A
memory/limit Taille actuelle de la RAM configurée du cluster. Peut être utilisé pour surveiller l'utilisation de la RAM en tant que ratio avec la métrique memory/usage. N/A
cluster_byte_in_count Nombre total d'octets envoyés par les clients à tous les sujets. kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec
cluster_byte_out_count Nombre total d'octets envoyés aux clients à partir de tous les sujets. kafka.server:type=BrokerTopicMetrics,name=BytesOutPerSec
cluster_message_in_count Nombre total de messages publiés sur tous les sujets. kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec
request_count Nombre total de requêtes adressé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 adressées au cluster. kafka.network:type=RequestMetrics,name=RequestBytes,request= ([-.\w]+)
partitions Nombre actuel de partitions gérées par ce cluster, ventilées 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 à partir du courtier kafka.server:type=GroupMetadataManager,name=NumGroups
offline_partitions Nombre de partitions de sujet hors connexion observées par le contrôleur. kafka.controller:type=KafkaController,name=OfflinePartitionCount

Métriques de sujet

Les métriques suivantes s'appliquent aux sujets. Pour afficher les métriques d'un sujet spécifique, filtrez par les libellés cluster_id et topic_id.

Métrique Description Nom MBean équivalent
message_in_count Nombre total de messages publiés sur le sujet. kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec, topic=([-.\w]+)
byte_in_count Nombre total d'octets envoyés par les clients au sujet. kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec,topic=([-.\w]+)
topic_request_count Nombre total de requêtes de production et de récupération adressées au sujet. 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é adressées au sujet. 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

Les métriques suivantes s'appliquent aux partitions. Pour afficher les métriques d'une partition spécifique dans un sujet, filtrez par les libellés cluster_id, topic_id et partition_index.

Métrique Description Nom MBean équivalent
consumer_lag Délai de réplication en messages entre le leader et chaque instance dupliquée de follower. kafka.server:type=FetcherLagMetrics,name=ConsumerLag,clientId=([-.\w]+),topic=([-.\w]+),partition=([0-9]+)
log_segments Nombre actuel de segments de journal. 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. Combiné à last_offset, il peut être utilisé pour surveiller une limite supérieure du nombre total de messages stockés, ainsi que 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 dans la partition. Cela 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 donné 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. N/A

Métriques de groupe de consommateurs

Les métriques suivantes s'appliquent aux groupes de consommateurs. Pour afficher les métriques d'un groupe de consommateurs spécifique, filtrez par le libellé consumer_group_id.

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

Étape suivante