を使用した X-Ray の例 AWS CLI - AWS SDK CLI コードの例

AWS Doc SDK Examples GitHub リポジトリには他にも AWS SDK例があります。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

を使用した X-Ray の例 AWS CLI

次のコード例は、X-Ray AWS Command Line Interface で を使用してアクションを実行し、一般的なシナリオを実装する方法を示しています。

アクションはより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、関連するシナリオやサービス間の例ではアクションのコンテキストが確認できます。

「シナリオ」は、同じサービス内で複数の関数を呼び出して、特定のタスクを実行する方法を示すコード例です。

各例には、 へのリンクが含まれています。ここでは GitHub、コンテキスト内でコードを設定および実行する方法の手順を確認できます。

トピック

アクション

次の例は、batch-traces-get を使用する方法を説明しています。

AWS CLI

トレースのリストを取得するには

次のbatch-get-traces例では、ID で指定されたトレースのリストを取得します。トレース全体には、同一のトレース ID を使用して取得されるすべてのセグメントドキュメントからコンパイルされた、各セグメントのドキュメントが含まれます。

aws xray batch-get-traces \ --trace-ids 1-5d82881a-0a9126e92a73e971eed891b9

出力:

{ "Traces": [ { "Id": "1-5d82881a-0a9126e92a73e971eed891b9", "Duration": 0.232, "Segments": [ { "Id": "54aff5735b12dd28", "Document": "{\"id\":\"54aff5735b12dd28\",\"name\":\"Scorekeep\",\"start_time\":1.568835610432E9,\"end_time\":1.568835610664E9,\"http\":{\"request\":{\"url\":\"http://scorekeep-env-1.m4fg2pfzpv.us-east-2.elasticbeanstalk.com/api/user\",\"method\":\"POST\",\"user_agent\":\"curl/7.59.0\",\"client_ip\":\"52.95.4.28\",\"x_forwarded_for\":true},\"response\":{\"status\":200}},\"aws\":{\"elastic_beanstalk\":{\"version_label\":\"Sample Application-1\",\"deployment_id\":3,\"environment_name\":\"Scorekeep-env-1\"},\"ec2\":{\"availability_zone\":\"us-east-2b\",\"instance_id\":\"i-0e3cf4d2de0f3f37a\"},\"xray\":{\"sdk_version\":\"1.1.0\",\"sdk\":\"X-Ray for Java\"}},\"service\":{\"runtime\":\"OpenJDK 64-Bit Server VM\",\"runtime_version\":\"1.8.0_222\"},\"trace_id\":\"1-5d82881a-0a9126e92a73e971eed891b9\",\"origin\":\"AWS::ElasticBeanstalk::Environment\",\"subsegments\":[{\"id\":\"2d6900034ccfe558\",\"name\":\"DynamoDB\",\"start_time\":1.568835610658E9,\"end_time\":1.568835610664E9,\"http\":{\"response\":{\"status\":200,\"content_length\":61}},\"aws\":{\"table_name\":\"scorekeep-user\",\"operation\":\"UpdateItem\",\"request_id\":\"TPEIDNDUROMLPOV17U4A79555NVV4KQNSO5AEMVJF66Q9ASUAAJG\",\"resource_names\":[\"scorekeep-user\"]},\"namespace\":\"aws\"}]}" }, { "Id": "0f278b6334c34e6b", "Document": "{\"id\":\"0f278b6334c34e6b\",\"name\":\"DynamoDB\",\"start_time\":1.568835610658E9,\"end_time\":1.568835610664E9,\"parent_id\":\"2d6900034ccfe558\",\"inferred\":true,\"http\":{\"response\":{\"status\":200,\"content_length\":61}},\"aws\":{\"table_name\":\"scorekeep-user\",\"operation\":\"UpdateItem\",\"request_id\":\"TPEIDNDUROMLPOV17U4A79555NVV4KQNSO5AEMVJF66Q9ASUAAJG\",\"resource_names\":[\"scorekeep-user\"]},\"trace_id\":\"1-5d82881a-0a9126e92a73e971eed891b9\",\"origin\":\"AWS::DynamoDB::Table\"}" } ] } ], "UnprocessedTraceIds": [] }

詳細については、AWS 「X-Ray デベロッパーガイド」の「 API AWS CLIでの X-Ray の使用」を参照してください。 AWS

  • API 詳細については、「 コマンドリファレンスBatchTracesGet」の「」を参照してください。 AWS CLI

次の例は、create-group を使用する方法を説明しています。

AWS CLI

グループを作成するには

