Contoh X-Ray menggunakan AWS CLI - AWS SDKContoh Kode

Ada lebih banyak AWS SDK contoh yang tersedia di GitHub repo SDKContoh AWS Dokumen.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Contoh X-Ray menggunakan AWS CLI

Contoh kode berikut menunjukkan kepada Anda bagaimana melakukan tindakan dan menerapkan skenario umum dengan menggunakan X-Ray AWS Command Line Interface dengan.

Tindakan adalah kutipan kode dari program yang lebih besar dan harus dijalankan dalam konteks. Sementara tindakan menunjukkan cara memanggil fungsi layanan individual, Anda dapat melihat tindakan dalam konteks dalam skenario terkait.

Setiap contoh menyertakan tautan ke kode sumber lengkap, di mana Anda dapat menemukan instruksi tentang cara mengatur dan menjalankan kode dalam konteks.

Tindakan

Contoh kode berikut menunjukkan cara menggunakanbatch-traces-get.

AWS CLI

Untuk mendapatkan daftar jejak

batch-get-tracesContoh berikut mengambil daftar jejak yang ditentukan oleh ID. Pelacakan lengkap mencakup dokumen untuk setiap segmen, dikompilasi dari semua dokumen segmen yang diterima dengan ID pelacakan yang sama.

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

Output:

{ "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": [] }

Untuk informasi selengkapnya, lihat Menggunakan AWS X-Ray API AWS CLI dengan Panduan Pengembang AWS X-Ray.

  • Untuk API detailnya, lihat BatchTracesGetdi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakancreate-group.

AWS CLI

Untuk membuat grup

create-groupContoh berikut membuat sumber daya grup bernamaAdminGroup. Grup mendapatkan ekspresi filter yang mendefinisikan kriteria grup sebagai segmen yang terkait dengan layanan tertentu yang menyebabkan kesalahan atau kesalahan.

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

Output:

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

Untuk informasi selengkapnya, lihat Mengonfigurasi Pengaturan Pengambilan Sampel, Grup, dan Enkripsi dengan X-Ray API di AWS Panduan Pengembang AWS X-Ray.

  • Untuk API detailnya, lihat CreateGroupdi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakancreate-sampling-rule.

AWS CLI

Untuk membuat aturan pengambilan sampel

create-sampling-ruleContoh berikut membuat aturan untuk mengontrol perilaku pengambilan sampel untuk aplikasi berinstrumen. Aturan disediakan oleh JSON file. Mayoritas bidang aturan pengambilan sampel diperlukan untuk membuat aturan.

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

Isi dari 9000-base-scorekeep.json:

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

Output:

