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 pour Apache Kafka. Vous pouvez également créer un scraper qui s'intègre à Amazon Elastic Kubernetes Service ou à Amazon Service. OpenSearch Pour plus d'informations, consultez Intégrer Amazon EKS et Intégrer Amazon OpenSearch Service.
Créer un scraper
Un collecteur Amazon Managed Service for Prometheus consiste en un scraper qui découvre et collecte des métriques à partir 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 (exportateur JMX) et 11002 (exportateur de nœuds) au sein de votre Amazon VPC, car le scraper nécessite l'accès à ces enregistrements DNS pour collecter des métriques Prometheus.
-
Le DNS doit être activé sur le VPC Amazon dans lequel se trouve 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 avec 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 la 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 à l'aide de l'opération UpdateScraper API.
-
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.
Cross-account configuration
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 dans 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 Amazon MSK et le second compte cible sur account_id_target lequel se trouve 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 (Amazon Managed Service for Prometheus workspace), vous devez créer un rôle
arn:aws:iam::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 scraper.
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>" } } ] }
Passage d'un rôle à RoleConfiguration 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 pour Prometheus, vous devez mettre à jour UpdateScraper et fournir un espace de travail sur le même compte que le scraper sans le. RoleConfiguration RoleConfiguration Le rôle RoleConfiguration sera supprimé du scraper et le rôle lié au service sera utilisé.
Lorsque vous changez d'espace de travail sur le même compte que le scraper et que vous souhaitez continuer à utiliser leRoleConfiguration, vous devez à nouveau saisir l'RoleConfigurationoption activée. 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 SDK AWS CLI or. La dernière version vous fournit les dernières fonctionnalités et fonctionnalités, ainsi que des mises à jour de sécurité. Vous pouvez également utiliser AWS CloudShell, qui fournit automatiquement une expérience de ligne de commande toujours à jour.
Pour afficher tous les scrapers de votre compte, utilisez l’opératon d’API ListScrapers.
Vous pouvez également utiliser le AWS CLI, appeler :
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.
Vous pouvez également utiliser le AWS CLI, appeler :
aws amp delete-scraper --scraper-idscraperId
Statistiques collectées auprès d'Amazon MSK
Lorsque vous intégrez Amazon MSK, le collecteur Amazon Managed Service for Prometheus extrait automatiquement les métriques 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_error |
Indique si une erreur s'est produite lors de l'extraction des métriques JMX (1 = erreur, 0 = succès). |
|
java_lang_ Memory_HeapMemoryUsage_used |
Quantité de mémoire de tas (en octets) actuellement utilisée par la JVM. |
|
java_lang_ Memory_HeapMemoryUsage_max |
Quantité maximale de mémoire (en octets) pouvant être utilisée pour la gestion de la mémoire. |
|
java_lang_ Memory_NonHeapMemoryUsage_used |
Quantité de mémoire hors tas (en octets) actuellement utilisée par la JVM. |
|
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 d'échecs de rééquilibrage des groupes de consommateurs. |
|
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 |
Temps moyen nécessaire au rééquilibrage des groupes de consommateurs en millisecondes. |
|
kafka_consumer_consumer_coordinator_metrics_rebalance_total |
Nombre total de rééquilibres entre 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 |
Latence maximale en termes de nombre d'enregistrements pour n'importe quelle 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 en provenance de tous les serveurs. |
|
kafka_consumer_consumer_metrics_last_poll_seconds_ago |
Nombre de secondes écoulées depuis le dernier appel pour le 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 des consommateurs pour un groupe de consommateurs, indiquant le retard par rapport au consommateur. |
|
kafka_controller_ _Value KafkaController |
État actuel ou valeur du contrôleur Kafka (1 = contrôleur actif, 0 = inactif). |
|
kafka_controller_ _Count ControllerEventManager |
Nombre total d'événements de contrôleur traités. |
|
kafka_controller_ _Mean ControllerEventManager |
Temps moyen (moyen) nécessaire pour traiter les événements du contrôleur. |
|
contrôleur_kafka_ _ ControllerStats MeanRate |
Taux moyen d'opérations statistiques du contrôleur par seconde. |
|
kafka_coordinator_group_ _Value GroupMetadataManager |
État actuel ou valeur du gestionnaire de métadonnées de groupe pour les groupes de consommateurs. |
|
kafka_log_ _Count LogFlushStats |
Nombre total d'opérations de rinçage des journaux. |
|
kafka_log_ _Mean LogFlushStats |
Temps moyen (moyen) nécessaire aux opérations de vidange des journaux. |
|
kafka_log_ _ LogFlushStats MeanRate |
Taux moyen d'opérations de rinçage des journaux 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 requêtes réseau. |
|
réseau_kafka_ _ RequestMetrics MeanRate |
Taux moyen de requêtes réseau par seconde. |
|
réseau_kafka_ Acceptor_MeanRate |
Taux moyen de connexions acceptées par seconde. |
|
serveur_kafka_ Fetch_queue_size |
Taille actuelle de la file d'attente des demandes de récupération. |
|
serveur_kafka_ Produce_queue_size |
Taille actuelle de la file d'attente des demandes de production. |
|
serveur_kafka_ Request_queue_size |
Taille actuelle de la file d'attente générale des demandes. |
|
kafka_server_ _Count BrokerTopicMetrics |
Nombre total d'opérations sur les sujets du courtier (messages in/out, octets in/out). |
|
serveur_kafka_ _ BrokerTopicMetrics MeanRate |
Taux moyen d'opérations thématiques effectuées par les courtiers par seconde. |
|
serveur_kafka_ _ BrokerTopicMetrics OneMinuteRate |
One-minute taux moyen mobile des opérations thématiques des courtiers. |
|
kafka_server_ _Value DelayedOperationPurgatory |
Nombre actuel d'opérations retardées au purgatoire (en attente d'achèvement). |
|
serveur_kafka_ _ DelayedFetchMetrics MeanRate |
Taux moyen d'opérations de récupération différées par seconde. |
|
kafka_server_ _Value FetcherLagMetrics |
Valeur de décalage actuelle pour les threads de récupération des répliques (distance par rapport au leader). |
|
serveur_kafka_ _ FetcherStats MeanRate |
Taux moyen d'opérations de récupération par seconde. |
|
kafka_server_ _Value ReplicaManager |
État actuel ou valeur du gestionnaire de répliques. |
|
serveur_kafka_ _ 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 compensation. |
|
kafka_server_group_coordinator_metrics_offset_commit_rate |
Taux d'opérations de validation de décalage 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 connexions par seconde. |
|
kafka_server_socket_server_metrics_failed_authentication_total |
Nombre total de tentatives d'authentification échouées. |
|
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 |
Taux 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écupérateur de répliques. |
|
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 échouées pour le récupérateur de répliques. |
|
kafka_server_ _Count ZooKeeperClientMetrics |
Nombre total des opérations des ZooKeeper clients. |
|
kafka_server_ _Mean ZooKeeperClientMetrics |
Latence moyenne des opérations ZooKeeper du client. |
|
kafka_server_ _Value KafkaServer |
État actuel ou valeur du serveur Kafka (indique généralement que le serveur est en cours d'exécution). |
|
node_cpu_seconds_total |
Nombre total de secondes passées par les processeurs dans chaque mode (utilisateur, système, inactif, etc.), ventilé par processeur et par mode. |
|
node_disk_read_bytes_total |
Nombre total d'octets lus avec succès à partir des 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_bytes_total |
Nombre total d'octets écrits avec succès sur les disques, ventilé par périphérique. |
|
node_filesystem_avail_bytes |
Espace disponible sur le système de fichiers en octets pour les utilisateurs non root, ventilé par périphérique et point de montage. |
|
node_filesystem_size_bytes |
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 sur le système de fichiers en octets, ventilé par périphérique et point de montage. |
|
node_filesystem_files |
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és 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 à Amazon Managed Service pour Prometheus présente les limites suivantes :
-
Uniquement pris en charge pour les clusters Amazon MSK Provisioned (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 de métadonnées Kraft
-
Supporte actuellement un mappage 1:1 entre les clusters Amazon MSK et Amazon Managed Service for Prometheus collectors/workspaces