쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

AWS CLI에서 AWS X-Ray API 사용하기

포커스 모드

이 페이지에서

AWS CLI에서 AWS X-Ray API 사용하기 - AWS X-Ray

AWS CLI를 사용하여 X-Ray 서비스에 직접 액세스할 수 있고 X-Ray 콘솔이 사용하는 것과 동일한 API를 사용하여 서비스 그래프와 원시 트레이스 데이터를 가져올 수 있습니다. 샘플 애플리케이션은 이러한 API를 AWS CLI에서 사용하는 방법을 보여주는 스크립트를 포함합니다.

사전 조건

이 튜토리얼에서는 Scorekeep 샘플 애플리케이션과 포함된 스크립트를 사용하여 트레이스 데이터와 서비스 맵을 생성합니다. 튜토리얼 시작하기의 지침에 따라 애플리케이션을 시작합니다.

이 튜토리얼에서는 AWS CLI을 사용하여 X-Ray API의 기본 사용법을 보여줍니다. Windows, Linux 및 OS-X에서 사용 가능한 AWS CLI를 이용하면 모든 AWS 서비스용 공개 API에 명령줄로 액세스할 수 있습니다.

참고

단, 해당 AWS CLI가 Scorekeep 샘플 애플리케이션을 생성한 리전에 맞게 구성되어 있는지 확인해야 합니다.

샘플 애플리케이션 테스트용으로 포함된 스크립트는 cURL을 사용하여 API 및 jq로 트래픽을 보내 출력을 구문 분석합니다. jq 실행 파일은 stedolan.github.io에서 다운로드할 수 있고, curl 실행 파일은 https://curl.haxx.se/download.html에서 다운로드할 수 있습니다. 대부분의 Linux 및 OS X 설치에는 cURL이 포함되어 있습니다.

데이터 추적 생성

웹 앱은 게임이 진행되는 동안 몇 초마다 계속해서 API로 가는 트래픽을 생성하지만 생성되는 요청은 한 가지 유형뿐입니다. API를 테스트하는 동안 test-api.sh 스크립트를 사용하여 종단 간 시나리오를 실행하고 보다 다양한 트레이스 데이터를 생성합니다.

test-api.sh 스크립트를 사용하려면
  1. Elastic Beanstalk 콘솔을 엽니다.

  2. 사용 중인 환경의 관리 콘솔로 이동합니다.

  3. 페이지 헤더에서 환경 URL을 복사합니다.

  4. bin/test-api.sh를 열고 API 값을 환경 URL로 바꿉니다.

    #!/bin/bash API=scorekeep.9hbtbm23t2.us-west-2.elasticbeanstalk.com/api
  5. API로 가는 트래픽을 생성하는 스크립트를 실행합니다.

    ~/debugger-tutorial$ ./bin/test-api.sh Creating users, session, game, configuring game, playing game, ending game, game complete. {"id":"MTBP8BAS","session":"HUF6IT64","name":"tic-tac-toe-test","users":["QFF3HBGM","KL6JR98D"],"rules":"102","startTime":1476314241,"endTime":1476314245,"states":["JQVLEOM2","D67QLPIC","VF9BM9NC","OEAA6GK9","2A705O73","1U2LFTLJ","HUKIDD70","BAN1C8FI","G3UDJTUF","AB70HVEV"],"moves":["BS8F8LQ","4MTTSPKP","463OETES","SVEBCL3N","N7CQ1GHP","O84ONEPD","EG4BPROQ","V4BLIDJ3","9RL3NPMV"]}

X-Ray API 사용

AWS CLI는 GetServiceGraphGetTraceSummaries를 포함하여 X-Ray가 제공하는 모든 API 작업에 대한 명령을 제공합니다. 지원되는 모든 작업과 각 작업에서 사용되는 데이터 형식에 대한 자세한 내용은 AWS X-Ray API 참조를 참조하십시오.

예 bin/service-graph.sh
EPOCH=$(date +%s) aws xray get-service-graph --start-time $(($EPOCH-600)) --end-time $EPOCH

이 스크립트는 마지막 10분간의 서비스 그래프를 가져옵니다.