次のcreate-group例では、 という名前のグループリソースを作成しますAdminGroup。グループは、障害またはエラーの原因となる特定のサービスに関連するセグメントとしてグループの基準を定義するフィルター式を取得します。

aws xray create-group \ --group-name "AdminGroup" \ --filter-expression "service(\"mydomain.com\") {fault OR error}"

出力:

{ "GroupName": "AdminGroup", "GroupARN": "arn:aws:xray:us-west-2:123456789012:group/AdminGroup/123456789", "FilterExpression": "service(\"mydomain.com\") {fault OR error}" }

詳細については、AWS 「X-Ray デベロッパーガイド」の「X-Ray を使用したサンプリング、グループ、および暗号化設定APIAWS の設定」を参照してください。

  • API 詳細については、「 コマンドリファレンスCreateGroup」の「」を参照してください。 AWS CLI

次の例は、create-sampling-rule を使用する方法を説明しています。

AWS CLI

サンプリングルールを作成するには

次のcreate-sampling-rule例では、計測されたアプリケーションのサンプリング動作を制御するルールを作成します。ルールは JSON ファイルによって提供されます。ルールを作成するには、サンプリングルールフィールドの大部分が必要です。

aws xray create-sampling-rule \ --cli-input-json file://9000-base-scorekeep.json

9000-base-scorekeep.json の内容:

{ "SamplingRule": { "RuleName": "base-scorekeep", "ResourceARN": "*", "Priority": 9000, "FixedRate": 0.1, "ReservoirSize": 5, "ServiceName": "Scorekeep", "ServiceType": "*", "Host": "*", "HTTPMethod": "*", "URLPath": "*", "Version": 1 } }

出力:

{ "SamplingRuleRecord": { "SamplingRule": { "RuleName": "base-scorekeep", "RuleARN": "arn:aws:xray:us-west-2:123456789012:sampling-rule/base-scorekeep", "ResourceARN": "*", "Priority": 9000, "FixedRate": 0.1, "ReservoirSize": 5, "ServiceName": "Scorekeep", "ServiceType": "*", "Host": "*", "HTTPMethod": "*", "URLPath": "*", "Version": 1, "Attributes": {} }, "CreatedAt": 1530574410.0, "ModifiedAt": 1530574410.0 } }

詳細については、AWS 「X-Ray デベロッパーガイド」の「X-Ray を使用したサンプリング、グループ、および暗号化設定APIAWS の設定」を参照してください。

  • API 詳細については、「 コマンドリファレンスCreateSamplingRule」の「」を参照してください。 AWS CLI

次の例は、delete-group を使用する方法を説明しています。

AWS CLI

グループを削除するには

次のdelete-group例では、指定されたグループリソースを削除します。

aws xray delete-group \ --group-name "AdminGroup" \ --group-arn "arn:aws:xray:us-east-2:123456789012:group/AdminGroup/123456789"

このコマンドでは何も出力されません。

詳細については、AWS 「X-Ray デベロッパーガイド」の「X-Ray を使用したサンプリング、グループ、および暗号化設定APIAWS の設定」を参照してください。

  • API 詳細については、「 コマンドリファレンスDeleteGroup」の「」を参照してください。 AWS CLI

次の例は、delete-sampling-rule を使用する方法を説明しています。

AWS CLI

サンプリングルールを削除するには

次のdelete-sampling-rule例では、指定されたサンプリングルールを削除します。グループ名またはグループ を使用してグループを指定できますARN。

aws xray delete-sampling-rule \ --rule-name polling-scorekeep

出力:

{ "SamplingRuleRecord": { "SamplingRule": { "RuleName": "polling-scorekeep", "RuleARN": "arn:aws:xray:us-west-2:123456789012:sampling-rule/polling-scorekeep", "ResourceARN": "*", "Priority": 5000, "FixedRate": 0.003, "ReservoirSize": 0, "ServiceName": "Scorekeep", "ServiceType": "*", "Host": "*", "HTTPMethod": "GET", "URLPath": "/api/state/*", "Version": 1, "Attributes": {} }, "CreatedAt": 1530574399.0, "ModifiedAt": 1530574399.0 } }

詳細については、AWS 「X-Ray デベロッパーガイド」の「X-Ray を使用したサンプリング、グループ、および暗号化設定APIAWS の設定」を参照してください。

  • API 詳細については、「 コマンドリファレンスDeleteSamplingRule」の「」を参照してください。 AWS CLI

次の例は、get-encryption-config を使用する方法を説明しています。

AWS CLI

暗号化設定を取得するには

次のget-encryption-config例では、 AWS X-Ray データの現在の暗号化設定を取得します。

aws xray get-encryption-config

