

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.

# Ingérez des métriques avec des collecteurs AWS gérés
<a name="AMP-collector"></a>

Une des utilisations courantes d’Amazon Managed Service for Prometheus consiste à surveiller les clusters Kubernetes gérés par Amazon Elastic Kubernetes Service (Amazon EKS). Les clusters Kubernetes et de nombreuses applications qui s’exécutent dans Amazon EKS exportent automatiquement leurs métriques pour que les scrapers compatibles avec Prometheus puissent y accéder.

**Note**  
Amazon EKS expose les métriques, métriques et `kube-controller-manager` `kube-scheduler` métriques du serveur d'API dans un cluster. De nombreuses autres technologies et applications exécutées dans les environnements Kubernetes fournissent des métriques compatibles avec Prometheus. Pour obtenir la liste des exportateurs les plus connus, consultez la section [Exportateurs et intégrations](https://prometheus.io/docs/instrumenting/exporters/) de la Documentation de Prometheus.

Amazon Managed Service for Prometheus fournit un scraper *ou* collecteur entièrement géré, sans agent, qui découvre et extrait automatiquement les métriques compatibles avec Prometheus. Vous n’avez pas besoin de gérer, d’installer, de corriger ou de maintenir des agents ou des scrapers. Le collecteur Amazon Managed Service for Prometheus fournit une collecte de métriques fiable, stable, hautement disponible et automatiquement à l’échelle pour votre cluster Amazon EKS. Les collecteurs gérés par Amazon Managed Service for Prometheus fonctionnent avec les clusters Amazon EKS, notamment EC2 et Fargate.

Un collecteur Amazon Managed Service for Prometheus crée une Interface réseau Elastic (ENI) par sous-réseau spécifié lors de la création du scraper. Le collecteur analyse les indicateurs et les utilise `remote_write` pour transférer les ENIs données vers votre espace de travail Amazon Managed Service for Prometheus à l'aide d'un point de terminaison VPC. Les données scrapées ne sont jamais transmises sur l'Internet public.

Les rubriques suivantes fournissent des informations supplémentaires sur l’utilisation d’un collecteur Amazon Managed Service for Prometheus dans votre cluster Amazon EKS, ainsi que sur les métriques collectées.

**Topics**
+ [

# Configurer des collecteurs gérés pour Amazon EKS
](AMP-collector-how-to.md)
+ [

# Configurer des collecteurs Prometheus gérés pour Amazon MSK
](prom-msk-integration.md)
+ [

# Quelles sont les métriques compatibles avec Prometheus ?
](prom-compatible-metrics.md)
+ [

# Surveillez les collecteurs à l'aide de journaux vendus
](AMP-collector-vended-logs.md)

# Configurer des collecteurs gérés pour Amazon EKS
<a name="AMP-collector-how-to"></a>

