이 설명서는 의 버전 1 AWS CLI 전용입니다. 의 버전 2와 관련된 설명서는 버전 2 사용 설명서 를 AWS CLI참조하세요.
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
를 사용한 X-Ray 예제 AWS CLI
다음 코드 예제에서는 X-Ray AWS Command Line Interface 와 함께 를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다.
작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 개별 서비스 함수를 직접적으로 호출하는 방법을 보여주며 관련 시나리오의 컨텍스트에 맞는 작업을 볼 수 있습니다.
각 예제에는 컨텍스트에서 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있는 전체 소스 코드에 대한 링크가 포함되어 있습니다.
주제
작업
다음 코드 예시에서는 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를 사용한 샘플링, 그룹 및 암호화 설정 구성을 참조하세요API. AWS
-
자세한 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를 사용한 샘플링, 그룹 및 암호화 설정 구성을 참조하세요API. AWS
-
자세한 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를 사용한 샘플링, 그룹 및 암호화 설정 구성을 참조하세요API. AWS
-
자세한 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를 사용한 샘플링, 그룹 및 암호화 설정 구성을 참조하세요API. AWS
-
자세한 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를 사용한 샘플링, 그룹 및 암호화 설정 구성을 참조하세요API. AWS
-
자세한 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를 사용한 샘플링, 그룹 및 암호화 설정 구성을 참조하세요API. AWS
-
자세한 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를 사용한 샘플링, 그룹 및 암호화 설정 구성을 참조하세요API. AWS
-
자세한 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-time1568835446.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-time1568835446.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-idalias/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를 사용한 샘플링, 그룹 및 암호화 설정 구성을 참조하세요API. AWS
-
자세한 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를 사용한 샘플링, 그룹 및 암호화 설정 구성을 참조하세요API. AWS
-
자세한 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를 사용한 샘플링, 그룹 및 암호화 설정 구성을 참조하세요API. AWS
-
자세한 API 내용은 명령 참조UpdateSamplingRule
의 섹션을 참조하세요. AWS CLI
-