出力:

{ "EncryptionConfig": { "KeyId": "ae4aa6d49-a4d8-9df9-a475-4ff6d7898456", "Status": "ACTIVE", "Type": "NONE" } }

詳細については、AWS 「X-Ray デベロッパーガイド」の「X-Ray を使用したサンプリング、グループ、および暗号化設定APIAWS の設定」を参照してください。

  • API 詳細については、「 コマンドリファレンスGetEncryptionConfig」の「」を参照してください。 AWS CLI

次の例は、get-group を使用する方法を説明しています。

AWS CLI

グループを取得するには

次のget-group例では、指定されたグループリソースの詳細を表示します。詳細には、グループ名、グループ ARN、およびそのグループの条件を定義するフィルター式が含まれます。グループは でも取得できますARN。

aws xray get-group \ --group-name "AdminGroup"

出力:

{ "Group": [ { "GroupName": "AdminGroup", "GroupARN": "arn:aws:xray:us-west-2:123456789012:group/AdminGroup/123456789", "FilterExpression": "service(\"mydomain.com\") {fault OR error}" } ] }

詳細については、AWS 「X-Ray デベロッパーガイド」の「X-Ray を使用したサンプリング、グループ、および暗号化設定APIAWS の設定」を参照してください。

  • API 詳細については、「 コマンドリファレンスGetGroup」の「」を参照してください。 AWS CLI

次の例は、get-groups を使用する方法を説明しています。

AWS CLI

すべてのグループを取得するには

次の例では、すべてのアクティブなグループの詳細を表示します。

aws xray get-groups

出力:

{ "Groups": [ { "GroupName": "AdminGroup", "GroupARN": "arn:aws:xray:us-west-2:123456789012:group/AdminGroup/123456789", "FilterExpression": "service(\"example.com\") {fault OR error}" }, { "GroupName": "SDETGroup", "GroupARN": "arn:aws:xray:us-west-2:123456789012:group/SDETGroup/987654321", "FilterExpression": "responsetime > 2" } ] }

詳細については、AWS 「X-Ray デベロッパーガイド」の「X-Ray を使用したサンプリング、グループ、暗号化設定APIAWS の設定」を参照してください。

  • API 詳細については、「 コマンドリファレンスGetGroups」の「」を参照してください。 AWS CLI

次の例は、get-sampling-rules を使用する方法を説明しています。

AWS CLI

すべてのサンプリングルールを取得するには

次のget-sampling-rules例では、使用可能なすべてのサンプリングルールの詳細を表示します。

aws xray get-sampling-rules

出力:

{ "SamplingRuleRecords": [ { "SamplingRule": { "RuleName": "Default", "RuleARN": "arn:aws:xray:us-east-1::sampling-rule/Default", "ResourceARN": "*", "Priority": 10000, "FixedRate": 0.01, "ReservoirSize": 0, "ServiceName": "*", "ServiceType": "*", "Host": "*", "HTTPMethod": "*", "URLPath": "*", "Version": 1, "Attributes": {} }, "CreatedAt": 0.0, "ModifiedAt": 1530558121.0 }, { "SamplingRule": { "RuleName": "base-scorekeep", "RuleARN": "arn:aws:xray:us-east-1::sampling-rule/base-scorekeep", "ResourceARN": "*", "Priority": 9000, "FixedRate": 0.1, "ReservoirSize": 2, "ServiceName": "Scorekeep", "ServiceType": "*", "Host": "*", "HTTPMethod": "*", "URLPath": "*", "Version": 1, "Attributes": {} }, "CreatedAt": 1530573954.0, "ModifiedAt": 1530920505.0 }, { "SamplingRule": { "RuleName": "polling-scorekeep", "RuleARN": "arn:aws:xray:us-east-1::sampling-rule/polling-scorekeep", "ResourceARN": "*", "Priority": 5000, "FixedRate": 0.003, "ReservoirSize": 0, "ServiceName": "Scorekeep", "ServiceType": "*", "Host": "*", "HTTPMethod": "GET", "URLPath": "/api/state/*", "Version": 1, "Attributes": {} }, "CreatedAt": 1530918163.0, "ModifiedAt": 1530918163.0 } ] }

詳細については、「X-Ray デベロッパーガイド」の「X-Ray でのサンプリングルールAPIの使用」を参照してください。 AWS

  • API 詳細については、「 コマンドリファレンスGetSamplingRules」の「」を参照してください。 AWS CLI

次の例は、get-sampling-targets を使用する方法を説明しています。

AWS CLI

サンプリングクォータをリクエストするには

