啟用 Transaction Search - Amazon CloudWatch

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

啟用 Transaction Search

可以透過主控台或 API 啟用 Transaction Search。Transaction Search 針對整個帳戶設定,並使用 Amazon CloudWatch 定價,將透過 X-Ray 進行的所有範圍攝取切換到經濟高效的收集模式。預設情況下,系統亦會免費為您索引 1% 的攝入範圍作為追蹤摘要,供分析之用。鑑於您已能透過 Transaction Search,對所有攝入範圍取得完整的端到端追蹤可見性,此比例通常已足夠滿足需求。

先決條件

必須先建立具有下列許可的角色,才能啟用 Transaction Search。

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/*" } ] }
注意

若要使用 Transaction Search 和其他 CloudWatch 功能,請將 CloudWatchReadOnlyAccess 政策新增至您的角色。如需建立角色的詳細資訊,請參閱 IAM role creation

在主控台中啟用 Transaction Search

以下程序說明如何在主控台中啟用 Transaction Search。

在 CloudWatch 主控台中啟用 Transaction Search
  1. 透過 https://console.aws.amazon.com/cloudwatch/ 開啟 CloudWatch 主控台。

  2. 在導覽窗格的 Application Signals 下,選擇 Transaction Search

  3. 選擇啟用 Transaction Search

  4. 選取要擷取為結構化日誌的方塊,然後輸入要編製索引的範圍百分比。可以免費編製 1% 範圍的索引,並在稍後根據需要變更百分比。

使用 API 啟用 Transaction Search

下列程序說明如何使用 API 啟用 Transaction Search。

步驟 1. 建立政策以授與在 CloudWatch Logs 中擷取範圍的存取權

使用 AWS CLI 或 SDK 啟用交易搜尋時,您必須使用資源型政策搭配 來設定許可PutResourcePolicy

範例 政策

下列政策範例允許 X-Ray 將追蹤傳送至 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" } } } ] }
範例 命令

下列範例顯示如何使用 格式化 AWS CLI 命令PutResourcePolicy

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

步驟 2. 設定追蹤區段的目的地

設定透過 UpdateTraceSegmentDestination 進行範圍的擷取。

範例 命令

下列範例顯示如何使用 格式化 AWS CLI 命令UpdateTraceSegmentDestination

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

步驟 3。設定要編製索引的範圍數量

使用 UpdateIndexingRule 設定所需的取樣百分比

範例 命令

下列範例顯示如何使用 格式化 AWS CLI 命令UpdateIndexingRule

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

啟用 Transaction Search 後,需等待約十分鐘,範圍才可用於搜尋和分析。

步驟 4. 驗證範圍是否可用於搜尋和分析

若要驗證範圍是否可用於搜尋和分析,請使用 GetTraceSegmentDestination

命令範例

下列範例顯示如何使用 格式化 AWS CLI 命令GetTraceSegmentDestination

aws xray get-trace-segment-destination
回應範例

下列範例顯示 Transaction Search 處於作用中狀態時,您可能收到的回應。

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