Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
AWS CLI memungkinkan Anda mengakses layanan X-Ray secara langsung dan menggunakan yang sama dengan APIs yang digunakan konsol X-Ray untuk mengambil grafik layanan dan data jejak mentah. Aplikasi sampel mencakup skrip yang menunjukkan cara menggunakannya APIs dengan AWS CLI.
Prasyarat
Tutorial ini menggunakan aplikasi sampel Scorekeep dan termasuk skrip untuk menghasilkan data pelacakan dan peta layanan. Ikuti instruksi di Memulai tutorial untuk meluncurkan aplikasi.
Tutorial ini menggunakan AWS CLI untuk menunjukkan penggunaan dasar X-Ray API. AWS CLI, tersedia untuk Windows, Linux, dan OS-X, menyediakan akses baris perintah ke publik untuk semua. APIs Layanan AWS
catatan
Anda harus memverifikasi bahwa Anda AWS CLI dikonfigurasi ke Wilayah yang sama tempat aplikasi sampel Scorekeep Anda dibuat.
Skrip disertakan untuk menguji aplikasi sampel menggunakan cURL
untuk mengirim lalu lintas ke API dan jq
untuk mengurai output. Anda dapat mengunduh jq
eksekusi dari stedolan.github.iocurl
eksekusi dari https://curl.haxx.se/download.html
Hasilkan data pelacakan
Aplikasi web terus menghasilkan lalu lintas ke API setiap beberapa detik saat game sedang berlangsung, tetapi hanya menghasilkan satu tipe permintaan. Gunakan skrip test-api.sh
untuk menjalankan skenario end to end dan menghasilkan data pelacakan yang lebih beragam saat Anda menguji API.
Untuk menggunakan skrip test-api.sh
Buka Konsol Elastic Beanstalk
. Navigasikan ke konsol manajemen untuk lingkungan Anda.
-
Salin URL lingkungan dari header halaman.
-
Buka
bin/test-api.sh
dan ganti nilai untuk API dengan URL lingkungan Anda.#!/bin/bash API=
scorekeep.9hbtbm23t2
.us-west-2.elasticbeanstalk.com/api -
Jalankan skrip untuk menghasilkan lalu lintas ke 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"]}
Gunakan API X-Ray
AWS CLI menyediakan perintah untuk semua tindakan API yang disediakan X-Ray, termasuk GetServiceGraph
dan. GetTraceSummaries
Lihat AWS X-Ray Referensi API untuk informasi selengkapnya tentang semua tindakan yang didukung dan tipe data yang mereka gunakan.
contoh bin/service-graph.sh
EPOCH=$(date +%s)
aws xray get-service-graph --start-time $(($EPOCH-600)) --end-time $EPOCH
Skrip mengambil grafik layanan selama 10 menit terakhir.
~/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",
...
contoh bin/trace-urls.sh
EPOCH=$(date +%s)
aws xray get-trace-summaries --start-time $(($EPOCH-120)) --end-time $(($EPOCH-60)) --query 'TraceSummaries[*].Http.HttpURL'
Script mengambil jejak yang URLs dihasilkan antara satu dan dua menit yang lalu.
~/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"
]
contoh 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[*]'
Skrip mengambil pelacakan penuh yang dihasilkan antara satu dan dua menit yang lalu.
~/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
}
...
Pembersihan
Hentikan lingkungan Elastic Beanstalk Anda untuk mematikan instans EC2 Amazon, tabel DynamoDB, dan sumber daya lainnya.
Untuk mengakhiri lingkungan Elastic Beanstalk
Buka Konsol Elastic Beanstalk
. Navigasikan ke konsol manajemen untuk lingkungan Anda.
-
Pilih Tindakan.
-
Pilih Akhiri Lingkungan.
-
Pilih Akhiri.
Data pelacakan dihapus secara otomatis dari X-Ray setelah 30 hari.