次のget-sampling-targets例では、サービスがリクエストのサンプリングに使用しているルールのサンプリングクォータをリクエストします。 AWS X-Ray からのレスポンスには、リザーバから借用する代わりに使用できるクォータが含まれています。

aws xray get-sampling-targets \ --sampling-statistics-documents '[ { "RuleName": "base-scorekeep", "ClientID": "ABCDEF1234567890ABCDEF10", "Timestamp": "2018-07-07T00:20:06, "RequestCount": 110, "SampledCount": 20, "BorrowCount": 10 }, { "RuleName": "polling-scorekeep", 31, "BorrowCount": 0 } ]'

出力:

{ "SamplingTargetDocuments": [ { "RuleName": "base-scorekeep", "FixedRate": 0.1, "ReservoirQuota": 2, "ReservoirQuotaTTL": 1530923107.0, "Interval": 10 }, { "RuleName": "polling-scorekeep", "FixedRate": 0.003, "ReservoirQuota": 0, "ReservoirQuotaTTL": 1530923107.0, "Interval": 10 } ], "LastRuleModification": 1530920505.0, "UnprocessedStatistics": [] }

詳細については、「X-Ray デベロッパーガイド」の「X-Ray でのサンプリングルールAPIの使用」を参照してください。 AWS

  • API 詳細については、「 コマンドリファレンスGetSamplingTargets」の「」を参照してください。 AWS CLI

次の例は、get-service-graph を使用する方法を説明しています。

AWS CLI

サービスグラフを取得するには

次の例では、指定された期間内に、受信リクエストを処理するサービスと、その結果として呼び出すダウンストリームサービスを記述するドキュメントを表示します。

aws xray get-service-graph \ --start-time 1568835392.0 --end-time 1568835446.0

出力:

{ "Services": [ { "ReferenceId": 0, "Name": "Scorekeep", "Names": [ "Scorekeep" ], "Root": true, "Type": "AWS::ElasticBeanstalk::Environment", "State": "active", "StartTime": 1568835392.0, "EndTime": 1568835446.0, "Edges": [ { "ReferenceId": 1, "StartTime": 1568835392.0, "EndTime": 1568835446.0, "SummaryStatistics": { "OkCount": 14, "ErrorStatistics": { "ThrottleCount": 0, "OtherCount": 0, "TotalCount": 0 }, "FaultStatistics": { "OtherCount": 0, "TotalCount": 0 }, "TotalCount": 14, "TotalResponseTime": 0.13 }, "ResponseTimeHistogram": [ { "Value": 0.008, "Count": 1 }, { "Value": 0.005, "Count": 7 }, { "Value": 0.009, "Count": 1 }, { "Value": 0.021, "Count": 1 }, { "Value": 0.038, "Count": 1 }, { "Value": 0.007, "Count": 1 }, { "Value": 0.006, "Count": 2 } ], "Aliases": [] }, ... TRUNCATED FOR BREVITY ... ] } ], "StartTime": 1568835392.0, "EndTime": 1568835446.0, "ContainsOldGroupVersions": false }

詳細については、AWS 「X-Ray デベロッパーガイド」の「 API AWS CLIでの X-Ray の使用」を参照してください。 AWS

  • API 詳細については、「 コマンドリファレンスGetServiceGraph」の「」を参照してください。 AWS CLI

次の例は、get-trace-summaries を使用する方法を説明しています。

AWS CLI

トレースの概要を取得するには

次のget-trace-summaries例では、指定した期間内に使用可能なトレースの IDsとメタデータを取得します。

aws xray get-trace-summaries \ --start-time 1568835392.0 \ --end-time 1568835446.0

出力:

[ "http://scorekeep-env-1.123456789.us-east-2.elasticbeanstalk.com/api/move/VSAE93HF/GSSD2NTB/DP0PCC09", "http://scorekeep-env-1.123456789.us-east-2.elasticbeanstalk.com/api/move/GCQ2B35P/FREELDFT/4LRE643M", "http://scorekeep-env-1.123456789.us-east-2.elasticbeanstalk.com/api/game/VSAE93HF/GSSD2NTB/starttime/1568835513", "http://scorekeep-env-1.123456789.us-east-2.elasticbeanstalk.com/api/move/4MQNA5NN/L99KK2RF/null" ]

詳細については、AWS 「X-Ray デベロッパーガイド」の「 API AWS CLIでの X-Ray の使用」を参照してください。 AWS

  • API 詳細については、「 コマンドリファレンスGetTraceSummaries」の「」を参照してください。 AWS CLI

次の例は、put-encryption-config を使用する方法を説明しています。

AWS CLI