~/eb-java-scorekeep$ ./bin/service-graph.sh | less { "StartTime": 1479068648.0, "Services": [ { "StartTime": 1479068648.0, "ReferenceId": 0, "State": "unknown", "EndTime": 1479068651.0, "Type": "client", "Edges": [ { "StartTime": 1479068648.0, "ReferenceId": 1, "SummaryStatistics": { "ErrorStatistics": { "ThrottleCount": 0, "TotalCount": 0, "OtherCount": 0 }, "FaultStatistics": { "TotalCount": 0, "OtherCount": 0 }, "TotalCount": 2, "OkCount": 2, "TotalResponseTime": 0.054000139236450195 }, "EndTime": 1479068651.0, "Aliases": [] } ] }, { "StartTime": 1479068648.0, "Names": [ "scorekeep.elasticbeanstalk.com" ], "ReferenceId": 1, "State": "active", "EndTime": 1479068651.0, "Root": true, "Name": "scorekeep.elasticbeanstalk.com", ...
예 bin/trace-urls.sh
EPOCH=$(date +%s) aws xray get-trace-summaries --start-time $(($EPOCH-120)) --end-time $(($EPOCH-60)) --query 'TraceSummaries[*].Http.HttpURL'

이 스크립트는 1분 전과 2분 전 사이에 생성된 트레이의 URL을 가져옵니다.

~/eb-java-scorekeep$ ./bin/trace-urls.sh [ "http://scorekeep.elasticbeanstalk.com/api/game/6Q0UE1DG/5FGLM9U3/endtime/1479069438", "http://scorekeep.elasticbeanstalk.com/api/session/KH4341QH", "http://scorekeep.elasticbeanstalk.com/api/game/GLQBJ3K5/153AHDIA", "http://scorekeep.elasticbeanstalk.com/api/game/VPDL672J/G2V41HM6/endtime/1479069466" ]
예 bin/full-traces.sh
EPOCH=$(date +%s) TRACEIDS=$(aws xray get-trace-summaries --start-time $(($EPOCH-120)) --end-time $(($EPOCH-60)) --query 'TraceSummaries[*].Id' --output text) aws xray batch-get-traces --trace-ids $TRACEIDS --query 'Traces[*]'

이 스크립트는 1분 전과 2분 전 사이에 생성된 모든 트레이를 가져옵니다.

~/eb-java-scorekeep$ ./bin/full-traces.sh | less [ { "Segments": [ { "Id": "3f212bc237bafd5d", "Document": "{\"id\":\"3f212bc237bafd5d\",\"name\":\"DynamoDB\",\"trace_id\":\"1-5828d9f2-a90669393f4343211bc1cf75\",\"start_time\":1.479072242459E9,\"end_time\":1.479072242477E9,\"parent_id\":\"72a08dcf87991ca9\",\"http\":{\"response\":{\"content_length\":60,\"status\":200}},\"inferred\":true,\"aws\":{\"consistent_read\":false,\"table_name\":\"scorekeep-session-xray\",\"operation\":\"GetItem\",\"request_id\":\"QAKE0S8DD0LJM245KAOPMA746BVV4KQNSO5AEMVJF66Q9ASUAAJG\",\"resource_names\":[\"scorekeep-session-xray\"]},\"origin\":\"AWS::DynamoDB::Table\"}" }, { "Id": "309e355f1148347f", "Document": "{\"id\":\"309e355f1148347f\",\"name\":\"DynamoDB\",\"trace_id\":\"1-5828d9f2-a90669393f4343211bc1cf75\",\"start_time\":1.479072242477E9,\"end_time\":1.479072242494E9,\"parent_id\":\"37f14ef837f00022\",\"http\":{\"response\":{\"content_length\":606,\"status\":200}},\"inferred\":true,\"aws\":{\"table_name\":\"scorekeep-game-xray\",\"operation\":\"UpdateItem\",\"request_id\":\"388GEROC4PCA6D59ED3CTI5EEJVV4KQNSO5AEMVJF66Q9ASUAAJG\",\"resource_names\":[\"scorekeep-game-xray\"]},\"origin\":\"AWS::DynamoDB::Table\"}" } ], "Id": "1-5828d9f2-a90669393f4343211bc1cf75", "Duration": 0.05099987983703613 } ...

정리

Elastic Beanstalk 환경을 종료하여 Amazon EC2 인스턴스, DynamoDB 테이블 및 기타 리소스를 종료합니다.

Elastic Beanstalk 환경을 종료하려면
  1. Elastic Beanstalk 콘솔을 엽니다.

  2. 사용 중인 환경의 관리 콘솔로 이동합니다.

  3. 작업을 선택합니다.

  4. [Terminate Environment]를 선택합니다.

  5. 종료를 선택합니다.

트레이스 데이터는 30일 후에 X-Ray에서 자동으로 삭제됩니다.

프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.