View a markdown version of this page

Configurer des collecteurs Prometheus gérés pour Amazon Service OpenSearch - Amazon Managed Service for Prometheus

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 Service OpenSearch

Le collecteur géré Amazon Managed Service for Prometheus pour Amazon OpenSearch Service extrait automatiquement les Prometheus-compatible métriques de votre domaine de OpenSearch service et les transmet à votre destination. Amazon Managed Service for Prometheus gère le collecteur pour vous, vous offrant ainsi l'évolutivité, la sécurité et la fiabilité dont vous avez besoin, sans avoir à gérer vous-même des instances, des agents ou des scrapers. Votre destination peut être un service géré par Amazon pour Prometheus Workspace ou Amazon. CloudWatch

Vous pouvez également créer un scraper qui s'intègre à Amazon Elastic Kubernetes Service ou à Amazon Managed Streaming pour Apache Kafka. Pour plus d'informations, consultez Intégrer Amazon EKS et Intégrer Amazon MSK.

Créer un scraper

Cette procédure suppose que vous êtes familiarisé avec l'administration du domaine Amazon OpenSearch Service et les concepts de mise en réseau Amazon Virtual Private Cloud.

Quelques conditions préalables sont requises pour créer un scraper pour un domaine de OpenSearch service :

  • Un domaine Amazon OpenSearch Service avec accès à Amazon Virtual Private Cloud. Les collecteurs gérés ne prennent en charge que les domaines de OpenSearch service dotés d'un accès VPC. Les domaines accessibles au public ne sont pas pris en charge.

  • Groupes de sécurité qui permettent au collecteur géré d'atteindre votre point de terminaison de domaine de OpenSearch service via HTTPS (port 443). Ajoutez une règle entrante au groupe de sécurité du domaine qui autorise le trafic HTTPS en provenance du groupe de sécurité que vous fournissez au collecteur.

Pour indiquer au scraper le domaine de OpenSearch service à partir duquel effectuer la collecte, vous devez spécifier le domaine dans le exporters champ de la demande. Le exporters champ contient une liste de configurations d'exportateur ; pour un domaine de OpenSearch service, openSearchConfiguration indiquez le nom domainArn du domaine. Vous indiquez le réseau (sous-réseaux et groupe de sécurité) séparément dans le source champ, comme illustré dans les exemples suivants.

Note

Le scraper utilise le point de terminaison VPC du domaine tel qu'il a été résolu lorsque vous créez le scraper. Si vous recréez le domaine, il obtient un nouveau point de terminaison. Vous devez donc créer un nouveau scraper ou mettre à jour le scraper existant avec UpdateScraper to collect from it.

Vous fournissez une configuration de scrape lorsque vous créez le scraper. Le collecteur géré se connecte au domaine que vous spécifiez et collecte ses métriques automatiquement. Vous ne spécifiez donc pas de cibles de scrape dans la configuration. La configuration doit inclure une scrape_configs section contenant une job_name tâche préciseopensearch-exporter. Une configuration qui ne contient aucun nom de tâche opensearch-exporter est rejetée. Utilisez la configuration de scrape pour définir l'intervalle de scrape et, éventuellement, pour filtrer ou renommer les métriques collectées. Voici un exemple de configuration de scrape :

global: external_labels: domain_name: my-opensearch-domain scrape_configs: - job_name: opensearch-exporter scrape_interval: 60s

Pour plus d'informations sur les options de configuration de scrape prises en charge, consultezConfiguration du scraper.

To create a scraper using the AWS API

Utilisez l'opération CreateScraper API pour créer un scraper avec l' AWS API. L'exemple suivant crée un scraper dans la région USA Est (Virginie du Nord) qui collecte les métriques d'un domaine de OpenSearch service et les envoie à un espace de travail Amazon Managed Service pour Prometheus. Remplacez le example contenu par les informations relatives à votre domaine, à votre réseau et à votre espace de travail, et fournissez la configuration de votre scraper.

Note

Configurez le groupe de sécurité et les sous-réseaux pour qu'ils correspondent à l'Amazon VPC de votre domaine de OpenSearch service. Incluez au moins deux sous-réseaux répartis dans deux zones de disponibilité.