{ "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 } }

Untuk informasi selengkapnya, lihat Mengonfigurasi Pengaturan Pengambilan Sampel, Grup, dan Enkripsi dengan X-Ray API di AWS Panduan Pengembang AWS X-Ray.

Contoh kode berikut menunjukkan cara menggunakandelete-group.

AWS CLI

Untuk menghapus grup

delete-groupContoh berikut menghapus sumber daya grup yang ditentukan.

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

Perintah ini tidak menghasilkan output.

Untuk informasi selengkapnya, lihat Mengonfigurasi Pengaturan Pengambilan Sampel, Grup, dan Enkripsi dengan X-Ray API di AWS Panduan Pengembang AWS X-Ray.

  • Untuk API detailnya, lihat DeleteGroupdi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakandelete-sampling-rule.

AWS CLI

Untuk menghapus aturan pengambilan sampel

delete-sampling-ruleContoh berikut menghapus aturan sampling yang ditentukan. Anda dapat menentukan grup dengan menggunakan nama grup atau grupARN.

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

Output:

{ "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 } }

Untuk informasi selengkapnya, lihat Mengonfigurasi Pengaturan Pengambilan Sampel, Grup, dan Enkripsi dengan X-Ray API di AWS Panduan Pengembang AWS X-Ray.

Contoh kode berikut menunjukkan cara menggunakanget-encryption-config.

AWS CLI

Untuk mengambil konfigurasi enkripsi

get-encryption-configContoh berikut mengambil konfigurasi enkripsi saat ini untuk data AWS X-Ray Anda.

aws xray get-encryption-config

Output:

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

Untuk informasi selengkapnya, lihat Mengonfigurasi Pengaturan Pengambilan Sampel, Grup, dan Enkripsi dengan X-Ray API di AWS Panduan Pengembang AWS X-Ray.

Contoh kode berikut menunjukkan cara menggunakanget-group.

AWS CLI

Untuk mengambil grup

get-groupContoh berikut menampilkan rincian untuk sumber daya grup tertentu. Rinciannya mencakup nama grup, grupARN, dan ekspresi filter yang menentukan kriteria untuk grup tersebut. Grup juga dapat diambil olehARN.

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

Output:

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

Untuk informasi selengkapnya, lihat Mengonfigurasi Pengaturan Pengambilan Sampel, Grup, dan Enkripsi dengan X-Ray API di AWS Panduan Pengembang AWS X-Ray.

  • Untuk API detailnya, lihat GetGroupdi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanget-groups.

AWS CLI

Untuk mengambil semua grup

Contoh berikut menampilkan rincian untuk semua grup aktif.

aws xray get-groups

Output:

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

Untuk informasi selengkapnya, lihat Mengonfigurasi Pengaturan Pengambilan Sampel, Grup, dan Enkripsi dengan X-Ray API di AWS Panduan Pengembang AWS X-Ray.

  • Untuk API detailnya, lihat GetGroupsdi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanget-sampling-rules.

AWS CLI

Untuk mengambil semua aturan pengambilan sampel

get-sampling-rulesContoh berikut menampilkan rincian untuk semua aturan sampling yang tersedia. :

aws xray get-sampling-rules

Output:

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

Untuk informasi selengkapnya, lihat Menggunakan Aturan Pengambilan Sampel dengan X-Ray API di Panduan Pengembang AWS X-Ray.

Contoh kode berikut menunjukkan cara menggunakanget-sampling-targets.

AWS CLI

Untuk meminta kuota sampling

get-sampling-targetsContoh berikut meminta kuota sampling untuk aturan yang digunakan layanan untuk sampel permintaan. Tanggapan dari AWS X-Ray termasuk kuota yang dapat digunakan sebagai pengganti meminjam dari reservoir.

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

Output:

{ "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": [] }

Untuk informasi selengkapnya, lihat Menggunakan Aturan Pengambilan Sampel dengan X-Ray API di Panduan Pengembang AWS X-Ray.

Contoh kode berikut menunjukkan cara menggunakanget-service-graph.

AWS CLI

Untuk mendapatkan grafik layanan

Contoh berikut menampilkan dokumen dalam jangka waktu tertentu yang menjelaskan layanan yang memproses permintaan masuk, dan layanan hilir yang mereka panggil sebagai hasilnya. :

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

Output:

{ "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 }

Untuk informasi selengkapnya, lihat Menggunakan AWS X-Ray API AWS CLI dengan Panduan Pengembang AWS X-Ray.

Contoh kode berikut menunjukkan cara menggunakanget-trace-summaries.

AWS CLI

Untuk mendapatkan ringkasan jejak

get-trace-summariesContoh berikut mengambil IDs dan metadata untuk jejak yang tersedia dalam jangka waktu tertentu.

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

Output:

[ "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" ]

Untuk informasi selengkapnya, lihat Menggunakan AWS X-Ray API AWS CLI dengan Panduan Pengembang AWS X-Ray.

Contoh kode berikut menunjukkan cara menggunakanput-encryption-config.

AWS CLI

Untuk memperbarui konfigurasi enkripsi

Berikut iniput-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

Output:

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

Untuk informasi selengkapnya, lihat Mengonfigurasi Pengaturan Pengambilan Sampel, Grup, dan Enkripsi dengan X-Ray API di AWS Panduan Pengembang AWS X-Ray.

Contoh kode berikut menunjukkan cara menggunakanput-trace-segments.

AWS CLI

Untuk mengunggah segmen

put-trace-segmentsContoh berikut mengunggah dokumen segmen ke AWS X-Ray. Dokumen segmen dikonsumsi sebagai daftar dokumen JSON segmen.

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\"}"

Output:

{ "UnprocessedTraceSegments": [] }

Untuk informasi selengkapnya, lihat Mengirim Data Jejak ke AWS X-Ray di Panduan Pengembang AWS X-Ray.

Contoh kode berikut menunjukkan cara menggunakanupdate-group.

AWS CLI

Untuk memperbarui grup

update-groupContoh berikut memperbarui kriteria yang digunakan untuk menerima jejak ke dalam grup bernamaAdminGroup. Anda dapat menentukan grup yang diinginkan dengan menggunakan nama grup atau grupARN.

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

Output:

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

Untuk informasi selengkapnya, lihat Mengonfigurasi Pengaturan Pengambilan Sampel, Grup, dan Enkripsi dengan X-Ray API di AWS Panduan Pengembang AWS X-Ray.

  • Untuk API detailnya, lihat UpdateGroupdi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanupdate-sampling-rule.

AWS CLI

Untuk memperbarui aturan pengambilan sampel

update-sampling-ruleContoh berikut memodifikasi konfigurasi aturan sampling ini. Aturan dikonsumsi dari JSON file. Hanya bidang yang diperbarui yang diperlukan.

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

Isi dari 1000-default.json:

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

Output:

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

Untuk informasi selengkapnya, lihat Mengonfigurasi Pengaturan Pengambilan Sampel, Grup, dan Enkripsi dengan X-Ray API di AWS Panduan Pengembang AWS X-Ray.