Comment résoudre les problèmes de journalisation inter-comptes dans CloudWatch ?

Dernière mise à jour : 12-05-2022

Je souhaite résoudre les problèmes liés à la journalisation inter-comptes à l'aide de mon compte Amazon CloudWatch. Comment procéder ?

Brève description

Vous pouvez envoyer des journaux CloudWatch au sein de votre compte ou vers un autre compte AWS, et ce, presque en temps réel. Le partage de vos journaux avec un autre compte AWS ou la réception de leurs journaux est appelé journalisation inter-comptes. Vous pouvez configurer la journalisation inter-comptes à l'aide du flux Amazon Kinesis ou Amazon Kinesis Data Firehose. Vous pouvez également diffuser les données en continu vers Amazon OpenSearch à l'aide d'un filtre d'abonnement. La console CloudWatch prend en charge toutes ces options. Pour plus d'informations sur l'utilisation de la journalisation inter-comptes, consultez les articles suivants :

Solution

Résoudre les problèmes liés au flux de diffusion Kinesis Data Stream/Kinesis Data Firehose comme cible

1.    Assurez-vous que votre flux Kinesis ou Kinesis Data Firehose est bien actif. Vous pouvez afficher l'état depuis la console Kinesis ou utiliser les appels d'API DescribeStream ou DescribeDeliveryStream.

2.    Vérifiez que la région du groupe de journaux CloudWatch et la région du flux de données Kinesis correspondent bien.

3.    Vérifiez que vous avez bien créé un rôle AWS Identity and Access Management (IAM) avec les autorisations d'approbation appropriées en place. Le rôle IAM doit autoriser vos journaux CloudWatch à envoyer des évènements du journal au flux de données Kinesis ou Kinesis Data Firehose.

Dans cet exemple, le compte du destinataire des données du journal possède l'ID de compte AWS 999999999999. L'ID de compte AWS de l'expéditeur des données des journaux est 111111111111. Assurez-vous que le compte 111111111111 est autorisé dans la politique d'approbation du compte du destinataire pour le flux Kinesis Data Streams ou Kinesis Data Firehose. Voici un exemple de politique d'approbation IAM pour le flux de diffusion Kinesis Data Streams ou Kinesis Data Firehose :

{
  "Statement": {
    "Effect": "Allow",
    "Principal": {
      "Service": "logs.region.amazonaws.com"
    },
    "Condition": {
      "StringLike": {
        "aws:SourceArn": [
          "arn:aws:logs:region:sourceAccountId:*",
          "arn:aws:logs:region:recipientAccountId:*"
        ]
      }
    },
    "Action": "sts:AssumeRole"
  }
}

Cet exemple présente une politique de rôle IAM pour Kinesis Data Streams :

{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "kinesis:PutRecord",
      "Resource": "arn:aws:kinesis:region:999999999999:stream/RecipientStream"
    }
  ]
}
 
IAM role policy for kinesis Firehose stream.
 
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "firehose:*"
      ],
      "Resource": [
        "arn:aws:firehose:region:999999999999:*"
      ]
    }
  ]
}

4.    Vérifiez que les régions et les ARN de ressources de votre politique IAM sont corrects.

5.    Assurez-vous que vous n'avez pas sélectionné Kinesis Firehose lors de la configuration d'un filtre d'abonnement pour Kinesis Data Streams.

6.    Après avoir commencé la diffusion en continu, vérifiez les métriques du filtre d'abonnement. Vérifiez que le modèle de filtre est bien valide et correspond aux évènements du journal entrants. Pour plus d'informations, consultez Surveillance avec les métriques CloudWatch. Utilisez ces métriques :

  • ForwardedBytes - Le volume d'évènements du journal en octets compressés transmis à la destination de l'abonnement.
  • ForwardedLogEvents - Le nombre d'évènements du journal transférés vers les destinations de l'abonnement.

7.    Pour vérifier qu'il n'y a pas d'erreur lors de la diffusion en continu d'évènements du journal vers la destination, vérifiez ces métriques pour connaître les erreurs de destination. Vous pouvez trouver un point de données qui confirme que l'évènement du journal a reçu une erreur lors de la diffusion en continu d'évènements du journal vers la destination.

  • DeliveryErrors - Le nombre d'évènements de journal pour lesquels les journaux CloudWatch ont enregistré une erreur lors du transfert de données vers la destination de l'abonnement.
  • DeliveryThrottling - Le nombre d'évènements de journal que les journaux CloudWatch ont limité lors du transfert des données vers la destination de l'abonnement.

8.    Si vous disposez d'un flux dédié qui fournit des informations sur les fonctionnalités de votre Kinesis Data Streams, vérifiez les métriques de votre Kinesis Data Stream ou Kinesis Firehose. Pour plus d'informations, consultez Surveillance du service Amazon Kinesis Data Streams avec Amazon CloudWatch et Surveillance de Kinesis Data Firehose à l'aide de métriques CloudWatch.

Résolution des problèmes liés à OpenSearch en tant que destination cible

1.    Vérifiez que le domaine OpenSearch autorise soit l'accès public, soit l'accès au VPC. Pour plus d'informations, veuillez consulter Création et gestion de domaines Amazon OpenSearch Service.

2.    Assurez-vous que la fonction AWS Lambda a un rôle d'exécution IAM qui possède une relation de confiance pour lambda.amazonaws.com avec cette politique de rôle :

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": [
        "es:*"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:es:region:account-id:domain/target-domain-name/*"
    }
  ]
}

3.    Si le domaine OpenSearch cible utilise l'accès VPC, vérifiez que la politique AWSLambdaVPCAccessExecutionRole est attachée au rôle.


Cet article vous a-t-il été utile ?


Avez-vous besoin d'aide pour une question technique ou de facturation ?