Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Configurer des collecteurs Prometheus gérés pour Amazon MSK
Pour utiliser un collecteur Amazon Managed Service for Prometheus, vous devez créer un scraper qui découvre et extrait des métriques dans votre cluster Amazon Managed Streaming for Apache Kafka. Vous pouvez également créer un scraper qui s'intègre à Amazon Elastic Kubernetes Service. Pour plus d'informations, consultez Intégrer Amazon EKS.
Créer un scraper
Un collecteur Amazon Managed Service for Prometheus consiste en un scraper qui découvre et collecte les métriques d'un cluster Amazon MSK. Amazon Managed Service for Prometheus gère le scraper pour vous, vous offrant ainsi l’évolutivité, la sécurité et la fiabilité dont vous avez besoin, sans avoir à gérer vous-même les instances, les agents ou les scrapers.
Vous pouvez créer un scraper à l'aide de l' AWS API ou de la AWS CLI manière décrite dans les procédures suivantes.
Il existe quelques prérequis pour créer votre propre scraper :
-
Vous devez avoir créé un cluster Amazon MSK.
-
Configurez le groupe de sécurité de votre cluster Amazon MSK pour autoriser le trafic entrant sur les ports 11001 (JMX Exporter) et 11002 (Node Exporter) au sein de votre Amazon VPC, car le scraper doit accéder à ces enregistrements DNS pour collecter les métriques Prometheus.
-
Le DNS doit être activé sur le Amazon VPC dans lequel réside le cluster Amazon MSK.
Note
Le cluster sera associé au scraper par son nom de ressource Amazon (ARN). Si vous supprimez un cluster, puis que vous en créez un nouveau portant le même nom, l'ARN sera réutilisé pour le nouveau cluster. Pour cette raison, le scraper tentera de collecter des métriques pour le nouveau cluster. Vous supprimez les scrapers séparément de la suppression du cluster.
-
Voici une liste complète des opérations de scraper que vous pouvez utiliser avec l' AWS API :
Créez un scraper avec l’opération d’API CreateScraper.
-
Répertoriez vos scrapers existants avec l’opération d’API ListScrapers.
-
Mettez à jour l'alias, la configuration ou la destination d'un scraper avec l'opération UpdateScraperAPI.
-
Supprimez un scraper avec l’opération d’API DeleteScraper.
-
Obtenez plus de détails sur un scraper avec l’opération d’API DescribeScraper.
Configuration multi-comptes
Pour créer un scraper dans une configuration multi-comptes lorsque le cluster Amazon MSK à partir duquel vous souhaitez collecter des métriques se trouve sur un compte différent de celui du collecteur Amazon Managed Service for Prometheus, suivez la procédure ci-dessous.
Par exemple, lorsque vous avez deux comptes, le premier compte source sur account_id_source lequel se trouve l'Amazon MSK et un deuxième compte cible sur account_id_target lequel réside l'espace de travail Amazon Managed Service for Prometheus.
Pour créer un scraper dans une configuration multi-comptes
-
Dans le compte source, créez un rôle
arn:aws:iam::et ajoutez la politique de confiance suivante.111122223333:role/Source{ "Effect": "Allow", "Principal": { "Service": [ "scraper.aps.amazonaws.com" ] }, "Action": "sts:AssumeRole", "Condition": { "ArnEquals": { "aws:SourceArn": "arn:aws:aps:aws-region:111122223333:scraper/scraper-id" }, "StringEquals": { "AWS:SourceAccount": "111122223333" } } } -
Pour chaque combinaison de source (cluster Amazon MSK) et de cible (espace de travail Amazon Managed Service for Prometheus), vous devez créer un
arn:aws:iam::rôle et ajouter la politique de confiance suivante avec des autorisations pour. AmazonPrometheusRemoteWriteAccess444455556666:role/Target{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/Source" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId": "arn:aws:aps:aws-region:111122223333:scraper/scraper-id" } } } -
Créez un grattoir avec l'
--role-configurationoption.aws amp create-scraper \ --source vpcConfiguration="{subnetIds=[subnet-subnet-id], "securityGroupIds": ["sg-security-group-id"]}" \ --scrape-configuration configurationBlob=<base64-encoded-blob>\ --destination ampConfiguration="{workspaceArn='arn:aws:aps:aws-region:444455556666:workspace/ws-workspace-id'}"\ --role-configuration '{"sourceRoleArn":"arn:aws:iam::111122223333:role/Source", "targetRoleArn":"arn:aws:iam::444455556666:role/Target"}' -
Validez la création du grattoir.
aws amp list-scrapers { "scrapers": [ { "scraperId": "s-example123456789abcdef0", "arn": "arn:aws:aps:aws-region:111122223333:scraper/s-example123456789abcdef0": "arn:aws:iam::111122223333:role/Source", "status": "ACTIVE", "creationTime": "2025-10-27T18:45:00.000Z", "lastModificationTime": "2025-10-27T18:50:00.000Z", "tags": {}, "statusReason": "Scraper is running successfully", "source": { "vpcConfiguration": { "subnetIds": ["subnet-subnet-id"], "securityGroupIds": ["sg-security-group-id"] } }, "destination": { "ampConfiguration": { "workspaceArn": "arn:aws:aps:aws-region:444455556666:workspace/ws-workspace-id'" } }, "scrapeConfiguration": { "configurationBlob": "<base64-encoded-blob>" } } ] }
Changement entre un rôle lié à un service RoleConfiguration et un rôle lié à un service
Lorsque vous souhaitez revenir à un rôle lié à un service au lieu d'écrire dans un espace de travail Amazon Managed Service for Prometheus, vous devez mettre à jour le UpdateScraper et fournir un espace de travail sur le même compte que le scraper sans le. RoleConfiguration RoleConfiguration Le RoleConfiguration sera supprimé du scraper et le rôle lié au service sera utilisé.
Lorsque vous changez d'espace de travail dans le même compte que le scraper et que vous souhaitez continuer à utiliser leRoleConfiguration, vous devez à nouveau activer leRoleConfiguration. UpdateScraper
Recherche et suppression des scrapers
Vous pouvez utiliser l' AWS API ou le AWS CLI pour répertorier les scrapers de votre compte ou pour les supprimer.
Note
Assurez-vous que vous utilisez la dernière version du AWS CLI SDK. La dernière version vous fournit les fonctionnalités les plus récentes, ainsi que des mises à jour de sécurité. Vous pouvez également utiliser AWS CloudShell, qui fournit une expérience de ligne de up-to-date commande permanente, automatiquement.
Pour afficher tous les scrapers de votre compte, utilisez l’opératon d’API ListScrapers.
Sinon, avec le AWS CLI, appelez :
aws amp list-scrapers
ListScrapers renvoie tous les scrapers de votre compte. Par exemple :
{ "scrapers": [ { "scraperId": "s-1234abcd-56ef-7890-abcd-1234ef567890", "arn": "arn:aws:aps:aws-region:123456789012:scraper/s-1234abcd-56ef-7890-abcd-1234ef567890", "roleArn": "arn:aws:iam::123456789012:role/aws-service-role/AWSServiceRoleForAmazonPrometheusScraper_1234abcd-2931", "status": { "statusCode": "DELETING" }, "createdAt": "2023-10-12T15:22:19.014000-07:00", "lastModifiedAt": "2023-10-12T15:55:43.487000-07:00", "tags": {}, "source": { "vpcConfiguration": { "securityGroupIds": [ "sg-1234abcd5678ef90" ], "subnetIds": [ "subnet-abcd1234ef567890", "subnet-1234abcd5678ab90" ] } }, "destination": { "ampConfiguration": { "workspaceArn": "arn:aws:aps:aws-region:123456789012:workspace/ws-1234abcd-5678-ef90-ab12-cdef3456a78" } } } ] }
Pour supprimer un scraper, recherchez le scraperId du scraper que vous souhaitez supprimer à l'aide de l'opération ListScrapers, puis utilisez l'opération DeleteScraper pour le supprimer.
Sinon, avec le AWS CLI, appelez :
aws amp delete-scraper --scraper-idscraperId
Métriques collectées auprès d'Amazon MSK
Lorsque vous intégrez Amazon MSK, le collecteur Amazon Managed Service for Prometheus supprime automatiquement les statistiques suivantes :
| Métrique | Description/Objectif |
|---|---|
|
jmx_config_reload_failure_total |
Nombre total de fois où l'exportateur JMX n'a pas réussi à recharger son fichier de configuration. |
|
jmx_scrape_duration_seconds |
Temps nécessaire pour extraire les métriques JMX en secondes pour le cycle de collecte en cours. |
|
erreur jmx_scrape |
Indique si une erreur s'est produite lors du scraping des métriques JMX (1 = erreur, 0 = succès). |
|
Java_lang_memory_ _utilisé HeapMemoryUsage |
Quantité de mémoire en tas (en octets) actuellement utilisée par la machine virtuelle Java. |
|
Java_Lang_Memory_ _max HeapMemoryUsage |
Quantité maximale de mémoire en tas (en octets) pouvant être utilisée pour la gestion de la mémoire. |
|
Java_lang_memory_ _utilisé NonHeapMemoryUsage |
Quantité de mémoire hors segment (en octets) actuellement utilisée par la machine virtuelle Java. |
|
Kafka_Cluster_Partition_Value |
État ou valeur actuel lié aux partitions du cluster Kafka, ventilé par ID de partition et par sujet. |
|
kafka_consumer_consumer_coordinator_metrics_assigned_partitions |
Nombre de partitions actuellement attribuées à ce consommateur. |
|
kafka_consumer_consumer_coordinator_metrics_commit_latency_avg |
Temps moyen nécessaire pour valider les décalages en millisecondes. |
|
kafka_consumer_consumer_coordinator_metrics_commit_rate |
Nombre de validations de décalage par seconde. |
|
kafka_consumer_consumer_coordinator_metrics_failed_rebalance_total |
Nombre total de rééquilibres de groupes de consommateurs qui ont échoué. |
|
kafka_consumer_consumer_coordinator_metrics_last_heartbeat_seconds_ago |
Nombre de secondes écoulées depuis que le dernier battement de cœur a été envoyé au coordinateur. |
|
kafka_consumer_consumer_coordinator_metrics_rebalance_latency_avg |
Durée moyenne des rééquilibres des groupes de consommateurs en millisecondes. |
|
kafka_consumer_consumer_coordinator_metrics_rebalance_total |
Nombre total de rééquilibres de groupes de consommateurs. |
|
kafka_consumer_consumer_fetch_manager_metrics_bytes_consumed_rate |
Nombre moyen d'octets consommés par seconde par le consommateur. |
|
kafka_consumer_consumer_fetch_manager_metrics_fetch_latency_avg |
Durée moyenne d'une demande de récupération en millisecondes. |
|
kafka_consumer_consumer_fetch_manager_metrics_fetch_rate |
Nombre de demandes de récupération par seconde. |
|
kafka_consumer_consumer_fetch_manager_metrics_records_consumed_rate |
Nombre moyen d'enregistrements consommés par seconde. |
|
kafka_consumer_consumer_fetch_manager_metrics_records_lag_max |
Décalage maximal en termes de nombre d'enregistrements pour chaque partition de ce consommateur. |
|
kafka_consumer_consumer_metrics_connection_count |
Nombre actuel de connexions actives. |
|
kafka_consumer_consumer_metrics_incoming_byte_rate |
Nombre moyen d'octets reçus par seconde de tous les serveurs. |
|
kafka_consumer_consumer_metrics_last_poll_ago |
Nombre de secondes écoulées depuis le dernier appel au sondage auprès des consommateurs (). |
|
kafka_consumer_consumer_metrics_request_rate |
Nombre de demandes envoyées par seconde. |
|
kafka_consumer_consumer_metrics_response_rate |
Nombre de réponses reçues par seconde. |
|
kafka_consumer_group_ _Valeur ConsumerLagMetrics |
Valeur de décalage actuelle du consommateur pour un groupe de consommateurs, indiquant le retard pris par le consommateur. |
|
kafka_controller_ _Valeur KafkaController |
État ou valeur actuel du contrôleur Kafka (1 = contrôleur actif, 0 = non actif). |
|
kafka_controller_ _Count ControllerEventManager |
Nombre total d'événements du contrôleur traités. |
|
kafka_controller_ _Mean ControllerEventManager |
Temps moyen (moyen) nécessaire pour traiter les événements du contrôleur. |
|
Kafka_controller_ _ ControllerStats MeanRate |
Taux moyen d'opérations statistiques du contrôleur par seconde. |
|
kafka_coordinator_group_ _Valeur GroupMetadataManager |
État ou valeur actuels du gestionnaire de métadonnées de groupe pour les groupes de consommateurs. |
|
kafka_log_ _Count LogFlushStats |
Nombre total d'opérations de vidange des journaux. |
|
kafka_log_ _Mean LogFlushStats |
Durée moyenne (moyenne) des opérations de vidange des bûches. |
|
kafka_log_ _ LogFlushStats MeanRate |
Fréquence moyenne des opérations de vidange du journal par seconde. |
|
kafka_network_ _Count RequestMetrics |
Nombre total de demandes réseau traitées. |
|
kafka_network_ _Mean RequestMetrics |
Temps moyen (moyen) nécessaire au traitement des demandes réseau. |
|
Kafka_network_ _ RequestMetrics MeanRate |
Taux moyen de requêtes réseau par seconde. |
|
Kafka_Network_Acceptor_ MeanRate |
Taux moyen de connexions acceptées par seconde. |
|
Kafka_Server_Fetch_Queue_Size |
Taille actuelle de la file d'attente des demandes de récupération. |
|
Kafka_Server_Produce_Queue_Size |
Taille actuelle de la file d'attente des demandes de production. |
|
Taille de la file d'attente du serveur Kafka |
Taille actuelle de la file d'attente générale des demandes. |
|
kafka_server_ _Count BrokerTopicMetrics |
Nombre total d'opérations sur des sujets de courtage (messagesin/out, bytes in/out). |
|
Kafka_serveur_ _ BrokerTopicMetrics MeanRate |
Taux moyen d'opérations sur des sujets de courtage par seconde. |
|
Kafka_serveur_ _ BrokerTopicMetrics OneMinuteRate |
Taux moyen mobile sur une minute des opérations sur le sujet des courtiers. |
|
kafka_server_ _Valeur DelayedOperationPurgatory |
Nombre actuel d'opérations retardées au purgatoire (en attente d'achèvement). |
|
Kafka_serveur_ _ DelayedFetchMetrics MeanRate |
Taux moyen d'opérations d'extraction différées par seconde. |
|
kafka_server_ _Valeur FetcherLagMetrics |
Valeur de décalage actuelle pour les threads de récupération de répliques (quelle est la distance par rapport au leader). |
|
Kafka_serveur_ _ FetcherStats MeanRate |
Taux moyen d'opérations de récupération par seconde. |
|
kafka_server_ _Valeur ReplicaManager |
État ou valeur actuels du gestionnaire de répliques. |
|
Kafka_serveur_ _ ReplicaManager MeanRate |
Taux moyen d'opérations du gestionnaire de répliques par seconde. |
|
kafka_server_ _byte_rate LeaderReplication |
Taux d'octets répliqués par seconde pour les partitions où ce broker est le leader. |
|
kafka_server_group_coordinator_metrics_group_completed_rebalance_count |
Nombre total de rééquilibres de groupes de consommateurs achevés. |
|
kafka_server_group_coordinator_metrics_offset_commit_count |
Nombre total d'opérations de validation de compensations. |
|
kafka_server_group_coordinator_metrics_offset_commit_rate |
Taux d'opérations de validation de compensation par seconde. |
|
kafka_server_socket_server_metrics_connection_count |
Nombre actuel de connexions actives. |
|
kafka_server_socket_server_metrics_connection_creation_rate |
Taux de création de nouvelles connexions par seconde. |
|
kafka_server_socket_server_metrics_connection_close_rate |
Taux de fermetures de connexion par seconde. |
|
kafka_server_socket_server_metrics_failed_authentication_total |
Nombre total de tentatives d'authentification infructueuses. |
|
kafka_server_socket_server_metrics_incoming_byte_rate |
Taux d'octets entrants par seconde. |
|
kafka_server_socket_server_metrics_outgoing_byte_rate |
Taux d'octets sortants par seconde. |
|
kafka_server_socket_server_metrics_request_rate |
Taux de demandes par seconde. |
|
kafka_server_socket_server_metrics_response_rate |
Taux de réponses par seconde. |
|
kafka_server_socket_server_metrics_network_io_rate |
Taux d' I/O opérations réseau par seconde. |
|
kafka_server_socket_server_metrics_io_ratio |
Fraction du temps consacré aux I/O opérations. |
|
kafka_server_controller_channel_metrics_connection_count |
Nombre actuel de connexions actives pour les canaux du contrôleur. |
|
kafka_server_controller_channel_metrics_incoming_byte_rate |
Taux d'octets entrants par seconde pour les canaux du contrôleur. |
|
kafka_server_controller_channel_metrics_outgoing_byte_rate |
Débit d'octets sortants par seconde pour les canaux du contrôleur. |
|
kafka_server_controller_channel_metrics_request_rate |
Taux de demandes par seconde pour les canaux du contrôleur. |
|
kafka_server_replica_fetcher_metrics_connection_count |
Nombre actuel de connexions actives pour le récupérateur de répliques. |
|
kafka_server_replica_fetcher_metrics_incoming_byte_rate |
Taux d'octets entrants par seconde pour le réplica fetcher. |
|
kafka_server_replica_fetcher_metrics_request_rate |
Taux de demandes par seconde pour le récupérateur de répliques. |
|
kafka_server_replica_fetcher_metrics_failed_authentication_total |
Nombre total de tentatives d'authentification infructueuses pour Replica Fetcher. |
|
kafka_server_ _Count ZooKeeperClientMetrics |
Nombre total d'opérations menées par les ZooKeeper clients. |
|
kafka_server_ _Mean ZooKeeperClientMetrics |
Latence moyenne des opérations ZooKeeper du client. |
|
kafka_server_ _Valeur KafkaServer |
État ou valeur actuel du serveur Kafka (indique généralement que le serveur est en cours d'exécution). |
|
Nœud_cpu_secondes_total |
Nombre total de secondes CPUs passées dans chaque mode (utilisateur, système, inactif, etc.), ventilé par processeur et par mode. |
|
node_disk_read_octets_total |
Nombre total d'octets lus avec succès sur les disques, ventilé par périphérique. |
|
node_disk_reads_completed_total |
Nombre total de lectures effectuées avec succès pour les disques, ventilé par périphérique. |
|
node_disk_writes_completed_total |
Nombre total d'écritures effectuées avec succès sur les disques, ventilé par périphérique. |
|
node_disk_written_octets_total |
Nombre total d'octets écrits avec succès sur les disques, ventilé par périphérique. |
|
node_filesystem_avail_bytes |
Espace disponible dans le système de fichiers en octets pour les utilisateurs non root, ventilé par périphérique et point de montage. |
|
taille du système de fichiers node_octets |
Taille totale du système de fichiers en octets, ventilée par périphérique et point de montage. |
|
node_filesystem_free_bytes |
Espace libre du système de fichiers en octets, ventilé par périphérique et point de montage. |
|
fichiers_système de fichiers node_fichiers |
Nombre total de nœuds de fichiers (inodes) sur le système de fichiers, ventilé par périphérique et point de montage. |
|
node_filesystem_files_free |
Nombre de nœuds de fichiers libres (inodes) sur le système de fichiers, ventilé par périphérique et point de montage. |
|
node_filesystem_readonly |
Indique si le système de fichiers est monté en lecture seule (1 = lecture seule, 0 = lecture-écriture). |
|
node_filesystem_device_error |
Indique si une erreur s'est produite lors de l'obtention des statistiques du système de fichiers (1 = erreur, 0 = succès). |
Limitations
L'intégration actuelle d'Amazon MSK avec Amazon Managed Service for Prometheus présente les limites suivantes :
-
Pris en charge uniquement pour les clusters provisionnés Amazon MSK (non disponible pour Amazon MSK Serverless)
-
Non pris en charge pour les clusters Amazon MSK dont l'accès public est activé en combinaison avec le mode KRaft métadonnées
-
Non pris en charge pour les courtiers Amazon MSK Express
-
Supporte actuellement un mappage 1:1 entre les clusters Amazon MSK et Amazon Managed Service pour les collecteurs/espaces de travail Prometheus