POST /scrapers HTTP/1.1 { "alias": "myScraper", "source": { "vpcConfiguration": { "securityGroupIds": ["sg-security-group-id"], "subnetIds": ["subnet-subnet-id-1", "subnet-subnet-id-2"] } }, "exporters": [ { "openSearchConfiguration": { "domainArn": "arn:aws:es:us-east-1:123456789012:domain/my-opensearch-domain" } } ], "destination": { "ampConfiguration": { "workspaceArn": "arn:aws:aps:us-east-1:123456789012:workspace/ws-workspace-id" } }, "scrapeConfiguration": { "configurationBlob": "base64-encoded-blob" } }

Pour envoyer les métriques à Amazon CloudWatch plutôt qu'à un espace de travail Amazon Managed Service for Prometheus, remplacez-les destination par une CloudWatch configuration :

"destination": { "cloudWatchConfiguration": { "datasetArn": "arn:aws:cloudwatch:us-east-1:123456789012:dataset/default" } }

Le scrapeConfiguration paramètre nécessite un fichier YAML de configuration Prometheus codé en base64. Exécutez l'une des commandes suivantes pour convertir le fichier YAML en base64. Vous pouvez également utiliser n'importe quel convertisseur base64 en ligne pour convertir le fichier.

Exemple Linux/macOS
base64 -w0 scraper-config.yaml
Exemple Fenêtres PowerShell
[Convert]::ToBase64String([System.IO.File]::ReadAllBytes("scraper-config.yaml"))
To create a scraper using the AWS CLI

Utilisez la create-scraper commande pour créer un grattoir à l'aide du AWS Command Line Interface. L'exemple suivant crée un scraper dans la région de l'Est des États-Unis (Virginie du Nord). Remplacez le example contenu par les informations relatives à votre domaine, à votre réseau et à votre espace de travail, et fournissez la configuration de votre scraper.

Note

Configurez le groupe de sécurité et les sous-réseaux pour qu'ils correspondent à l'Amazon VPC de votre domaine de OpenSearch service. Incluez au moins deux sous-réseaux répartis dans deux zones de disponibilité.

aws amp create-scraper \ --source '{"vpcConfiguration":{"securityGroupIds":["sg-security-group-id"],"subnetIds":["subnet-subnet-id-1","subnet-subnet-id-2"]}}' \ --exporters '[{"openSearchConfiguration":{"domainArn":"arn:aws:es:us-east-1:123456789012:domain/my-opensearch-domain"}}]' \ --scrape-configuration configurationBlob=base64-encoded-blob \ --destination '{"ampConfiguration":{"workspaceArn":"arn:aws:aps:us-east-1:123456789012:workspace/ws-workspace-id"}}'
  • 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 domaine de OpenSearch service à 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 suivante.

Par exemple, vous avez deux comptes : un compte source sur account_id_source lequel se trouve le domaine de OpenSearch service et un compte cible sur account_id_target lequel se trouve l'espace de travail Amazon Managed Service for Prometheus.

Note