暗号化設定を更新するには

次の put-encryption-config``example updates the encryption configuration for AWS X-Ray data to use the default AWS managed KMS key ``aws/xray

aws xray put-encryption-config \ --type KMS \ --key-id alias/aws/xray

出力:

{ "EncryptionConfig": { "KeyId": "arn:aws:kms:us-west-2:123456789012:key/c234g4e8-39e9-4gb0-84e2-b0ea215cbba5", "Status": "UPDATING", "Type": "KMS" } }

詳細については、AWS 「X-Ray デベロッパーガイド」の「X-Ray を使用したサンプリング、グループ、および暗号化設定APIAWS の設定」を参照してください。

  • API 詳細については、「 コマンドリファレンスPutEncryptionConfig」の「」を参照してください。 AWS CLI

次の例は、put-trace-segments を使用する方法を説明しています。

AWS CLI

セグメントをアップロードするには

次のput-trace-segments例では、セグメントドキュメントを AWS X-Ray にアップロードします。セグメントドキュメントは、JSONセグメントドキュメントのリストとして使用されます。

aws xray put-trace-segments \ --trace-segment-documents "{\"id\":\"20312a0e2b8809f4\",\"name\":\"DynamoDB\",\"trace_id\":\"1-5832862d-a43aafded3334a971fe312db\",\"start_time\":1.479706157195E9,\"end_time\":1.479706157202E9,\"parent_id\":\"79736b962fe3239e\",\"http\":{\"response\":{\"content_length\":60,\"status\":200}},\"inferred\":true,\"aws\":{\"consistent_read\":false,\"table_name\":\"scorekeep-session-xray\",\"operation\":\"GetItem\",\"request_id\":\"SCAU23OM6M8FO38UASGC7785ARVV4KQNSO5AEMVJF66Q9ASUAAJG\",\"resource_names\":[\"scorekeep-session-xray\"]},\"origin\":\"AWS::DynamoDB::Table\"}"

出力:

{ "UnprocessedTraceSegments": [] }

詳細については、AWS 「X-Ray デベロッパーガイド」の「X-Ray へのトレースデータの送信」を参照してください。 AWS

  • API 詳細については、「 コマンドリファレンスPutTraceSegments」の「」を参照してください。 AWS CLI

次の例は、update-group を使用する方法を説明しています。

AWS CLI

グループを更新するには

次のupdate-group例では、 という名前のグループへのトレースを受け入れる基準を更新しますAdminGroup。グループ名またはグループ を使用して、目的のグループを指定できますARN。

aws xray update-group \ --group-name "AdminGroup" \ --group-arn "arn:aws:xray:us-west-2:123456789012:group/AdminGroup/123456789" \ --filter-expression "service(\"mydomain.com\") {fault}"

出力:

{ "GroupName": "AdminGroup", "GroupARN": "arn:aws:xray:us-east-2:123456789012:group/AdminGroup/123456789", "FilterExpression": "service(\"mydomain.com\") {fault}" }

詳細については、AWS 「X-Ray デベロッパーガイド」の「X-Ray を使用したサンプリング、グループ、および暗号化設定APIAWS の設定」を参照してください。

  • API 詳細については、「 コマンドリファレンスUpdateGroup」の「」を参照してください。 AWS CLI

次の例は、update-sampling-rule を使用する方法を説明しています。

AWS CLI

サンプリングルールを更新するには

次のupdate-sampling-rule例では、サンプリングルールの設定を変更します。ルールはJSONファイルから消費されます。更新されるフィールドのみは必須です。

aws xray update-sampling-rule \ --cli-input-json file://1000-default.json

1000-default.json の内容:

{ "SamplingRuleUpdate": { "RuleName": "Default", "FixedRate": 0.01, "ReservoirSize": 0 } }

出力:

{ "SamplingRuleRecords": [ { "SamplingRule": { "RuleName": "Default", "RuleARN": "arn:aws:xray:us-west-2:123456789012:sampling-rule/Default", "ResourceARN": "*", "Priority": 10000, "FixedRate": 0.01, "ReservoirSize": 0, "ServiceName": "*", "ServiceType": "*", "Host": "*", "HTTPMethod": "*", "URLPath": "*", "Version": 1, "Attributes": {} }, "CreatedAt": 0.0, "ModifiedAt": 1529959993.0 } ] }

詳細については、AWS 「X-Ray デベロッパーガイド」の「X-Ray を使用したサンプリング、グループ、および暗号化設定APIAWS の設定」を参照してください。

  • API 詳細については、「 コマンドリファレンスUpdateSamplingRule」の「」を参照してください。 AWS CLI