> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appsignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Diffuser les métriques AWS CloudWatch via la console AWS

Ce guide vous accompagne dans la configuration du streaming des métriques CloudWatch vers AppSignal en créant chaque ressource manuellement dans la console AWS. Pour une alternative automatisée, consultez [Diffuser les métriques AWS CloudWatch avec CloudFormation](/metrics/cloudwatch-cloudformation).

Pour un aperçu des métriques CloudWatch dans AppSignal, y compris les Magic Dashboards et la dénomination des métriques, consultez [Métriques AWS CloudWatch](/metrics/cloudwatch-overview).

Effectuez les étapes suivantes pour envoyer les métriques CloudWatch à AppSignal via Amazon Data Firehose :

1. [Configurer un bucket S3 pour les livraisons échouées](#set-up-an-s3-bucket-for-failed-deliveries)
2. [Configurer un rôle IAM pour Data Firehose](#set-up-an-iam-role-for-data-firehose)
3. [Créer un stream Firehose](#create-a-firehose-stream)
4. [Créer un CloudWatch metric stream](#create-a-cloudwatch-metric-stream)

Avant de commencer, préparez les informations suivantes :

* La clé Push API au niveau de l'application de votre app. Pour la trouver, ouvrez la [page des paramètres des clés d'API](https://appsignal.com/redirect-to/app?to=api_keys\&key_tab=app), ou rendez-vous dans les paramètres de votre organisation et sélectionnez **Dev zone > API keys**.
* La région AWS depuis laquelle vous souhaitez diffuser les métriques.
* Les permissions AWS pour créer des streams Firehose, des CloudWatch metric streams, des buckets S3 et des rôles IAM.

## Configurer un bucket S3 pour les livraisons échouées

Amazon Data Firehose nécessite un bucket S3 pour stocker les enregistrements dont la livraison a échoué. Créez un bucket S3 via la console AWS ou la CLI avant de continuer.

## Configurer un rôle IAM pour Data Firehose

Créez un rôle IAM qui permet à Data Firehose d'écrire dans le bucket S3. Utilisez la politique de confiance suivante :

```json JSON theme={null}
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "firehose.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

Attachez la politique d'autorisations suivante au rôle en tant que politique inline.

<Note>
  Consultez [Adding IAM identity
  permissions](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)
  pour les instructions sur la création de politiques inline pour les rôles IAM.
</Note>

```json JSON theme={null}
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:AbortMultipartUpload",
        "s3:GetBucketLocation",
        "s3:GetObject",
        "s3:ListBucket",
        "s3:ListBucketMultipartUploads",
        "s3:PutObject"
      ],
      "Resource": [
        "arn:aws:s3:::<FIREHOSE_S3_BUCKET>",
        "arn:aws:s3:::<FIREHOSE_S3_BUCKET>/*"
      ]
    }
  ]
}
```

Remplacez `<FIREHOSE_S3_BUCKET>` par le nom du bucket S3 que vous avez créé à l'étape précédente.

## Créer un stream Firehose

1. Ouvrez la console Amazon Data Firehose et sélectionnez **Create Firehose stream**.
2. Sélectionnez **Direct PUT** comme source.
3. Sélectionnez **HTTP Endpoint** comme destination.
4. Sous "Transform records", laissez la transformation des données désactivée. Les données doivent être livrées telles quelles.
5. Saisissez l'URL suivante comme **HTTP endpoint URL** :

```shell Shell theme={null}
https://appsignal-endpoint.net/metrics/aws-cloudwatch
```

6. Saisissez la clé Push API au niveau de l'application de votre app comme **Access key**. Il ne s'agit pas d'une clé d'accès AWS. C'est la clé qu'AppSignal utilise pour identifier votre app.
7. Sous "Content encoding", sélectionnez **GZIP**.
8. Sous "Buffer hints", définissez la taille du buffer à **1 MB** et l'intervalle du buffer à **60 seconds** pour la latence la plus faible. Des valeurs plus élevées réduisent les coûts mais augmentent le délai de livraison.
9. Sous "Backup settings", définissez la sauvegarde des enregistrements source sur **Failed data only** et sélectionnez le bucket S3 que vous avez créé aux étapes précédentes.
10. Sous "Advanced settings > Service access", sélectionnez **Choose existing IAM role** et choisissez le rôle IAM que vous avez créé aux étapes précédentes.
11. Sélectionnez **Create Firehose stream**.

## Créer un CloudWatch metric stream

1. Dans la console CloudWatch, allez dans **Metrics > Streams**.
2. Sélectionnez **Create metric stream**.
3. Sélectionnez **Custom setup with Firehose**. Sous **Select your Amazon Data Firehose stream**, choisissez le stream Firehose que vous avez créé à l'étape précédente.
4. Choisissez les métriques à diffuser :
   * **All metrics** diffuse tout depuis tous les services AWS. C'est l'option la plus simple, mais qui peut augmenter les coûts.
   * **Selected namespaces** vous permet d'inclure ou d'exclure des namespaces spécifiques, comme `AWS/EC2`, `AWS/Lambda` ou `AWS/RDS`. Consultez la page [Magic dashboards](/metrics/aws-dashboards) pour les services pris en charge par AppSignal.
5. Sélectionnez **OpenTelemetry 1.0** comme format de sortie.
6. Pour **Service access**, laissez la console AWS créer ou mettre à jour le rôle IAM pour vous, ou choisissez un rôle existant disposant des autorisations d'écriture dans le stream Firehose.
7. Sélectionnez **Create metric stream**.

Vous pouvez créer plusieurs metric streams si vous devez envoyer des métriques vers différentes destinations ou filtrer les métriques différemment pour des cas d'usage distincts.

## Vérifier la configuration

Après avoir terminé la configuration, patientez 5 à 10 minutes pour que les métriques commencent à apparaître dans AppSignal.

Pour vérifier que les données circulent :

1. Vérifiez l'onglet **Monitoring** de votre stream Firehose dans la console AWS. Cherchez des valeurs non nulles pour les métriques **Incoming records** et **HTTP endpoint - Success**.
2. Vérifiez que l'état du metric stream affiche **Running** dans la console CloudWatch sous **Metrics > Streams**.

Si aucune donnée n'apparaît, activez la journalisation d'erreurs CloudWatch Logs sur le stream Firehose et vérifiez les erreurs de livraison.

<Note>
  Certaines métriques AWS, telles que les métriques de stockage quotidiennes S3,
  sont rapportées avec des horodatages de plus de deux heures et n'apparaissent
  pas dans les metric streams. Consultez la [documentation AWS sur les
  CloudWatch Metric
  Streams](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Metric-Streams.html)
  pour plus de détails sur les fréquences de rapport des métriques.
</Note>

## Métriques CloudWatch dans AppSignal

Après la configuration, AppSignal reçoit les métriques de tout service AWS qui émet des métriques via CloudWatch.

AppSignal crée automatiquement des [Magic Dashboards](/metrics/aws-dashboards) pour les services AWS pris en charge lorsqu'il détecte leurs métriques. Ces tableaux de bord apparaissent dans **Dashboards** avec des graphiques préconstruits pour les métriques les plus importantes de chaque service.

Vous pouvez également créer vos propres vues à l'aide de [tableaux de bord personnalisés](/metrics/dashboards). Dans le champ **Metric**, tapez `aws_` pour parcourir les métriques CloudWatch reçues par AppSignal. AppSignal normalise les noms des métriques CloudWatch en minuscules avec des underscores. Par exemple, `AWS/Firehose` `DeliveryToS3.Success` devient `aws_firehose_delivery_to_s3_success`.

Quelques minutes peuvent s'écouler après la configuration avant que les premières métriques n'apparaissent. Si la liste est vide, patientez quelques minutes et actualisez.

Si vous avez besoin d'aide, [contactez-nous](mailto:support@appsignal.com).