Pour utiliser un Amazon Managed Service for Prometheus Collector, vous devez créer un scraper qui découvre et extrait les métriques de votre cluster Amazon EKS. Vous pouvez également créer un scraper qui s'intègre à Amazon Managed Streaming pour Apache Kafka Kafka. Pour plus d'informations, consultez [Intégrer Amazon MSK](https://docs.aws.amazon.com/prometheus/latest/userguide/prom-msk-integration.html).
+ Vous pouvez créer un scraper dans le cadre de la création de votre cluster Amazon EKS. Pour plus d’informations sur la création d’un cluster Amazon EKS, notamment la création d’un scraper, consultez la section [Création d’un cluster Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/create-cluster.html) dans le *Guide de l’utilisateur Amazon EKS*.
+ Vous pouvez créer votre propre scraper, par programmation avec l' AWS API ou en utilisant le. AWS CLI

Un collecteur Amazon Managed Service for Prometheus collecte les métriques compatibles avec Prometheus. Pour plus d’informations sur les métriques compatibles avec Prometheus, consultez la section [Quelles sont les métriques compatibles avec Prometheus ?](prom-compatible-metrics.md). Les clusters Amazon EKS présentent des métriques pour le serveur d'API. Les clusters Amazon EKS de version Kubernetes `1.28` ou supérieure présentent également des métriques pour le et. `kube-scheduler` `kube-controller-manager` Pour plus d'informations, consultez la section [Fetch control plane raw metrics au format Prometheus dans](https://docs.aws.amazon.com/eks/latest/userguide/view-raw-metrics.html#scheduler-controller-metrics) le guide de l'utilisateur *Amazon* EKS.

**Note**  
L'extraction des métriques d'un cluster peut entraîner des frais d'utilisation du réseau. L'un des moyens d'optimiser ces coûts consiste à configurer votre `/metrics` point de terminaison pour compresser les métriques fournies (par exemple, avec gzip), réduisant ainsi le nombre de données à déplacer sur le réseau. La procédure à suivre dépend de l'application ou de la bibliothèque fournissant les métriques. Certaines bibliothèques gzip par défaut.

Les rubriques suivantes décrivent comment créer, gérer et configurer des scrapers.

**Topics**
+ [

## Créer un scraper
](#AMP-collector-create)
+ [

## Configuration de votre cluster Amazon EKS
](#AMP-collector-eks-setup)
+ [

## Recherche et suppression des scrapers
](#AMP-collector-list-delete)
+ [

## Configuration du scraper
](#AMP-collector-configuration)
+ [

## Résolution des erreurs de configuration du scraper
](#AMP-collector-troubleshoot)
+ [

## Limitations du scraper
](#AMP-collector-limits)

## Créer un scraper
<a name="AMP-collector-create"></a>

Un collecteur Amazon Managed Service for Prometheus consiste en un scraper qui reconnaît et collecte des métriques d’un cluster Amazon EKS. 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.

Il existe trois manières de créer un grattoir :
+ Un scraper est automatiquement créé pour vous lorsque vous [créez un cluster Amazon EKS via la console Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/create-cluster.html) et que vous choisissez d'activer les métriques Prometheus.
+ Vous pouvez créer un scraper à partir de la console Amazon EKS pour un cluster existant. Ouvrez le cluster dans la [console Amazon EKS](https://console.aws.amazon.com/eks/home#/clusters), puis, dans l'onglet **Observabilité**, choisissez **Add scraper**.

  Pour plus de détails sur les paramètres disponibles, consultez la section [Activer les métriques Prometheus](https://docs.aws.amazon.com/eks/latest/userguide/prometheus.html#turn-on-prometheus-metrics) dans le guide de l'utilisateur *Amazon* EKS.
+ Vous pouvez créer un scraper à l'aide de l' AWS API ou du AWS CLI.

  Ces options sont décrites dans la procédure suivante.

Il existe quelques prérequis pour créer votre propre scraper :
+ Vous devez avoir créé un cluster Amazon EKS.
+ Le [contrôle d'accès aux points de terminaison du cluster](https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html) de votre propre cluster Amazon EKS doit être configuré pour inclure l'accès privé. Il peut inclure l’accès privé et l’accès public, mais doit inclure l’accès privé.
+ Le [DNS](https://docs.aws.amazon.com/vpc/latest/userguide/AmazonDNS-concepts.html) doit être activé sur le Amazon VPC dans lequel réside le cluster Amazon EKS.

**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](#AMP-collector-list-delete) séparément de la suppression du cluster.

------
#### [ AWS API ]

**Pour créer un scraper à l’aide de l’API AWS **

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 `us-west-2`. Vous devez remplacer les informations relatives à l' Compte AWS espace de travail, à la sécurité et au cluster Amazon EKS par les vôtres IDs, et fournir la configuration à utiliser pour votre scraper.

**Note**  
Le groupe de sécurité et les sous-réseaux doivent être définis sur le groupe de sécurité et les sous-réseaux du cluster auquel vous vous connectez.  
Vous devez inclure au moins deux sous-réseaux dans au moins deux zones de disponibilité.

La `scrapeConfiguration` est un fichier YAML de configuration Prometheus codé en base64. Vous pouvez télécharger une configuration générale à l’aide de l’opération d’API `GetDefaultScraperConfiguration`. Pour plus d'informations sur le format du`scrapeConfiguration`, consultez[Configuration du scraper](#AMP-collector-configuration).

```
POST /scrapers HTTP/1.1
Content-Length: 415 
Authorization: AUTHPARAMS
X-Amz-Date: 20201201T193725Z
User-Agent: aws-cli/1.18.147 Python/2.7.18 Linux/5.4.58-37.125.amzn2int.x86_64 botocore/1.18.6

{
    "alias": "myScraper",
    "destination":  {
        "ampConfiguration": {
            "workspaceArn": "arn:aws:aps:us-west-2:account-id:workspace/ws-workspace-id"
        }
    },
    "source": {
        "eksConfiguration": {
            "clusterArn": "arn:aws:eks:us-west-2:account-id:cluster/cluster-name",
            "securityGroupIds": ["sg-security-group-id"],
            "subnetIds": ["subnet-subnet-id-1", "subnet-subnet-id-2"]
        }
    },
    "scrapeConfiguration": {
        "configurationBlob": <base64-encoded-blob>
    }
}
```

------
#### [ AWS CLI ]

**Pour créer un scraper à l’aide de l’ AWS CLI**

Utilisez la `create-scraper` commande pour créer un grattoir avec. AWS CLI L’exemple suivant crée un scraper dans la région `us-west-2`. Vous devez remplacer les informations relatives à l' Compte AWS espace de travail, à la sécurité et au cluster Amazon EKS par les vôtres IDs, et fournir la configuration à utiliser pour votre scraper.

**Note**  
Le groupe de sécurité et les sous-réseaux doivent être définis sur le groupe de sécurité et les sous-réseaux du cluster auquel vous vous connectez.  
Vous devez inclure au moins deux sous-réseaux dans au moins deux zones de disponibilité.

La `scrape-configuration` est un fichier YAML de configuration Prometheus codé en base64. Vous pouvez télécharger une configuration à usage général à l'aide de la `get-default-scraper-configuration` commande. Pour plus d'informations sur le format du`scrape-configuration`, consultez[Configuration du scraper](#AMP-collector-configuration).

```
aws amp create-scraper \
  --source eksConfiguration="{clusterArn='arn:aws:eks:us-west-2:account-id:cluster/cluster-name', securityGroupIds=['sg-security-group-id'],subnetIds=['subnet-subnet-id-1', 'subnet-subnet-id-2']}" \
  --scrape-configuration configurationBlob=<base64-encoded-blob> \
  --destination ampConfiguration="{workspaceArn='arn:aws:aps:us-west-2:account-id:workspace/ws-workspace-id'}"
```

------

Vous trouverez ci-dessous la liste complète des opérations de scraper que vous pouvez utiliser avec l’API AWS  :
+ 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 avec 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).
+ Obtenez une configuration générale pour les scrapers avec l’opération d’API [GetDefaultScraperConfiguration](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_GetDefaultScraperConfiguration.html).

**Note**  
Le cluster Amazon EKS que vous collectez doit être configuré pour autoriser Amazon Managed Service for Prometheus à accéder aux métriques. La rubrique suivante décrit comment configurer votre cluster.

### Configuration multi-comptes
<a name="cross-account-remote-write"></a>

Pour créer un scraper entre comptes lorsque votre cluster Amazon EKS et votre espace de travail Amazon Managed Service for Prometheus se trouvent sur des comptes différents, suivez la procédure suivante. Par exemple, vous avez un compte source `account_id_source` contenant le cluster Amazon EKS et un compte cible `account_id_target` contenant l'espace de travail Amazon Managed Service for Prometheus.

**Pour créer un scraper dans une configuration multi-comptes**

1. Dans le compte source, créez un rôle `arn:aws:iam::account_id_source:role/Source` et ajoutez la politique de confiance suivante.

   ```
   {
       "Effect": "Allow",
       "Principal": {
       "Service": [
           "scraper.aps.amazonaws.com"
        ]
       },
       "Action": "sts:AssumeRole",
       "Condition": {
           "ArnEquals": {
               "aws:SourceArn": "scraper_ARN"
           },
           "StringEquals": {
               "AWS:SourceAccount": "account_id"
           }
       }
   }
   ```

1. Pour chaque combinaison de source (cluster Amazon EKS) et de cible (espace de travail Amazon Managed Service for Prometheus), vous devez créer un `arn:aws:iam::account_id_target:role/Target` rôle et ajouter la politique de confiance suivante avec des autorisations pour. [AmazonPrometheusRemoteWriteAccess](https://docs.aws.amazon.com/prometheus/latest/userguide/security-iam-awsmanpol.html)

   ```
   {
     "Effect": "Allow",
     "Principal": {
        "AWS": "arn:aws:iam::account_id_source:role/Source"
     },
     "Action": "sts:AssumeRole",
     "Condition": {
        "StringEquals": {
           "sts:ExternalId": "scraper_ARN"
         }
     }
   }
   ```

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

   ```
   aws amp create-scraper \
     --source eksConfiguration="{clusterArn='arn:aws:eks:us-west-2:account-id_source:cluster/xarw,subnetIds=[subnet-subnet-id]}" \
     --scrape-configuration configurationBlob=<base64-encoded-blob> \
     --destination ampConfiguration="{workspaceArn='arn:aws:aps:us-west-2:account-id_target:workspace/ws-workspace-id'}"\
     --role-configuration '{"sourceRoleArn":"arn:aws:iam::account-id_source:role/Source", "targetRoleArn":"arn:aws:iam::account-id_target:role/Target"}'
   ```

1. Validez la création du grattoir.

   ```
   aws amp list-scrapers
   {
       "scrapers": [
           {
               "scraperId": "scraper-id",
               "arn": "arn:aws:aps:us-west-2:account_id_source:scraper/scraper-id",
               "roleArn": "arn:aws:iam::account_id_source:role/aws-service-role/scraper.aps.amazonaws.com/AWSServiceRoleForAmazonPrometheusScraperInternal_cc319052-41a3-4",
               "status": {
                   "statusCode": "ACTIVE"
               },
               "createdAt": "2024-10-29T16:37:58.789000+00:00",
               "lastModifiedAt": "2024-10-29T16:55:17.085000+00:00",
               "tags": {},
               "source": {
                   "eksConfiguration": {
                       "clusterArn": "arn:aws:eks:us-west-2:account_id_source:cluster/xarw",
                       "securityGroupIds": [
                           "sg-security-group-id",
                           "sg-security-group-id"
                       ],
                       "subnetIds": [
                           "subnet-subnet_id"
                       ]
                   }
               },
               "destination": {
                   "ampConfiguration": {
                       "workspaceArn": "arn:aws:aps:us-west-2:account_id_target:workspace/ws-workspace-id"
                   }
               }
           }
       ]
   }
   ```

### Changement entre un rôle lié à un service RoleConfiguration et un rôle lié à un service
<a name="changing-roles"></a>

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 le`RoleConfiguration`, vous devez à nouveau activer le`RoleConfiguration`. `UpdateScraper`

### Création d'un scraper pour les espaces de travail dotés de clés gérées par le client
<a name="setup-customer-managed-keys"></a>

Pour créer un outil permettant d'ingérer des métriques dans un espace de travail Amazon Managed Service for Prometheus à l'aide de [clés gérées par le client](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk), utilisez le `--role-configuration` avec la source et la cible définies sur le même compte.

```
aws amp create-scraper \
  --source eksConfiguration="{clusterArn='arn:aws:eks:us-west-2:account-id:cluster/xarw,subnetIds=[subnet-subnet_id]}" \
  --scrape-configuration configurationBlob=<base64-encoded-blob> \
  --destination ampConfiguration="{workspaceArn='arn:aws:aps:us-west-2:account-id:workspace/ws-workspace-id'}"\
  --role-configuration '{"sourceRoleArn":"arn:aws:iam::account_id:role/Source", "targetRoleArn":"arn:aws:iam::account_id:role/Target"}'
```

### Erreurs courantes lors de la création de grattoirs
<a name="AMP-collector-create-errors"></a>

Les problèmes les plus courants rencontrés lors de la tentative de création d'un nouveau scraper sont les suivants.
+ Les AWS ressources requises n'existent pas. Le *groupe de sécurité*, *les sous-réseaux* et le *cluster Amazon EKS* spécifiés doivent exister.
+ Espace d'adresse IP insuffisant. Vous devez disposer d'au moins une adresse IP dans chaque sous-réseau que vous transmettez à l'`CreateScraper`API.

## Configuration de votre cluster Amazon EKS
<a name="AMP-collector-eks-setup"></a>

Votre cluster Amazon EKS doit être configuré pour permettre au scraper d’accéder aux métriques. Il existe deux options pour cette configuration :
+ Utilisez les *entrées d'accès* Amazon EKS pour fournir automatiquement à Amazon Managed Service for Prometheus Collectors l'accès à votre cluster.
+ Configurez manuellement votre cluster Amazon EKS pour le scraping de métriques géré.

Les rubriques suivantes décrivent chacune d'entre elles de manière plus détaillée.

### Configurer Amazon EKS pour l'accès au scraper avec des entrées d'accès
<a name="AMP-collector-eks-access-entry-setup"></a>

L'utilisation d'entrées d'accès pour Amazon EKS est le moyen le plus simple de permettre à Amazon Managed Service for Prometheus d'accéder aux métriques de votre cluster.

Le cluster Amazon EKS que vous collectez doit être configuré pour autoriser l'authentification par API. Le mode d'authentification du cluster doit être défini sur `API` ou`API_AND_CONFIG_MAP`. Cela est visible dans la console Amazon EKS dans l'onglet **Configuration de l'accès** des détails du cluster. Pour plus d'informations, consultez [Autoriser les rôles ou les utilisateurs IAM à accéder à un objet Kubernetes sur votre cluster Amazon EKS dans](https://docs.aws.amazon.com/eks/latest/userguide/access-entries.html) le guide de l'utilisateur *Amazon* EKS.

Vous pouvez créer le scraper lors de la création du cluster, ou après avoir créé le cluster :
+ **Lors de la création d'un cluster** : vous pouvez configurer cet accès lorsque vous [créez un cluster Amazon EKS via la console Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/create-cluster.html) (suivez les instructions pour créer un scraper dans le cadre du cluster), et une politique de saisie d'accès sera automatiquement créée, permettant à Amazon Managed Service for Prometheus d'accéder aux métriques du cluster.
+ **Ajout après la création d'un cluster** : si votre cluster Amazon EKS existe déjà, configurez le mode d'authentification sur l'un `API` ou l'autre`API_AND_CONFIG_MAP`, et tous les scrapers que vous créez [via l'API ou la CLI Amazon Managed Service for Prometheus](#AMP-collector-create) ou via la console Amazon EKS auront automatiquement la politique d'entrée d'accès appropriée créée pour vous, et les scrapers auront accès à votre cluster.

**Politique d'entrée d'accès créée**

Lorsque vous créez un scraper et que vous laissez Amazon Managed Service for Prometheus générer une politique de saisie d'accès pour vous, il génère la politique suivante. Pour plus d'informations sur les entrées d'accès, consultez [Autoriser les rôles ou les utilisateurs IAM à accéder à Kubernetes dans](https://docs.aws.amazon.com/eks/latest/userguide/access-entries.html) le guide de l'utilisateur *Amazon* EKS.

```
{
    "rules": [
        {
            "effect": "allow",
            "apiGroups": [
                ""
            ],
            "resources": [
                "nodes",
                "nodes/proxy",
                "nodes/metrics",
                "services",
                "endpoints",
                "pods",
                "ingresses",
                "configmaps"
            ],
            "verbs": [
                "get",
                "list",
                "watch"
            ]
        },
        {
            "effect": "allow",
            "apiGroups": [
                "extensions",
                "networking.k8s.io"
            ],
            "resources": [
                "ingresses/status",
                "ingresses"
            ],
            "verbs": [
                "get",
                "list",
                "watch"
            ]
        },
        {
            "effect": "allow",
            "apiGroups": [
                "metrics.eks.amazonaws.com"
            ],
            "resources": [
                "kcm/metrics",
                "ksh/metrics"
            ],
            "verbs": [
                "get"
            ]
        },
        {
            "effect": "allow",
            "nonResourceURLs": [
                "/metrics"
            ],
            "verbs": [
                "get"
            ]
        }
    ]
}
```

### Configuration manuelle d'Amazon EKS pour l'accès au scraper
<a name="AMP-collector-eks-manual-setup"></a>

Si vous préférez utiliser le pour contrôler l'accès `aws-auth ConfigMap` à votre cluster Kubernetes, vous pouvez toujours autoriser les scrapers Amazon Managed Service for Prometheus à accéder à vos métriques. Les étapes suivantes permettront à Amazon Managed Service for Prometheus d'accéder aux métriques de votre cluster Amazon EKS.

**Note**  
Pour plus d'informations sur les entrées `ConfigMap` et pour y accéder, consultez la section [Autoriser les rôles ou utilisateurs IAM à accéder à Kubernetes dans](https://docs.aws.amazon.com/eks/latest/userguide/access-entries.html) le guide de l'utilisateur *Amazon* EKS.

Cette procédure utilise `kubectl` et la AWS CLI. Pour plus d'informations sur l'installation de `kubectl`, consultez [Installation de kubectl](https://docs.aws.amazon.com/eks/latest/userguide/install-kubectl.html) dans le *Guide de l'utilisateur Amazon EKS*.

**Pour configurer manuellement votre cluster Amazon EKS pour le scraping de métriques géré**

1. Créez un fichier appelé `clusterrole-binding.yml` avec le texte suivant :

   ```
   apiVersion: rbac.authorization.k8s.io/v1
   kind: ClusterRole
   metadata:
     name: aps-collector-role
   rules:
     - apiGroups: [""]
       resources: ["nodes", "nodes/proxy", "nodes/metrics", "services", "endpoints", "pods", "ingresses", "configmaps"]
       verbs: ["describe", "get", "list", "watch"]
     - apiGroups: ["extensions", "networking.k8s.io"]
       resources: ["ingresses/status", "ingresses"]
       verbs: ["describe", "get", "list", "watch"]
     - nonResourceURLs: ["/metrics"]
       verbs: ["get"]
     - apiGroups: ["metrics.eks.amazonaws.com"]
       resources: ["kcm/metrics", "ksh/metrics"]
       verbs: ["get"]
   ---
   apiVersion: rbac.authorization.k8s.io/v1
   kind: ClusterRoleBinding
   metadata:
     name: aps-collector-user-role-binding
   subjects:
   - kind: User
     name: aps-collector-user
     apiGroup: rbac.authorization.k8s.io
   roleRef:
     kind: ClusterRole
     name: aps-collector-role
     apiGroup: rbac.authorization.k8s.io
   ```

1. Exécutez la commande suivante dans votre cluster :

   ```
   kubectl apply -f clusterrole-binding.yml
   ```

   Le lien et la règle du rôle du cluster sont alors créés. Cet exemple utilise `aps-collector-role` comme nom de rôle et `aps-collector-user` comme nom d’utilisateur.

1. La commande suivante vous donne des informations sur le scraper avec l'ID*scraper-id*. Il s’agit du scraper que vous avez créé à l’aide de la commande de la section précédente.

   ```
   aws amp describe-scraper --scraper-id scraper-id
   ```

1. À partir des résultats du`describe-scraper`, recherchez le `roleArn`. Son format est le suivant :

   ```
   arn:aws:iam::account-id:role/aws-service-role/scraper.aps.amazonaws.com/AWSServiceRoleForAmazonPrometheusScraper_unique-id
   ```

   Amazon EKS nécessite un format différent pour cet ARN. Vous devez ajuster le format de l’ARN renvoyé pour l’utiliser à l’étape suivante. Modifiez-le pour qu’il corresponde au format suivant :

   ```
   arn:aws:iam::account-id:role/AWSServiceRoleForAmazonPrometheusScraper_unique-id
   ```

   Par exemple, l’ARN suivant :

   ```
   arn:aws:iam::111122223333:role/aws-service-role/scraper.aps.amazonaws.com/AWSServiceRoleForAmazonPrometheusScraper_1234abcd-56ef-7
   ```

   Doit être réécrit comme suit :

   ```
   arn:aws:iam::111122223333:role/AWSServiceRoleForAmazonPrometheusScraper_1234abcd-56ef-7
   ```

1. Exécutez la commande suivante dans votre cluster, en utilisant le `roleArn` modifié de l'étape précédente, ainsi que le nom et la région du cluster.

   ```
   eksctl create iamidentitymapping --cluster cluster-name --region region-id --arn roleArn --username aps-collector-user
   ```

   Le scraper peut ainsi accéder au cluster en utilisant le rôle et l’utilisateur que vous avez créés dans le fichier `clusterrole-binding.yml`.

## Recherche et suppression des scrapers
<a name="AMP-collector-list-delete"></a>

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](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html), 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](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_ListScrapers.html).

Sinon, avec le AWS CLI, appelez :

```
aws amp list-scrapers --region aws-region
```

`ListScrapers` renvoie tous les scrapers de votre compte. Par exemple :

```
{
    "scrapers": [
        {
            "scraperId": "s-1234abcd-56ef-7890-abcd-1234ef567890",
            "arn": "arn:aws:aps:us-west-2: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": {
                "eksConfiguration": {
                    "clusterArn": "arn:aws:eks:us-west-2:123456789012:cluster/my-cluster",
                    "securityGroupIds": [
                        "sg-1234abcd5678ef90"
                    ],
                    "subnetIds": [
                        "subnet-abcd1234ef567890", 
                        "subnet-1234abcd5678ab90"
                    ]
                }
            },
            "destination": {
                "ampConfiguration": {
                    "workspaceArn": "arn:aws:aps:us-west-2: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](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_DeleteScraper.html) pour le supprimer.

Sinon, avec le AWS CLI, appelez :

```
aws amp delete-scraper --scraper-id scraperId
```

## Configuration du scraper
<a name="AMP-collector-configuration"></a>

Vous pouvez contrôler la façon dont votre scraper reconnaît et collecte les métriques grâce à une configuration de scraper compatible avec Prometheus. Par exemple, vous pouvez modifier l’intervalle d’envoi des métriques à l’espace de travail. Vous pouvez également utiliser le réétiquetage pour réécrire dynamiquement les étiquettes d’une métrique. La configuration du scraper est un fichier YAML qui fait partie de la définition du scraper.

Lorsqu’un nouveau scraper est créé, vous spécifiez une configuration en fournissant un fichier YAML codé en base64 dans l’appel d’API. Vous pouvez télécharger un fichier de configuration générale avec l’opération `GetDefaultScraperConfiguration` dans l’API Amazon Managed Service for Prometheus.

Pour modifier la configuration d'un grattoir, vous pouvez utiliser l'`UpdateScraper`opération. Si vous devez mettre à jour la source des métriques (par exemple, vers un autre cluster Amazon EKS), vous devez supprimer le scraper et le recréer avec la nouvelle source.

**Configuration prise en charge**

Pour plus d'informations sur le format de configuration du scraper, y compris une description détaillée des valeurs possibles, voir [Configuration](https://prometheus.io/docs/prometheus/latest/configuration/configuration/) dans la documentation de Prometheus. Les options de configuration globale et les options `<scrape_config>` décrivent les options les plus fréquemment requises.

Amazon EKS étant le seul service pris en charge, la seule configuration de découverte de service (`<*_sd_config>`) prise en charge est le`<kubernetes_sd_config>`.

La liste complète des sections de configuration autorisées :
+ `<global>`
+ `<scrape_config>`
+ `<static_config>`
+ `<relabel_config>`
+ `<metric_relabel_configs>`
+ `<kubernetes_sd_config>`

Les limites de ces sections sont répertoriées après l'exemple de fichier de configuration.

**Exemple de fichier de configuration**

Voici un exemple de fichier de configuration YAML avec un intervalle de récupération de 30 secondes. Cet exemple inclut la prise en charge des métriques du serveur d'API kube, ainsi que des métriques du kube-controller-manager kube-scheduler. Pour plus d'informations, consultez la section [Fetch control plane raw metrics au format Prometheus dans](https://docs.aws.amazon.com/eks/latest/userguide/view-raw-metrics.html#scheduler-controller-metrics) le guide de l'utilisateur *Amazon* EKS.

```
global:
   scrape_interval: 30s
   external_labels:
     clusterArn: apiserver-test-2
scrape_configs:
  - job_name: pod_exporter
    kubernetes_sd_configs:
      - role: pod
  - job_name: cadvisor
    scheme: https
    authorization:
      type: Bearer
      credentials_file: /var/run/secrets/kubernetes.io/serviceaccount/token
    kubernetes_sd_configs:
      - role: node
    relabel_configs:
      - action: labelmap
        regex: __meta_kubernetes_node_label_(.+)
      - replacement: kubernetes.default.svc:443
        target_label: __address__
      - source_labels: [__meta_kubernetes_node_name]
        regex: (.+)
        target_label: __metrics_path__
        replacement: /api/v1/nodes/$1/proxy/metrics/cadvisor
  # apiserver metrics
  - scheme: https
    authorization:
      type: Bearer
      credentials_file: /var/run/secrets/kubernetes.io/serviceaccount/token
    job_name: kubernetes-apiservers
    kubernetes_sd_configs:
    - role: endpoints
    relabel_configs:
    - action: keep
      regex: default;kubernetes;https
      source_labels:
      - __meta_kubernetes_namespace
      - __meta_kubernetes_service_name
      - __meta_kubernetes_endpoint_port_name
  # kube proxy metrics
  - job_name: kube-proxy
    honor_labels: true
    kubernetes_sd_configs:
    - role: pod
    relabel_configs:
    - action: keep
      source_labels:
      - __meta_kubernetes_namespace
      - __meta_kubernetes_pod_name
      separator: '/'
      regex: 'kube-system/kube-proxy.+'
    - source_labels:
      - __address__
      action: replace
      target_label: __address__
      regex: (.+?)(\\:\\d+)?
      replacement: $1:10249
  # Scheduler metrics
  - job_name: 'ksh-metrics'
    kubernetes_sd_configs:
    - role: endpoints
    metrics_path: /apis/metrics.eks.amazonaws.com/v1/ksh/container/metrics
    scheme: https
    bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
    relabel_configs:
    - source_labels:
      - __meta_kubernetes_namespace
      - __meta_kubernetes_service_name
      - __meta_kubernetes_endpoint_port_name
      action: keep
      regex: default;kubernetes;https
  # Controller Manager metrics
  - job_name: 'kcm-metrics'
    kubernetes_sd_configs:
    - role: endpoints
    metrics_path: /apis/metrics.eks.amazonaws.com/v1/kcm/container/metrics
    scheme: https
    bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
    relabel_configs:
    - source_labels:
      - __meta_kubernetes_namespace
      - __meta_kubernetes_service_name
      - __meta_kubernetes_endpoint_port_name
      action: keep
      regex: default;kubernetes;https
```

Les limites suivantes sont spécifiques aux collecteurs AWS gérés :
+ **Intervalle de scrape** : la configuration du scraper ne peut pas spécifier un intervalle de scrape inférieur à 30 secondes.
+ **Cibles** : les cibles de `static_config` doivent être spécifiées sous la forme d'adresses IP.
+ **Résolution DNS** — Lié au nom de la cible, le seul nom de serveur reconnu dans cette configuration est le serveur d'API Kubernetes,. `kubernetes.default.svc` Tous les autres noms de machines doivent être spécifiés par adresse IP.
+ **Autorisation** : omettez si aucune autorisation n'est requise. Si nécessaire, l'autorisation doit l'être `Bearer` et doit pointer vers le fichier`/var/run/secrets/kubernetes.io/serviceaccount/token`. En d'autres termes, si elle est utilisée, la section d'autorisation doit ressembler à ce qui suit :

  ```
      authorization:
        type: Bearer
        credentials_file: /var/run/secrets/kubernetes.io/serviceaccount/token
  ```
**Note**  
`type: Bearer`est la valeur par défaut, elle peut donc être omise.

## Résolution des erreurs de configuration du scraper
<a name="AMP-collector-troubleshoot"></a>

Les collecteurs Amazon Managed Service for Prometheus reconnaissent et collectent automatiquement les métriques. Mais comment résoudre le problème lorsque vous ne voyez pas une métrique que vous vous attendiez à voir dans votre espace de travail Amazon Managed Service for Prometheus ?

**Important**  
Vérifiez que l'accès privé est activé pour votre cluster Amazon EKS. Pour plus d'informations, consultez la section Point de [terminaison privé du cluster](https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html#cluster-endpoint-private) dans le *guide de l'utilisateur Amazon EKS*.

La métrique `up` est un outil utile. Pour chaque point de terminaison reconnu par un collecteur Amazon Managed Service for Prometheus, ce dernier envoie automatiquement cette métrique. Il existe trois états de cette métrique qui peuvent vous aider à résoudre les problèmes qui se produisent dans le collecteur.
+ `up` n’est pas présent – Si aucune métrique `up` n’est présente pour un point de terminaison, cela signifie que le collecteur n’a pas pu trouver le point de terminaison.

  Si vous êtes certain que le point de terminaison existe, le collecteur peut ne pas être en mesure de le trouver pour plusieurs raisons.
  + Vous devrez peut-être ajuster la configuration du scrape. Il `relabel_config` se peut que la découverte doive être ajustée.
  + Il se peut qu'il y ait un problème avec le `role` fichier utilisé pour la découverte.
  + Le [DNS n'est peut-être pas activé](https://docs.aws.amazon.com/vpc/latest/userguide/AmazonDNS-concepts.html) sur le Amazon VPC utilisé par le cluster Amazon EKS, ce qui empêcherait le collecteur de trouver le point de terminaison.
+ `up` est présent, mais la valeur est toujours 0 – Si `up` est présent, mais a la valeur 0, le collecteur est en mesure de reconnaître le point de terminaison, mais ne trouve aucune métrique compatible avec Prometheus.

  Dans ce cas, vous pouvez essayer d’utiliser une commande `curl` directement sur le point de terminaison. Vous pouvez vérifier que les informations sont correctes, par exemple le protocole (`http`ou`https`), le point de terminaison ou le port que vous utilisez. Vous pouvez également vérifier que le terminal répond avec une `200` réponse valide et qu'il respecte le format Prometheus. Enfin, le corps de la réponse ne peut pas dépasser la taille maximale autorisée. (Pour connaître les limites applicables aux collecteurs AWS gérés, consultez la section suivante.)
+ `up` est présent et supérieur à 0 – Si `up` est présent et supérieur à 0, cela signifie que les métriques sont envoyées à Amazon Managed Service for Prometheus.

  Assurez-vous de rechercher les bonnes métriques dans Amazon Managed Service for Prometheus (ou dans votre autre tableau de bord, par exemple Amazon Managed Grafana). Vous pouvez à nouveau utiliser curl pour vérifier les données attendues sur votre point de terminaison `/metrics`. Vérifiez également que vous n’avez pas dépassé les autres limites, telles que le nombre de points de terminaison par scraper. Vous pouvez vérifier le nombre de points de terminaison des métriques extraits en vérifiant le nombre de `up` métriques, en utilisant. `count(up)`

## Limitations du scraper
<a name="AMP-collector-limits"></a>

Les scrapers entièrement gérés fournis par Amazon Managed Service for Prometheus sont soumis à quelques limitations.
+ **Région** – Votre cluster EKS, votre scraper géré et votre espace de travail Amazon Managed Service for Prometheus doivent tous se trouver dans la même région AWS .
+ **Collecteurs** – Vous pouvez disposer d’un maximum de 10 scrapers Amazon Managed Service for Prometheus par région et par compte.
**Note**  
Vous pouvez demander une augmentation de cette limite en [demandant une augmentation de quota](https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase).
+ **Réponse aux métriques** – Le corps d’une réponse provenant d’une demande de point de terminaison `/metrics` ne peut pas dépasser 50 mégaoctets (Mo).
+ **Points de terminaison par scraper** – Un scraper peut collecter jusqu’à 30 000 points de terminaison `/metrics`.
+ **Intervalle de scrape** : la configuration du scraper ne peut pas spécifier un intervalle de scrape inférieur à 30 secondes.

# Configurer des collecteurs Prometheus gérés pour Amazon MSK
<a name="prom-msk-integration"></a>

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](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-collector-how-to.html).

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

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.](https://docs.aws.amazon.com/vpc/latest/userguide/AmazonDNS-concepts.html)

**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](#prom-msk-delete-scraper) séparément de la suppression du cluster.

------
#### [ 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 grattoir dans la région de l'est des États-Unis (Virginie du Nord). Remplacez le *example* contenu par les informations de votre cluster Amazon MSK et fournissez la configuration de votre scraper.

**Note**  
Configurez le groupe de sécurité et les sous-réseaux en fonction de votre cluster cible. Incluez au moins deux sous-réseaux répartis dans deux zones de disponibilité.

```
                POST /scrapers HTTP/1.1
Content-Length: 415 
Authorization: AUTHPARAMS
X-Amz-Date: 20201201T193725Z
User-Agent: aws-cli/1.18.147 Python/2.7.18 Linux/5.4.58-37.125.amzn2int.x86_64 botocore/1.18.6

{
    "alias": "myScraper",
    "destination":  {
        "ampConfiguration": {
            "workspaceArn": "arn:aws:aps:us-east-1:123456789012:workspace/ws-workspace-id"
        }
    },
    "source": {
        "vpcConfiguration": {
            "securityGroupIds": ["sg-security-group-id"],
            "subnetIds": ["subnet-subnet-id-1", "subnet-subnet-id-2"]
        }
    },
    "scrapeConfiguration": {
        "configurationBlob": base64-encoded-blob
    }
}
```

Dans l'exemple, le `scrapeConfiguration` paramètre nécessite un fichier YAML de configuration Prometheus codé en base64 qui spécifie les enregistrements DNS du cluster MSK.

Chaque enregistrement DNS représente un point de terminaison de courtier dans une zone de disponibilité spécifique, permettant aux clients de se connecter à des courtiers répartis sur l'ensemble de votre choix AZs pour une haute disponibilité.

Le nombre d'enregistrements DNS dans les propriétés de votre cluster MSK correspond au nombre de nœuds courtiers et de zones de disponibilité dans la configuration de votre cluster :
+ **Configuration par défaut** : 3 nœuds de courtage répartis sur 3 AZs = 3 enregistrements DNS
+ **Configuration personnalisée** : 2 nœuds de courtage répartis sur 2 AZs = 2 enregistrements DNS

[Pour obtenir les enregistrements DNS de votre cluster MSK, ouvrez-vous la console MSK à https://console.aws.amazon.com/msk/ la maison ? region=us-east-1\$1/home/](https://console.aws.amazon.com/msk/home?region=us-east-1#/home/). Accédez à votre cluster MSK. Choisissez **Properties**, **Brokers** et **Endpoints.**

Vous avez deux options pour configurer Prometheus afin de récupérer les métriques de votre cluster MSK :

1. **Résolution DNS au niveau du cluster (recommandée)** : utilisez le nom DNS de base du cluster pour découvrir automatiquement tous les courtiers. Si le point de terminaison de votre courtier l'est`b-1.clusterName.xxx.xxx.xxx`, utilisez-le `clusterName.xxx.xxx.xxx` comme enregistrement DNS. Cela permet à Prometheus de supprimer automatiquement tous les courtiers du cluster.

   **Points de terminaison individuels du courtier** : spécifiez chaque point de terminaison du courtier individuellement pour un contrôle granulaire. Utilisez les identifiants complets du courtier (b-1, b-2) dans votre configuration. Par exemple :

   ```
   dns_sd_configs:
     - names:
       - b-1.clusterName.xxx.xxx.xxx
       - b-2.clusterName.xxx.xxx.xxx  
       - b-3.clusterName.xxx.xxx.xxx
   ```

**Note**  
`clusterName.xxx.xxx.xxx`Remplacez-le par le point de terminaison de votre cluster MSK réel depuis la AWS console.

Pour plus d'informations, consultez[https://prometheus.io/docs/prometheus/latest/configuration/configuration/#dns_sd_config](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#dns_sd_config) <dns\$1sd\$1config>la documentation de *Prometheus*.

Voici un exemple de fichier de configuration du scraper :

```
global:
  scrape_interval: 30s
  external_labels:
    clusterArn: msk-test-1

scrape_configs:
  - job_name: msk-jmx
    scheme: http
    metrics_path: /metrics
    scrape_timeout: 10s
    dns_sd_configs:
      - names:
          - dns-record-1
          - dns-record-2
          - dns-record-3
        type: A
        port: 11001
    relabel_configs:
      - source_labels: [__meta_dns_name]
        target_label: broker_dns
      - source_labels: [__address__]
        target_label: instance
        regex: '(.*)'
        replacement: '${1}'

  - job_name: msk-node
    scheme: http
    metrics_path: /metrics
    scrape_timeout: 10s
    dns_sd_configs:
      - names:
          - dns-record-1
          - dns-record-2
          - dns-record-3
        type: A
        port: 11002
    relabel_configs:
      - source_labels: [__meta_dns_name]
        target_label: broker_dns
      - source_labels: [__address__]
        target_label: instance
        regex: '(.*)'
        replacement: '${1}'
```

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**  

```
echo -n scraper config updated with dns records | base64 
```

**Example Fenêtres PowerShell**  

```
[Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes(scraper config updated with dns records))
```

------
#### [ 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 grattoir dans la région de l'est des États-Unis (Virginie du Nord). Remplacez le *example* contenu par les informations de votre cluster Amazon MSK et fournissez la configuration de votre scraper.

**Note**  
Configurez le groupe de sécurité et les sous-réseaux en fonction de votre cluster cible. 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']}" \ 
--scrape-configuration configurationBlob=base64-encoded-blob \
 --destination ampConfiguration="{workspaceArn='arn:aws:aps:us-west-2:123456789012:workspace/ws-workspace-id'}"
```

------
+ 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](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 avec 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).

## Configuration multi-comptes
<a name="prom-msk-cross-account"></a>

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**

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. 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::444455556666:role/Target` rôle et ajouter la politique de confiance suivante avec des autorisations pour. [AmazonPrometheusRemoteWriteAccess](https://docs.aws.amazon.com/prometheus/latest/userguide/security-iam-awsmanpol.html)

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

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

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

1. 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
<a name="prom-msk-changing-roles"></a>

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 le`RoleConfiguration`, vous devez à nouveau activer le`RoleConfiguration`. `UpdateScraper`

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

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](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html), 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](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_ListScrapers.html).

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](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_DeleteScraper.html) pour le supprimer.

Sinon, avec le AWS CLI, appelez :

```
aws amp delete-scraper --scraper-id scraperId
```

## Métriques collectées auprès d'Amazon MSK
<a name="prom-msk-metrics"></a>

Lorsque vous intégrez Amazon MSK, le collecteur Amazon Managed Service for Prometheus supprime automatiquement les statistiques suivantes :

### Métriques : jobs jmx\$1exporter et pod\$1exporter
<a name="broker-metrics"></a>


| Métrique | Description/Objectif | 
| --- | --- | 
|  jmx\$1config\$1reload\$1failure\$1total  |  Nombre total de fois où l'exportateur JMX n'a pas réussi à recharger son fichier de configuration.  | 
|  jmx\$1scrape\$1duration\$1seconds  |  Temps nécessaire pour extraire les métriques JMX en secondes pour le cycle de collecte en cours.  | 
|  erreur jmx\$1scrape  |  Indique si une erreur s'est produite lors du scraping des métriques JMX (1 = erreur, 0 = succès).  | 
|  Java\$1lang\$1memory\$1 \$1utilisé HeapMemoryUsage  |  Quantité de mémoire en tas (en octets) actuellement utilisée par la machine virtuelle Java.  | 
|  Java\$1Lang\$1Memory\$1 \$1max HeapMemoryUsage  |  Quantité maximale de mémoire en tas (en octets) pouvant être utilisée pour la gestion de la mémoire.  | 
|  Java\$1lang\$1memory\$1 \$1utilisé NonHeapMemoryUsage  |  Quantité de mémoire hors segment (en octets) actuellement utilisée par la machine virtuelle Java.  | 
|  Kafka\$1Cluster\$1Partition\$1Value  |  État ou valeur actuel lié aux partitions du cluster Kafka, ventilé par ID de partition et par sujet.  | 
|  kafka\$1consumer\$1consumer\$1coordinator\$1metrics\$1assigned\$1partitions  |  Nombre de partitions actuellement attribuées à ce consommateur.  | 
|  kafka\$1consumer\$1consumer\$1coordinator\$1metrics\$1commit\$1latency\$1avg  |  Temps moyen nécessaire pour valider les décalages en millisecondes.  | 
|  kafka\$1consumer\$1consumer\$1coordinator\$1metrics\$1commit\$1rate  |  Nombre de validations de décalage par seconde.  | 
|  kafka\$1consumer\$1consumer\$1coordinator\$1metrics\$1failed\$1rebalance\$1total  |  Nombre total de rééquilibres de groupes de consommateurs qui ont échoué.  | 
|  kafka\$1consumer\$1consumer\$1coordinator\$1metrics\$1last\$1heartbeat\$1seconds\$1ago  |  Nombre de secondes écoulées depuis que le dernier battement de cœur a été envoyé au coordinateur.  | 
|  kafka\$1consumer\$1consumer\$1coordinator\$1metrics\$1rebalance\$1latency\$1avg  |  Durée moyenne des rééquilibres des groupes de consommateurs en millisecondes.  | 
|  kafka\$1consumer\$1consumer\$1coordinator\$1metrics\$1rebalance\$1total  |  Nombre total de rééquilibres de groupes de consommateurs.  | 
|  kafka\$1consumer\$1consumer\$1fetch\$1manager\$1metrics\$1bytes\$1consumed\$1rate  |  Nombre moyen d'octets consommés par seconde par le consommateur.  | 
|  kafka\$1consumer\$1consumer\$1fetch\$1manager\$1metrics\$1fetch\$1latency\$1avg  |  Durée moyenne d'une demande de récupération en millisecondes.  | 
|  kafka\$1consumer\$1consumer\$1fetch\$1manager\$1metrics\$1fetch\$1rate  |  Nombre de demandes de récupération par seconde.  | 
|  kafka\$1consumer\$1consumer\$1fetch\$1manager\$1metrics\$1records\$1consumed\$1rate  |  Nombre moyen d'enregistrements consommés par seconde.  | 
|  kafka\$1consumer\$1consumer\$1fetch\$1manager\$1metrics\$1records\$1lag\$1max  |  Décalage maximal en termes de nombre d'enregistrements pour chaque partition de ce consommateur.  | 
|  kafka\$1consumer\$1consumer\$1metrics\$1connection\$1count  |  Nombre actuel de connexions actives.  | 
|  kafka\$1consumer\$1consumer\$1metrics\$1incoming\$1byte\$1rate  |  Nombre moyen d'octets reçus par seconde de tous les serveurs.  | 
|  kafka\$1consumer\$1consumer\$1metrics\$1last\$1poll\$1ago  |  Nombre de secondes écoulées depuis le dernier appel au sondage auprès des consommateurs ().  | 
|  kafka\$1consumer\$1consumer\$1metrics\$1request\$1rate  |  Nombre de demandes envoyées par seconde.  | 
|  kafka\$1consumer\$1consumer\$1metrics\$1response\$1rate  |  Nombre de réponses reçues par seconde.  | 
|  kafka\$1consumer\$1group\$1 \$1Valeur ConsumerLagMetrics  |  Valeur de décalage actuelle du consommateur pour un groupe de consommateurs, indiquant le retard pris par le consommateur.  | 
|  kafka\$1controller\$1 \$1Valeur KafkaController  |  État ou valeur actuel du contrôleur Kafka (1 = contrôleur actif, 0 = non actif).  | 
|  kafka\$1controller\$1 \$1Count ControllerEventManager  |  Nombre total d'événements du contrôleur traités.  | 
|  kafka\$1controller\$1 \$1Mean ControllerEventManager  |  Temps moyen (moyen) nécessaire pour traiter les événements du contrôleur.  | 
|  Kafka\$1controller\$1 \$1 ControllerStats MeanRate  |  Taux moyen d'opérations statistiques du contrôleur par seconde.  | 
|  kafka\$1coordinator\$1group\$1 \$1Valeur GroupMetadataManager  |  État ou valeur actuels du gestionnaire de métadonnées de groupe pour les groupes de consommateurs.  | 
|  kafka\$1log\$1 \$1Count LogFlushStats  |  Nombre total d'opérations de vidange des journaux.  | 
|  kafka\$1log\$1 \$1Mean LogFlushStats  |  Durée moyenne (moyenne) des opérations de vidange des bûches.  | 
|  kafka\$1log\$1 \$1 LogFlushStats MeanRate  |  Fréquence moyenne des opérations de vidange du journal par seconde.  | 
|  kafka\$1network\$1 \$1Count RequestMetrics  |  Nombre total de demandes réseau traitées.  | 
|  kafka\$1network\$1 \$1Mean RequestMetrics  |  Temps moyen (moyen) nécessaire au traitement des demandes réseau.  | 
|  Kafka\$1network\$1 \$1 RequestMetrics MeanRate  |  Taux moyen de requêtes réseau par seconde.  | 
|  Kafka\$1Network\$1Acceptor\$1 MeanRate  |  Taux moyen de connexions acceptées par seconde.  | 
|  Kafka\$1Server\$1Fetch\$1Queue\$1Size  |  Taille actuelle de la file d'attente des demandes de récupération.  | 
|  Kafka\$1Server\$1Produce\$1Queue\$1Size  |  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\$1server\$1 \$1Count BrokerTopicMetrics  |  Nombre total d'opérations sur des sujets de courtage (messagesin/out, bytes in/out).  | 
|  Kafka\$1serveur\$1 \$1 BrokerTopicMetrics MeanRate  |  Taux moyen d'opérations sur des sujets de courtage par seconde.  | 
|  Kafka\$1serveur\$1 \$1 BrokerTopicMetrics OneMinuteRate  |  Taux moyen mobile sur une minute des opérations sur le sujet des courtiers.  | 
|  kafka\$1server\$1 \$1Valeur DelayedOperationPurgatory  |  Nombre actuel d'opérations retardées au purgatoire (en attente d'achèvement).  | 
|  Kafka\$1serveur\$1 \$1 DelayedFetchMetrics MeanRate  |  Taux moyen d'opérations d'extraction différées par seconde.  | 
|  kafka\$1server\$1 \$1Valeur 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\$1serveur\$1 \$1 FetcherStats MeanRate  |  Taux moyen d'opérations de récupération par seconde.  | 
|  kafka\$1server\$1 \$1Valeur ReplicaManager  |  État ou valeur actuels du gestionnaire de répliques.  | 
|  Kafka\$1serveur\$1 \$1 ReplicaManager MeanRate  |  Taux moyen d'opérations du gestionnaire de répliques par seconde.  | 
|  kafka\$1server\$1 \$1byte\$1rate LeaderReplication  |  Taux d'octets répliqués par seconde pour les partitions où ce broker est le leader.  | 
|  kafka\$1server\$1group\$1coordinator\$1metrics\$1group\$1completed\$1rebalance\$1count  |  Nombre total de rééquilibres de groupes de consommateurs achevés.  | 
|  kafka\$1server\$1group\$1coordinator\$1metrics\$1offset\$1commit\$1count  |  Nombre total d'opérations de validation de compensations.  | 
|  kafka\$1server\$1group\$1coordinator\$1metrics\$1offset\$1commit\$1rate  |  Taux d'opérations de validation de compensation par seconde.  | 
|  kafka\$1server\$1socket\$1server\$1metrics\$1connection\$1count  |  Nombre actuel de connexions actives.  | 
|  kafka\$1server\$1socket\$1server\$1metrics\$1connection\$1creation\$1rate  |  Taux de création de nouvelles connexions par seconde.  | 
|  kafka\$1server\$1socket\$1server\$1metrics\$1connection\$1close\$1rate  |  Taux de fermetures de connexion par seconde.  | 
|  kafka\$1server\$1socket\$1server\$1metrics\$1failed\$1authentication\$1total  |  Nombre total de tentatives d'authentification infructueuses.  | 
|  kafka\$1server\$1socket\$1server\$1metrics\$1incoming\$1byte\$1rate  |  Taux d'octets entrants par seconde.  | 
|  kafka\$1server\$1socket\$1server\$1metrics\$1outgoing\$1byte\$1rate  |  Taux d'octets sortants par seconde.  | 
|  kafka\$1server\$1socket\$1server\$1metrics\$1request\$1rate  |  Taux de demandes par seconde.  | 
|  kafka\$1server\$1socket\$1server\$1metrics\$1response\$1rate  |  Taux de réponses par seconde.  | 
|  kafka\$1server\$1socket\$1server\$1metrics\$1network\$1io\$1rate  |  Taux d' I/O opérations réseau par seconde.  | 
|  kafka\$1server\$1socket\$1server\$1metrics\$1io\$1ratio  |  Fraction du temps consacré aux I/O opérations.  | 
|  kafka\$1server\$1controller\$1channel\$1metrics\$1connection\$1count  |  Nombre actuel de connexions actives pour les canaux du contrôleur.  | 
|  kafka\$1server\$1controller\$1channel\$1metrics\$1incoming\$1byte\$1rate  |  Taux d'octets entrants par seconde pour les canaux du contrôleur.  | 
|  kafka\$1server\$1controller\$1channel\$1metrics\$1outgoing\$1byte\$1rate  |  Débit d'octets sortants par seconde pour les canaux du contrôleur.  | 
|  kafka\$1server\$1controller\$1channel\$1metrics\$1request\$1rate  |  Taux de demandes par seconde pour les canaux du contrôleur.  | 
|  kafka\$1server\$1replica\$1fetcher\$1metrics\$1connection\$1count  |  Nombre actuel de connexions actives pour le récupérateur de répliques.  | 
|  kafka\$1server\$1replica\$1fetcher\$1metrics\$1incoming\$1byte\$1rate  |  Taux d'octets entrants par seconde pour le réplica fetcher.  | 
|  kafka\$1server\$1replica\$1fetcher\$1metrics\$1request\$1rate  |  Taux de demandes par seconde pour le récupérateur de répliques.  | 
|  kafka\$1server\$1replica\$1fetcher\$1metrics\$1failed\$1authentication\$1total  |  Nombre total de tentatives d'authentification infructueuses pour Replica Fetcher.  | 
|  kafka\$1server\$1 \$1Count ZooKeeperClientMetrics  |  Nombre total d'opérations menées par les ZooKeeper clients.  | 
|  kafka\$1server\$1 \$1Mean ZooKeeperClientMetrics  |  Latence moyenne des opérations ZooKeeper du client.  | 
|  kafka\$1server\$1 \$1Valeur KafkaServer  |  État ou valeur actuel du serveur Kafka (indique généralement que le serveur est en cours d'exécution).  | 
|  Nœud\$1cpu\$1secondes\$1total  |  Nombre total de secondes CPUs passées dans chaque mode (utilisateur, système, inactif, etc.), ventilé par processeur et par mode.  | 
|  node\$1disk\$1read\$1octets\$1total  |  Nombre total d'octets lus avec succès sur les disques, ventilé par périphérique.  | 
|  node\$1disk\$1reads\$1completed\$1total  |  Nombre total de lectures effectuées avec succès pour les disques, ventilé par périphérique.  | 
|  node\$1disk\$1writes\$1completed\$1total  |  Nombre total d'écritures effectuées avec succès sur les disques, ventilé par périphérique.  | 
|  node\$1disk\$1written\$1octets\$1total  |  Nombre total d'octets écrits avec succès sur les disques, ventilé par périphérique.  | 
|  node\$1filesystem\$1avail\$1bytes  |  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\$1octets  |  Taille totale du système de fichiers en octets, ventilée par périphérique et point de montage.  | 
|  node\$1filesystem\$1free\$1bytes  |  Espace libre du système de fichiers en octets, ventilé par périphérique et point de montage.  | 
|  fichiers\$1système de fichiers node\$1fichiers  |  Nombre total de nœuds de fichiers (inodes) sur le système de fichiers, ventilé par périphérique et point de montage.  | 
|  node\$1filesystem\$1files\$1free  |  Nombre de nœuds de fichiers libres (inodes) sur le système de fichiers, ventilé par périphérique et point de montage.  | 
|  node\$1filesystem\$1readonly  |  Indique si le système de fichiers est monté en lecture seule (1 = lecture seule, 0 = lecture-écriture).  | 
|  node\$1filesystem\$1device\$1error  |  Indique si une erreur s'est produite lors de l'obtention des statistiques du système de fichiers (1 = erreur, 0 = succès).  | 

## Limitations
<a name="prom-msk-limitations"></a>

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

# Quelles sont les métriques compatibles avec Prometheus ?
<a name="prom-compatible-metrics"></a>

Pour collecter des métriques Prometheus de vos applications et de votre infrastructure afin de les utiliser dans Amazon Managed Service for Prometheus, elles doivent instrumenter et exposer des *métriques compatibles avec Prometheus* provenant de points de terminaison `/metrics` compatibles avec Prometheus. Vous pouvez mettre en œuvre vos propres métriques, mais ce n’est pas obligatoire. Kubernetes (y compris Amazon EKS) et de nombreuses autres bibliothèques et services mettent directement en œuvre ces métriques.

Lorsque des métriques d’Amazon EKS sont exportées vers un point de terminaison compatible avec Prometheus, elles peuvent être automatiquement collectées par le collecteur Amazon Managed Service for Prometheus.

Pour plus d’informations, consultez les rubriques suivantes :
+ Pour plus d’informations sur les bibliothèques et services existants qui exportent des métriques sous forme de métriques Prometheus, consultez la section [Exportateurs et intégrations](https://prometheus.io/docs/instrumenting/exporters/) dans la documentation Prometheus.
+ Pour plus d’informations sur l’exportation de métriques compatibles avec Prometheus à partir de votre propre code, consultez la section [Writing exporters](https://prometheus.io/docs/instrumenting/writing_exporters/) dans la documentation Prometheus.
+ Pour plus d’informations sur la configuration d’un collecteur Amazon Managed Service for Prometheus afin de collecter automatiquement des métriques de vos clusters Amazon EKS, consultez la section [Configurer des collecteurs gérés pour Amazon EKS](AMP-collector-how-to.md).

# Surveillez les collecteurs à l'aide de journaux vendus
<a name="AMP-collector-vended-logs"></a>

Amazon Managed Service for Prometheus Collectors fournit des journaux vendus pour vous aider à surveiller et à résoudre les problèmes liés au processus de collecte des métriques. Ces journaux sont automatiquement envoyés à Amazon CloudWatch Logs et fournissent une visibilité sur les opérations de découverte de services, de collecte de métriques et d'exportation de données. Le collecteur vend des journaux pour trois composants principaux du pipeline de collecte de mesures :

**Topics**
+ [

## Journaux de découverte des services
](#amp-collector-service-discovery-vended-logs)
+ [

## Journaux de collecte
](#amp-collector-vended-logs)
+ [

## Journaux des exportateurs
](#amp-exporter-vended-logs)
+ [

## Comprendre et utiliser les journaux vendus par des collectionneurs
](#amp-collector-log-details)

## Journaux de découverte des services
<a name="amp-collector-service-discovery-vended-logs"></a>

Les journaux de découverte de services fournissent des informations sur le processus de découverte de la cible, notamment :
+ Problèmes d'authentification ou d'autorisation lors de l'accès aux ressources de l'API Kubernetes.
+ Erreurs de configuration dans les paramètres de découverte des services.

Les exemples suivants illustrent les erreurs d'authentification et d'autorisation courantes que vous pouvez rencontrer lors de la découverte de services :

**Cluster Amazon EKS inexistant**  
Lorsque le cluster Amazon EKS spécifié n'existe pas, le message d'erreur suivant s'affiche :  

```
{
  "component": "SERVICE_DISCOVERY",
  "timestamp": "2025-04-30T17:25:41.946Z",
  "message": {
    "log": "Failed to watch Service - Verify your scraper source exists."
  },
  "scrapeConfigId": "s-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"
}
```

**Autorisations non valides pour les services**  
Lorsque le collecteur ne dispose pas des autorisations de contrôle d'accès basé sur les rôles (RBAC) appropriées pour surveiller les services, le message d'erreur suivant s'affiche :  

```
{
  "component": "SERVICE_DISCOVERY",
  "timestamp": "2025-04-30T17:25:41.946Z",
  "message": {
    "log": "Failed to watch Service - Verify your scraper source permissions are valid."
  },
  "scrapeConfigId": "s-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"
}
```

**Autorisations non valides pour les terminaux**  
Lorsque le collecteur ne dispose pas des autorisations appropriées de contrôle d'accès basé sur les rôles (RBAC) pour surveiller les points de terminaison, le message d'erreur suivant s'affiche :  

```
{
  "component": "SERVICE_DISCOVERY",
  "timestamp": "2025-04-30T17:25:41.946Z",
  "message": {
    "log": "Failed to watch Endpoints - Verify your scraper source permissions are valid."
  },
  "scrapeConfigId": "s-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"
}
```

## Journaux de collecte
<a name="amp-collector-vended-logs"></a>

Les journaux du collecteur fournissent des informations sur le processus de scraping métrique, notamment :
+ Supprimez les défaillances dues à l'indisponibilité des terminaux.
+ Problèmes de connexion lors de la tentative de capture de cibles.
+ Délais d'attente pendant les opérations de raclage.
+ Erreurs d'état HTTP renvoyées par les cibles Scrape.

Les exemples suivants illustrent les erreurs de collecteur courantes que vous pouvez rencontrer lors du processus de capture des métriques :

**Point de terminaison des métriques manquant**  
Lorsque le `/metrics` point de terminaison n'est pas disponible sur l'instance cible, le message d'erreur suivant s'affiche :  

```
{
    "component": "COLLECTOR",
    "message": {
        "log": "Failed to scrape Prometheus endpoint - verify /metrics endpoint is available",
        "job": "pod_exporter",
        "targetLabels": "{__name__=\"up\", instance=\10.24.34.0\", job=\"pod_exporter\"}"
    },
    "timestamp": "1752787969551",
    "scraperId": "s-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"
}
```

**Connexion refusée**  
Lorsque le collecteur ne parvient pas à établir une connexion avec le point de terminaison cible, le message d'erreur suivant s'affiche :  

```
{
  "scrapeConfigId": "s-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
  "timestamp": "2025-04-30T17:25:41.946Z",
  "message": {
    "message": "Scrape failed",
    "scrape_pool": "pod_exporter",
    "target": "http://10.24.34.0:80/metrics",
    "error": "Get \"http://10.24.34.0:80/metrics\": dial tcp 10.24.34.0:80: connect: connection refused"
  },
  "component": "COLLECTOR"
}
```

## Journaux des exportateurs
<a name="amp-exporter-vended-logs"></a>

Les journaux des exportateurs fournissent des informations sur le processus d'envoi des métriques collectées à votre espace de travail Amazon Managed Service for Prometheus, notamment :
+ Nombre de mesures et de points de données traités.
+ Échecs d'exportation dus à des problèmes d'espace de travail.
+ Erreurs d'autorisation lors de la tentative d'écriture de métriques.
+ Défaillances de dépendance dans le pipeline d'exportation.

L'exemple suivant illustre une erreur d'exportation courante que vous pouvez rencontrer lors du processus d'exportation des métriques :

**Espace de travail introuvable**  
Lorsque l'espace de travail cible pour l'exportation des métriques est introuvable, le message d'erreur suivant s'affiche :  

```
{
    "component": "EXPORTER",
    "message": {
        "log": "Failed to export to the target workspace - Verify your scraper destination.",
        "samplesDropped": 5
    },
    "timestamp": "1752787969664",
    "scraperId": "s-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"
}
```

## Comprendre et utiliser les journaux vendus par des collectionneurs
<a name="amp-collector-log-details"></a>

### Structure du journal
<a name="amp-log-structure"></a>

Tous les journaux vendus par des collectionneurs suivent une structure cohérente avec les champs suivants :

**scrapeConfigId**  
Identifiant unique de la configuration de scrape qui a généré le journal.

**timestamp**  
Heure à laquelle l'entrée du journal a été générée.

**message**  
Le contenu du message du journal, qui peut inclure des champs structurés supplémentaires.

**composant**  
Le composant qui a généré le journal (SERVICE\$1DISCOVERY, COLLECTOR ou EXPORTER)

### Utilisation des journaux vendus pour le dépannage
<a name="amp-troubleshooting"></a>

Les journaux vendus par le collecteur vous aident à résoudre les problèmes courants liés à la collecte des métriques :

1. Problèmes liés à la découverte de services
   + Vérifiez les journaux **SERVICE\$1DISCOVERY** pour détecter les erreurs d'authentification ou d'autorisation.
   + Vérifiez que le collecteur dispose des autorisations nécessaires pour accéder aux ressources Kubernetes.

1. Problèmes liés au scraping métrique
   + Consultez les journaux **COLLECTOR** pour détecter les défaillances liées au scrapage.
   + Vérifiez que les points de terminaison cibles sont accessibles et renvoient des métriques.
   + Assurez-vous que les règles de pare-feu autorisent le collecteur à se connecter aux points de terminaison cibles.

1. Problèmes d'exportation de données métriques
   + Vérifiez les journaux de **l'EXPORTATEUR** pour détecter les échecs d'exportation.
   + Vérifiez que l'espace de travail existe et qu'il est correctement configuré.
   + Assurez-vous que le collecteur dispose des autorisations nécessaires pour écrire dans l'espace de travail.

### Accès aux journaux vendus par les collecteurs
<a name="amp-accessing-logs"></a>

Les journaux vendus par Collector sont automatiquement envoyés à Amazon CloudWatch Logs. Pour accéder à ces journaux :

1. Ouvrez la CloudWatch console à l'adresse [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Dans le panneau de navigation, choisissez **Groupes de journaux**.

1. Recherchez et sélectionnez le groupe de journaux pour votre collecteur :`/aws/prometheus/workspace_id/collector/collector_id`.

1. Parcourez ou recherchez les événements du journal pour trouver des informations pertinentes.

Vous pouvez également utiliser CloudWatch Logs Insights pour interroger et analyser les journaux de vos collecteurs. Par exemple, pour rechercher toutes les erreurs de découverte de services :

```
fields @timestamp, message.message
| filter component = "SERVICE_DISCOVERY" and message.message like /Failed/
| sort @timestamp desc
```

### Bonnes pratiques pour la surveillance des collecteurs
<a name="amp-monitoring-best-practices"></a>

Pour surveiller efficacement votre Amazon Managed Service pour les collectionneurs Prometheus :

1. Configurez des CloudWatch alarmes pour les problèmes critiques du collecteur, tels que les défaillances persistantes de raclage ou les erreurs d'exportation. Pour plus d'informations, consultez la section [Alarmes](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html) du *guide de CloudWatch l'utilisateur Amazon*.

1. Créez des CloudWatch tableaux de bord pour visualiser les indicateurs de performance des collecteurs ainsi que les données des journaux vendus. Pour plus d'informations, consultez la section [Tableaux](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html) de bord du *guide de l' CloudWatch utilisateur Amazon*.

1. Consultez régulièrement les journaux de découverte des services pour vous assurer que les cibles sont correctement découvertes.

1. Surveillez le nombre de cibles abandonnées pour identifier les problèmes de configuration potentiels.

1. Suivez les échecs d'exportation pour vous assurer que les métriques sont correctement envoyées à votre espace de travail.