Les politiques de confiance décrites dans les étapes suivantes font référence au scraper par son ARN, qui inclut un code qui n'existe pas tant scraper-id que vous n'avez pas créé le scraper. Pour éviter ce problème d'ordre, créez d'abord les rôles avec un caractère générique (scraper/*) à la place de l'ARN de scraper spécifique, créez le scraper, puis mettez à jour les deux politiques de confiance pour remplacer le caractère générique par l'ARN de scraper réel qui renvoie. CreateScraper

Pour créer un scraper dans une configuration multi-comptes
  1. Dans le compte source, créez un rôle arn:aws:iam::111122223333:role/Source et ajoutez la politique de confiance suivante.

    { "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" } } }
  2. Dans le compte cible, créez un rôle arn:aws:iam::444455556666:role/Target et ajoutez la politique de confiance suivante, qui permet au rôle source de l'assumer.

    { "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" } } }

    Associez une politique d'autorisations au rôle cible qui lui permet d'écrire vers votre destination. Si votre destination est un espace de travail Amazon Managed Service pour Prometheus, joignez-le AmazonPrometheusRemoteWriteAccess (ce qui est accordéaps:RemoteWrite). Si votre destination est Amazon CloudWatch, joignez une politique qui accorde des autorisations à cloudwatch:PutMetricData l'ensemble de données.

  3. Créez un grattoir avec l'--role-configurationoption.

    aws amp create-scraper \ --source '{"vpcConfiguration":{"securityGroupIds":["sg-security-group-id"],"subnetIds":["subnet-subnet-id-1","subnet-subnet-id-2"]}}' \ --exporters '[{"openSearchConfiguration":{"domainArn":"arn:aws:es:aws-region:111122223333:domain/my-opensearch-domain"}}]' \ --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"}'
  4. Validez la création du scraper.

    aws amp list-scrapers

Recherche et suppression des scrapers

Vous pouvez utiliser l' AWS API ou le AWS CLI pour répertorier les scrapers de votre compte ou 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

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-id scraperId

Statistiques collectées auprès d'Amazon OpenSearch Service

Lorsque vous intégrez Amazon OpenSearch Service, le collecteur Amazon Managed Service for Prometheus extrait automatiquement les Prometheus-compatible métriques qui décrivent l'état et les performances de votre domaine. Le collecteur émet plusieurs centaines de métriques ; les tableaux suivants répertorient les métriques représentatives de chaque catégorie. Les opensearch_indices_ mesures des tableaux suivants sont agrégées sur l'ensemble du domaine, et nombre d'entre elles comportent des variantes principales uniquement et totales (_primarysuffixé ou). _total Le collecteur émet également les mêmes statistiques par index, par préfixe et par métrique préfixée opensearch_index_stats_ par fragment. opensearch_indices_shards_

Métrique Description/Objectif

opensearch_cluster_health_status

État de santé du cluster (vert, jaune ou rouge).

opensearch_cluster_health_number_of_nodes

Nombre de nœuds dans le cluster .

opensearch_cluster_health_number_of_data_nodes

Nombre de nœuds de données dans le cluster.

opensearch_cluster_health_active_primary_shards

Nombre de fragments principaux actifs.

opensearch_cluster_health_active_shards

Nombre total de fragments actifs, y compris les fragments principaux et les répliques.

opensearch_cluster_health_relocating_shards

Nombre de partitions qui sont déplacées entre les nœuds.

opensearch_cluster_health_initializing_shards

Nombre de partitions en cours d'initialisation.

opensearch_cluster_health_unassigned_shards

Nombre de partitions qui ne sont pas attribuées à un nœud.

opensearch_cluster_health_delayed_unassigned_shards

Nombre de partitions non attribuées dont l'affectation est retardée.

opensearch_cluster_health_number_of_pending_tasks

Nombre de tâches au niveau du cluster mises en file d'attente et en attente d'exécution.

opensearch_cluster_health_number_of_in_flight_fetch

Nombre de demandes d'extraction de partitions en cours.

opensearch_cluster_health_task_max_waiting_in_queue_millis

Durée d'attente la plus longue d'une tâche dans la file d'attente, en millisecondes.

Métrique Description/Objectif

opensearch_os_cpu_percent

Pourcentage de CPU utilisé par le système d'exploitation sur le nœud.

opensearch_os_load1

Charge moyenne du système d'exploitation au cours de la dernière minute. Le collecteur émet également opensearch_os_load5 et. opensearch_os_load15

opensearch_os_mem_used_bytes

Quantité de mémoire physique utilisée, en octets. Le collecteur émet également opensearch_os_mem_free_bytesopensearch_os_mem_actual_used_bytes, et. opensearch_os_mem_actual_free_bytes

opensearch_jvm_memory_used_bytes

Quantité de mémoire JVM utilisée, en octets, par zone mémoire (tas et non-tas). Les métriques associées incluent opensearch_jvm_memory_committed_bytes et opensearch_jvm_memory_max_bytes.

opensearch_jvm_gc_collection_seconds_count

Nombre total d'événements de collecte des déchets de la JVM. À utiliser avecopensearch_jvm_gc_collection_seconds_sum, le temps total passé à ramasser les ordures.

opensearch_jvm_uptime_seconds

Disponibilité de la JVM, en secondes.

opensearch_thread_pool_active_count

Nombre de threads actifs dans chaque pool de threads. Les mesures associées incluent opensearch_thread_pool_queue_countopensearch_thread_pool_rejected_count, etopensearch_thread_pool_completed_count.

opensearch_filesystem_data_available_bytes

Quantité d'espace disque disponible pour le nœud, en octets. Les métriques associées incluent opensearch_filesystem_data_free_bytes et opensearch_filesystem_data_size_bytes.

opensearch_filesystem_io_stats_device_read_operations_count

Nombre d'opérations de lecture sur disque. Le collecteur émet également le nombre total d'opérations d'écriture et le nombre total d'opérations, ainsi que les tailles de lecture et d'écriture (par exemple,opensearch_filesystem_io_stats_device_read_size_kilobytes_sum).

opensearch_process_cpu_percent

Pourcentage de CPU utilisé par le OpenSearch processus.

opensearch_process_mem_resident_size_bytes

Taille de la mémoire résidente du OpenSearch processus, en octets.

opensearch_process_open_files_count

Nombre de descripteurs de fichiers ouverts par le OpenSearch processus.

opensearch_breakers_tripped

Nombre total de fois que chaque disjoncteur s'est déclenché. Les métriques associées incluent opensearch_breakers_estimated_size_bytes et opensearch_breakers_limit_size_bytes.

opensearch_transport_rx_size_bytes_total

Quantité totale de données reçues sur la couche de transport entre les nœuds, en octets. Le collecteur émet opensearch_transport_tx_size_bytes_total et compte également les paquets.

opensearch_indexing_pressure_current_all_in_bytes

Mémoire actuelle consommée par les demandes d'indexation, en octets, avec opensearch_indexing_pressure_limit_in_bytes comme limite configurée.

Métrique Description/Objectif

opensearch_indices_docs

Nombre de documents Les mesures associées incluent opensearch_indices_docs_deletedopensearch_indices_docs_primary, etopensearch_indices_docs_total.

opensearch_indices_store_size_bytes

Taille totale des indices sur le disque, en octets, avec opensearch_indices_store_size_bytes_primary et opensearch_indices_store_size_bytes_total variantes.

opensearch_indices_indexing_index_total

Nombre total de documents indexés. Utilisez with opensearch_indices_indexing_index_time_seconds_total pour indexer la latence.

opensearch_indices_indexing_is_throttled

Indique si l'indexation est actuellement limitée, avec opensearch_indices_indexing_throttle_time_seconds_total pour la durée totale de limitation.

opensearch_indices_search_query_total

Nombre total de requêtes de recherche. Utilisez with opensearch_indices_search_query_time_seconds pour la latence des requêtes.

opensearch_indices_search_fetch_total

Nombre total d'opérations de récupération, y compris la opensearch_indices_search_fetch_time_seconds latence de récupération.

opensearch_indices_get_total

Nombre total d'opérations d'obtention, avec latence opensearch_indices_get_time_seconds de réception.

opensearch_indices_merges_total

Nombre total de fusions de segments réalisées. Les métriques associées incluent opensearch_indices_merges_current et opensearch_indices_merges_total_time_seconds_total.

opensearch_indices_refresh_total

Nombre total d'opérations d'actualisation de l'index, avec opensearch_indices_refresh_time_seconds_total pour heure de rafraîchissement.

opensearch_indices_flush_total

Nombre total d'opérations de rinçage de l'index, avec durée opensearch_indices_flush_time_seconds de rinçage.

opensearch_indices_segments_count

Nombre de segments. Le collecteur émet également des mesures de mémoire par segment (par exemple, opensearch_indices_segments_memory_bytes etopensearch_indices_segment_terms_memory_total).

opensearch_indices_translog_operations

Nombre d'opérations dans le journal des transactions, compte opensearch_indices_translog_size_in_bytes tenu de sa taille.

opensearch_indices_fielddata_memory_size_bytes

Mémoire utilisée par le cache de données de terrain, en octets, opensearch_indices_fielddata_evictions pour les expulsions.

opensearch_indices_query_cache_memory_size_bytes

Mémoire utilisée par le cache de requêtes, en octets. Les métriques associées incluent opensearch_indices_query_cache_count et opensearch_indices_query_cache_evictions.

opensearch_indices_request_cache_memory_size_bytes

Mémoire utilisée par le cache de requêtes, en octets. Les métriques associées incluent opensearch_indices_request_cache_count et opensearch_indices_request_cache_evictions.

Limitations

L'intégration d'Amazon OpenSearch Service à Amazon Managed Service pour Prometheus présente les limites suivantes :

  • Uniquement pris en charge pour les domaines de OpenSearch service disposant d'un accès à Amazon Virtual Private Cloud. Les domaines accessibles au public ne sont pas pris en charge.

  • Un scraper collecte des métriques à partir d'un seul domaine OpenSearch de service. Pour collecter des métriques provenant de plusieurs domaines, créez un scraper distinct pour chaque domaine.