

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
<a name="prom-opensearch-integration"></a>

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 ](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-collector-how-to.html) et [ Intégrer Amazon MSK](https://docs.aws.amazon.com/prometheus/latest/userguide/prom-msk-integration.html).

## Créer un scraper
<a name="prom-opensearch-create-scraper"></a>

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 ](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_UpdateScraper.html) 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écise`opensearch-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, consultez[Configuration du scraper](AMP-collector-how-to.md#AMP-collector-configuration).

------
#### [ 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.

**Example Linux/macOS**  

```
base64 -w0 {{scraper-config.yaml}}
```

**Example 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](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_CreateScraper.html).
+ Répertoriez vos scrapers existants avec l’opération d’API [ListScrapers](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_ListScrapers.html).
+ Mettez à jour l'alias, la configuration ou la destination d'un scraper à l'aide de l'opération [ UpdateScraper ](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_UpdateScraper.html) API.
+ Supprimez un scraper avec l’opération d’API [DeleteScraper](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_DeleteScraper.html).
+ Obtenez plus de détails sur un scraper avec l’opération d’API [DescribeScraper](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_DescribeScraper.html).

## Cross-account configuration
<a name="prom-opensearch-cross-account"></a>

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

1. 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 ](https://docs.aws.amazon.com/prometheus/latest/userguide/security-iam-awsmanpol.html) (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.

1. Créez un grattoir avec l'`--role-configuration`option.

   ```
   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"}'
   ```

1. Validez la création du scraper.

   ```
   aws amp list-scrapers
   ```

## Recherche et suppression des scrapers
<a name="prom-opensearch-delete-scraper"></a>

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](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html), 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](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_ListScrapers.html). 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](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_DeleteScraper.html) 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
<a name="prom-opensearch-metrics"></a>

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 (`_primary`suffixé 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étriques du cluster
<a name="opensearch-cluster-metrics"></a>


| 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étriques des nœuds
<a name="opensearch-node-metrics"></a>


| 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_bytes``opensearch_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 avec`opensearch_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_count``opensearch_thread_pool_rejected_count`, et`opensearch_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étriques d'index
<a name="opensearch-index-metrics"></a>


| Métrique | Description/Objectif | 
| --- | --- | 
| opensearch\_indices\_docs | Nombre de documents Les mesures associées incluent `opensearch_indices_docs_deleted``opensearch_indices_docs_primary`, et`opensearch_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` et`opensearch_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
<a name="prom-opensearch-limitations"></a>

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.