Activer la recherche de transactions - Amazon CloudWatch

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.

Activer la recherche de transactions

Vous pouvez activer Recherche de transactions via la console ou à l’aide d’une API. La recherche de transactions est configurée pour l'ensemble du compte et fait passer tous les spans ingérés via X-Ray en mode de collecte rentable à l'aide d'Amazon CloudWatch Pricing. Par défaut, vous indexerez également 1 % des spans ingérés gratuitement sous forme de résumé des traces à des fins d'analyse, ce qui est généralement suffisant étant donné que vous disposez déjà d'une visibilité complète end-to-end sur tous les spans ingérés via Transaction Search.

Conditions préalables

Avant de pouvoir activer une recherche de transactions, vous devez créer un rôle avec les autorisations suivantes.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "TransactionSearchXRayPermissions", "Effect": "Allow", "Action": [ "xray:GetTraceSegmentDestination", "xray:UpdateTraceSegmentDestination", "xray:GetIndexingRules", "xray:UpdateIndexingRule" ], "Resource": "*" }, { "Sid": "TransactionSearchLogGroupPermissions", "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutRetentionPolicy" ], "Resource": [ "arn:aws:logs:*:*:log-group:/aws/application-signals/data:*", "arn:aws:logs:*:*:log-group:aws/spans:*" ] }, { "Sid": "TransactionSearchLogsPermissions", "Effect": "Allow", "Action": [ "logs:PutResourcePolicy", "logs:DescribeResourcePolicies" ], "Resource": "*" }, { "Sid": "TransactionSearchApplicationSignalsPermissions", "Effect": "Allow", "Action": [ "application-signals:StartDiscovery" ], "Resource": "*" }, { "Sid": "CloudWatchApplicationSignalsCreateServiceLinkedRolePermissions", "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::*:role/aws-service-role/application-signals.cloudwatch.amazonaws.com/AWSServiceRoleForCloudWatchApplicationSignals", "Condition": { "StringLike": { "iam:AWSServiceName": "application-signals.cloudwatch.amazonaws.com" } } }, { "Sid": "CloudWatchApplicationSignalsGetRolePermissions", "Effect": "Allow", "Action": "iam:GetRole", "Resource": "arn:aws:iam::*:role/aws-service-role/application-signals.cloudwatch.amazonaws.com/AWSServiceRoleForCloudWatchApplicationSignals" }, { "Sid": "CloudWatchApplicationSignalsCloudTrailPermissions", "Effect": "Allow", "Action": [ "cloudtrail:CreateServiceLinkedChannel" ], "Resource": "arn:aws:cloudtrail:*:*:channel/aws-service-channel/application-signals/*" } ] }
Note

Pour utiliser Transaction Search et d'autres CloudWatch fonctionnalités, ajoutez la CloudWatchReadOnlyAccess politique à votre rôle. Pour plus d’informations sur la création d’un rôle, consultez Création d’un rôle IAM.

Activation de la recherche de transactions dans la console

La procédure suivante décrit comment activer la recherche de transactions dans la console.

Pour activer la recherche de transactions dans la CloudWatch console
  1. Ouvrez la CloudWatch console à l'adresse https://console.aws.amazon.com/cloudwatch/.

  2. Dans le volet de navigation, sous Vigie applicative, sélectionnez Recherche de transactions.

  3. Sélectionnez Activer la recherche de transactions.

  4. Cochez la case pour ingérer les portées sous forme de journaux structurés et entrez le pourcentage de portées à indexer. Vous pouvez indexer gratuitement 1 % des portées et modifier ce pourcentage ultérieurement en fonction de vos besoins.

Activation de la recherche de transactions à l’aide d’une API

La procédure suivante décrit comment activer la recherche de transactions à l’aide d’une API.

Étape 1. Créez une politique qui accorde l'accès aux intervalles d'ingestion dans les journaux CloudWatch

Lorsque vous utilisez le AWS CLI SDK pour activer Transaction Search, vous devez configurer les autorisations à l'aide d'une politique basée sur les ressources avec. PutResourcePolicy

Exemple de stratégie

L'exemple de politique suivant permet à X-Ray d'envoyer des traces à CloudWatch Logs

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "TransactionSearchXRayAccess", "Effect": "Allow", "Principal": { "Service": "xray.amazonaws.com" }, "Action": "logs:PutLogEvents", "Resource": [ "arn:aws:logs:us-east-1:123456789012:log-group:aws/spans:*", "arn:aws:logs:us-east-1:123456789012:log-group:/aws/application-signals/data:*" ], "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:xray:us-east-1:123456789012:*" }, "StringEquals": { "aws:SourceAccount": "123456789012" } } } ] }
Exemple de commande

L'exemple suivant montre comment formater votre AWS CLI commande avecPutResourcePolicy.

aws logs put-resource-policy --policy-name MyResourcePolicy --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "TransactionSearchXRayAccess", "Effect": "Allow", "Principal": { "Service": "xray.amazonaws.com" }, "Action": "logs:PutLogEvents", "Resource": [ "arn:partition:logs:region:account-id:log-group:aws/spans:*", "arn:partition:logs:region:account-id:log-group:/aws/application-signals/data:*" ], "Condition": { "ArnLike": { "aws:SourceArn": "arn:partition:logs:region:account-id:*" }, "StringEquals": { "aws:SourceAccount": "account-id" } } } ]}'

Étape 2. Configurez la destination des segments de trace

Configurez l’ingestion des portées avec UpdateTraceSegmentDestination.

Exemple de commande

L'exemple suivant montre comment formater votre AWS CLI commande avecUpdateTraceSegmentDestination.

aws xray update-trace-segment-destination --destination CloudWatchLogs

Étape 3. Configurez le nombre de portées à indexer

Configurez le pourcentage d’échantillonnage souhaité avec UpdateIndexingRule

Exemple de commande

L'exemple suivant montre comment formater votre AWS CLI commande avecUpdateIndexingRule.

aws xray update-indexing-rule --name "Default" --rule '{"Probabilistic": {"DesiredSamplingPercentage": number}}'
Note

Une fois la recherche de transactions activée, il faut compter dix minutes pour que les portées soient disponibles pour la recherche et l’analyse.

Étape 4 : Vérifier que les portées sont disponibles pour la recherche et l’analyse

Pour vérifier que les portées sont disponibles pour la recherche et l’analyse, utilisez GetTraceSegmentDestination.

Exemples de commandes

L'exemple suivant montre comment formater votre AWS CLI commande avecGetTraceSegmentDestination.

aws xray get-trace-segment-destination
Exemple de réponse

L’exemple suivant montre la réponse à laquelle vous pouvez vous attendre lorsque la recherche de transactions est active.

{ "Destination": "CloudWatchLogs", "Status": "ACTIVE" }