Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Melacak data permintaan Step Functions di AWS X-Ray
Anda dapat menggunakan AWS X-Ray untuk memvisualisasikan komponen mesin status, mengidentifikasi hambatan performa, dan memecahkan masalah permintaan yang mengakibatkan kesalahan. Mesin status Anda mengirimkan data jejak ke X-Ray, dan X-Ray memproses data untuk menghasilkan peta layanan dan rangkuman jejak yang dapat dicari.
Dengan X-Ray diaktifkan untuk mesin status Anda, Anda dapat melacak permintaan saat dijalankan di Step Functions, di semua AWS Wilayah di mana X-Ray tersedia. Hal ini memberi Anda detail gambaran umum seluruh permintaan Step Functions. Step Functions akan mengirim jejak ke X-Ray untuk eksekusi mesin status, bahkan ketika ID penelusuran tidak diteruskan oleh layanan hulu. Anda dapat menggunakan peta layanan X-Ray untuk melihat latensi permintaan, termasuk AWS layanan apa pun yang terintegrasi dengan X-Ray. Anda juga dapat mengonfigurasi aturan pengambilan sampel untuk memberi tahu X-Ray mengenai permintaan yang dicatat, tingkat pengambilan sampel, sesuai kriteria yang Anda tentukan.
Ketika X-Ray tidak diaktifkan untuk mesin status Anda, dan layanan hulu tidak meneruskan ID penelusuran, Step Functions tidak akan mengirim jejak ke X-Ray untuk eksekusi mesin status. Namun, jika ID penelusuran diteruskan oleh layanan hulu, Step Functions akan mengirim jejak ke X-Ray untuk eksekusi mesin status.
Anda dapat menggunakan AWS X-Ray Step Functions di wilayah di mana keduanya didukung. Lihat halaman titik akhir dan kuota Step Functionsdan X-Ray untuk informasi dukungan wilayah untuk X-Ray dan Step Functions.
Kuota Gabungan Fungsi X-Ray dan Step Functions
Anda dapat menambahkan data ke jejak hingga tujuh hari, dan data jejak kueri hingga tiga puluh hari sebelumnya, periode waktu yang disimpan oleh X-Ray. Jejak Anda akan dikenakan kuota X-Ray. Selain kuota lainnya, X-Ray memberikan ukuran jejak minimum yang dijamin 100 KiB untuk mesin status Step Functions. Jika lebih dari 100 KiB data jejak diberikan ke X-Ray, ini dapat mengakibatkan jejak beku. Lihat bagian kuota layanan dari Titik akhir dan kuota X-Ray untuk informasi selengkapnya tentang kuota lain untuk X-Ray.
penting
Step Functions tidak mendukung penelusuran X-Ray untuk eksekusi alur kerja anak yang dimulai oleh status Peta Terdistribusi karena mudah untuk melampaui batas ukuran dokumen Trace untuk eksekusi tersebut.
Topik
Penyiapan dan konfigurasi
Aktifkan penelusuran X-Ray saat membuat mesin status
Anda dapat mengaktifkan pelacakan X-Ray saat membuat mesin status baru dengan memilih Aktifkan penelusuran X-Ray pada halaman Tentukan detail.
-
Buka Konsol Step Functions
dan pilih Buat mesin status. -
Pada halaman metode Choose authoring, pilih opsi yang sesuai untuk membuat mesin status Anda. Jika Anda memilih Jalankan proyek sampel, Anda tidak dapat mengaktifkan penelusuran X-Ray selama pembuatan mesin status, dan Anda harus mengaktifkan penelusuran X-Ray setelah mesin status Anda dibuat. Untuk informasi selengkapnya tentang mengaktifkan X-Ray di mesin status yang ada, lihatAktifkan penelusuran X-Ray di mesin status yang ada.
Pilih Berikutnya.
-
Pada halaman Tentukan Detail, konfigurasikan mesin status Anda.
-
Pilih Aktifkan Penelusuran X-Ray.
Mesin status Step Functions Anda kini akan mengirim jejak ke X-Ray untuk eksekusi mesin status.
catatan
Jika Anda memilih untuk menggunakan IAM role yang ada, Anda harus memastikan bahwa penulisan X-Ray diperbolehkan. Untuk informasi selengkapnya tentang izin yang Anda butuhkan, lihat topik berikut.
Kebijakan IAM yang digunakan AWS X-Ray di Step Functions
Untuk mengaktifkan pelacakan X-Ray, Anda memerlukan kebijakan IAM dengan izin yang sesuai untuk mengizinkan pelacakan. Jika mesin status Anda menggunakan layanan terintegrasi lainnya, Anda mungkin memerlukan kebijakan IAM tambahan. Lihat kebijakan IAM untuk integrasi layanan khusus.
Jika Anda mengaktifkan pelacakan X-Ray untuk mesin status yang ada, Anda harus memastikan bahwa Anda menambahkan kebijakan dengan izin yang memadai untuk mengaktifkan jejak X-Ray.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"xray:PutTraceSegments",
"xray:PutTelemetryRecords",
"xray:GetSamplingRules",
"xray:GetSamplingTargets"
],
"Resource": [
"*"
]
}
]
}
Aktifkan penelusuran X-Ray di mesin status yang ada
Untuk mengaktifkan penelusuran X-Ray di mesin status yang ada:
-
Di konsol Step Functions
, pilih mesin status yang ingin Anda aktifkan pelacakan. -
Pilih Edit.
-
Pilih Aktifkan Penelusuran X-Ray.
Anda akan melihat notifikasi yang memberitahu Anda bahwa Anda mungkin perlu membuat perubahan tambahan.
catatan
Jika Anda mengaktifkan X-Ray untuk mesin status yang ada, Anda harus memastikan bahwa Anda memiliki kebijakan IAM yang memberikan izin memadai bagi X-Ray untuk melakukan penelusuran. Anda dapat menambahkan satu secara manual, atau menghasilkan satu. Untuk informasi selengkapnya, lihat bagian kebijakan IAM untuk Kebijakan IAM yang digunakan AWS X-Ray di Step Functions.
-
(Opsional) Buat peran baru secara otomatis bagi mesin status Anda untuk menyertakan izin X-Ray.
-
Pilih Simpan.
Mengonfigurasi penelusuran X-Ray untuk Step Functions
Saat pertama kali menjalankan mesin status dengan penelusuran X-Ray diaktifkan, itu akan menggunakan nilai konfigurasi default untuk penelusuran X-Ray. AWS X-Ray tidak mengumpulkan data untuk setiap permintaan yang dikirim ke aplikasi. Sebaliknya, ia mengumpulkan data untuk sejumlah permintaan yang signifikan secara statistik. Default mencatat permintaan pertama setiap detik dan lima persen dari permintaan tambahan. Satu permintaan per detik adalah waduk. Tindakan ini memastikan bahwa setidaknya satu pelacakan dicatat setiap detik selama layanan melayani permintaan. Lima persen adalah laju tempat permintaan tambahan di luar ukuran reservoir diambil sampelnya.
Untuk menghindari timbulnya biaya layanan ketika Anda memulai, hitungan sampling default adalah konservatif. Anda dapat mengonfigurasi X-Ray untuk mengubah aturan pengambilan sampel default dan mengonfigurasi aturan tambahan yang menerapkan pengambilan sampel berdasarkan properti layanan atau permintaan.
Misalnya, Anda mungkin ingin menonaktifkan sampling dan melacak semua permintaan panggilan yang mengubah status atau penanganan Akun AWS atau transaksi. Untuk panggilan baca-saja dengan volume tinggi, seperti poling latar belakang, pemeriksaan kondisi, atau pemeliharaan koneksi, Anda dapat mengalami kecepatan rendah dan masih mendapatkan data yang cukup untuk mengamati masalah yang terjadi.
Untuk mengonfigurasi aturan pengambilan sampel untuk mesin status Anda:
-
Buka konsol X-Ray
. -
Pilih Pengambilan sampel.
-
Untuk membuat aturan, pilih Buat aturan pengambilan sampel.
Untuk mengedit aturan, pilih nama aturan.
Untuk menghapus aturan, pilih aturan dan gunakan menu Tindakan untuk menghapusnya.
Beberapa bagian aturan pengambilan sampel yang ada, seperti nama dan prioritas, tidak dapat diubah. Sebagai gantinya, tambahkan atau klon aturan yang ada, buat perubahan yang Anda inginkan, lalu gunakan aturan baru.
Untuk detail informasi tentang aturan pengambilan sampel X-Ray dan cara mengonfigurasi berbagai parameter, lihat Mengonfigurasi aturan pengambilan sampel di konsol X-Ray.
Integrasikan layanan hulu
Untuk mengintegrasikan eksekusi alur kerja Step Functions, seperti alur kerja Express, Synchronous, dan Standard, dengan layanan upstream, Anda perlu menyetelnya. traceHeader
Ini secara otomatis dilakukan untuk Anda jika Anda menggunakan API HTTP di API Gateway. Namun, jika Anda menggunakan fungsi Lambda dan/atau SDK, Anda perlu mengatur sendiri panggilan traceHeader
on StartExecution
atau StartSyncExecution
API.
Anda harus menentukan traceHeader
format sebagai\p{ASCII}∗
. Selain itu, untuk membiarkan Step Functions menggunakan ID jejak yang sama, Anda harus menentukan formatnya sebagaiRoot={TRACE_ID};Sampled={1 or 0}
. Jika Anda menggunakan fungsi Lambda, ganti TRACE_ID
dengan ID jejak di segmen Anda saat ini dan atur bidang Sampel seolah-olah mode pengambilan sampel Anda benar dan 1
0
jika mode pengambilan sampel Anda salah. Menyediakan ID jejak dalam format ini memastikan bahwa Anda akan mendapatkan jejak lengkap.
Berikut ini adalah contoh yang ditulis dengan Python untuk menampilkan cara menentukan. traceHeader
state_machine = config.get_string_paramter("STATE_MACHINE_ARN") if (xray_recorder.current_subsegment() is not None and xray_recorder.current_subsegment().sampled) : trace_id = "Root={};Sampled=1".format( xray_recorder.current_subsegment().trace_id ) else: trace_id = "Root=not enabled;Sampled=0" LOGGER.info("trace %s", trace_id) # execute it response = states.start_sync_execution( stateMachineArn=state_machine, input=event['body'], name=context.aws_request_id, traceHeader=trace_id ) LOGGER.info(response)
Konsep
Konsol X-Ray
Di AWS X-Ray konsol, Anda dapat melihat peta layanan dan jejak untuk permintaan yang disajikan aplikasi Anda saat X-Ray diaktifkan untuk mesin status Anda.
Lihat Melihat konsol X-Ray untuk informasi cara mengakses konsol X-Ray dengan tujuan mengeksekusi mesin status Anda.
Untuk detail informasi tentang konsol X-Ray, lihat Dokumentasi konsol X-Ray.
Segmen, subsegmen, dan jejak
Segmen mencatat informasi tentang permintaan ke mesin status Anda. Segmen berisi informasi seperti pekerjaan yang dilakukan mesin status Anda, dan mungkin juga berisi subsegmen dengan informasi tentang panggilan hilir.
Jejak mengumpulkan semua segmen yang dihasilkan oleh satu permintaan.
Pengambilan sampel
Untuk menjamin penelusuran yang efisien dan menyediakan sampel perwakilan permintaan yang dilayani aplikasi Anda, X-Ray menerapkan algoritme pengambilan sampel untuk memastikan permintaan yang ditelusuri. Hal ini dapat diubah dengan mengedit aturan pengambilan sampel.
Metrik
Untuk mesin status Anda, X-Ray akan mengukur waktu invokasi, waktu transisi status, waktu eksekusi keseluruhan Step Functions, dan keberagaman dalam waktu eksekusi ini. Informasi ini dapat diakses melalui konsol X-Ray.
Analitik
Konsol AWS X-Ray Analytics adalah alat interaktif untuk menafsirkan data jejak. Anda dapat mempersempit set data aktif dengan meningkatkan filter terperinci dengan mengeklik grafik dan panel metrik dan bidang yang terkait dengan set pelacakan saat ini. Anda dapat menganalisis kinerja mesin status Anda untuk menemukan dan mengidentifikasi masalah kinerja.
Untuk informasi rinci tentang analitik X-Ray, lihat Berinteraksi dengan konsol AWS X-Ray Analytics
Integrasi layanan Step Functions dan X-Ray
Beberapa AWS layanan yang terintegrasi dengan Step Functions menyediakan integrasi AWS X-Ray dengan menambahkan header tracing ke permintaan, menjalankan daemon X-Ray, atau membuat keputusan pengambilan sampel dan mengunggah data jejak ke X-Ray. Lainnya harus diinstrumentasi menggunakan AWS X-Ray SDK. Beberapa belum mendukung integrasi X-Ray. Integrasi X-Ray diperlukan untuk menyediakan data jejak yang lengkap saat menggunakan integrasi layanan dengan Step Functions
Dukungan X-Ray asli
Integrasi layanan dengan dukungan X-Ray asli meliputi:
-
AWS Step Functions
Instrumentasi diperlukan
Integrasi layanan yang memerlukan Instrumentasi X-Ray:
-
Amazon Elastic Container Service
-
AWS Batch
-
AWS Fargate
Jejak sisi klien saja
Integrasi layanan lainnya tidak mendukung jejak X-Ray. Namun, jejak sisi klien masih dapat dikumpulkan:
-
Amazon DynamoDB
-
Amazon EMR
-
Amazon SageMaker AI
-
AWS CodeBuild
-
AWS Glue
Melihat konsol X-Ray
X-Ray menerima data dari layanan sebagai segmen. X-Ray mengelompokkan segmen yang memiliki permintaan umum ke penelusuran. X-Ray memproses jejak untuk menghasilkan grafik layanan yang menyediakan representasi visual dari aplikasi Anda.
Setelah Anda memulai eksekusi mesin status Anda, Anda dapat melihat jejak X-Ray dengan memilih tautan Peta jejak X-Ray di bagian Detail eksekusi.
Setelah mengaktifkan X-Ray untuk mesin status, Anda dapat melihat informasi penelusuran untuk eksekusi di konsol X-Ray.
Melihat informasi pelacakan X-Ray untuk Step Functions
Langkah-langkah berikut menggambarkan tipe informasi yang dapat Anda lihat di konsol tersebut setelah Anda mengaktifkan X-Ray dan menjalankan eksekusi. Jejak X-Ray untuk proyek sampel Buat contoh pola callback dengan Amazon SQS, Amazon SNS, dan Lambda ditampilkan.
Pelacakan
Setelah eksekusi selesai, Anda dapat membuka konsol X-Ray, tempat Anda dapat melihat halaman Jejak X-Ray. Ini menampilkan gambaran umum peta layanan serta informasi jejak dan segmen untuk mesin status Anda.

Peta layanan
Peta layanan di konsol X-Ray membantu Anda mengidentifikasi layanan tempat kesalahan terjadi, tempat terjadinya koneksi dengan latensi tinggi, atau melihat jejak untuk permintaan yang tidak berhasil.

Pada peta jejak, Anda dapat memilih simpul layanan untuk melihat permintaan bagi simpul tersebut, atau tepi antara dua simpul untuk melihat permintaan yang melewati koneksi tersebut. Di sini, simpul WaitForCallBack
telah dipilih, dan Anda dapat melihat informasi tambahan tentang eksekusi dan status respons.

Anda dapat melihat cara peta layanan X-Ray berkorelasi dengan mesin status. Terdapat simpul peta layanan untuk setiap integrasi layanan yang disebut dengan Step Functions, asalkan mendukung X-Ray.

Segmen dan subsegmen
Jejak adalah kumpulan segmen yang dihasilkan oleh permintaan tunggal. Setiap segmen menyediakan nama sumber daya, detail permintaan, dan detail pekerjaan yang dilakukan. Di halaman Jejak, Anda dapat melihat segmen dan jika diperluas, subsegmennya yang sesuai. Anda dapat memilih segmen atau subsegmen untuk melihat detail informasi hal tersebut.
Anda akan menjadi segmen yang berbeda untuk setiap node pada peta layanan.

Memilih segmen menyediakan nama sumber daya, detail tentang permintaan dan pekerjaan yang dilakukan.
Segmen dapat memecah data tentang pekerjaan yang dilakukan menjadi subsegmen. Memilih subsegmen menunjukkan informasi dan detail waktu granular. Subsegmen dapat berisi rincian tambahan tentang panggilan ke AWS layanan, API HTTP eksternal, atau database SQL.
Analitik
Konsol AWS X-Ray Analytics adalah alat interaktif untuk menafsirkan data jejak. Anda dapat menggunakan ini untuk memahami performa mesin status dengan lebih mudah. Anda dapat menjelajahi, menganalisis, dan memvisualisasikan jejak melalui waktu respons interaktif dan grafik deret waktu untuk membantu menemukan masalah kinerja dan latensi.
Anda dapat mempersempit set data aktif dengan meningkatkan filter terperinci dengan mengeklik grafik dan panel metrik dan bidang yang terkait dengan set pelacakan saat ini.
Konfigurasi
Anda dapat mengonfigurasi opsi pengambilan sampel dan enkripsi dari konsol X-Ray.
-
Pilih Pengambilan sampel untuk melihat detail tingkat dan konfigurasi pengambilan sampel.
Anda dapat mengubah aturan pengambilan sampel untuk mengontrol jumlah data yang Anda catat, dan mengubah perilaku pengambilan sampel sesuai dengan kebutuhan tertentu Anda.
-
Pilih Enkripsi untuk mengubah pengaturan enkripsi.
Anda dapat menggunakan pengaturan default, di mana X-Ray mengenkripsi jejak dan data saat istirahat, atau, jika diperlukan, Anda dapat memilih kunci KMS. Biaya standar AWS KMS berlaku dalam kasus terakhir.
Bagaimana jika tidak ada data dalam peta jejak atau peta layanan?
Jika Anda telah mengaktifkan X-Ray, namun tidak dapat melihat data apa pun di konsol Sinar X, periksa apakah:
-
IAM roles Anda diatur dengan benar untuk memungkinkan penulisan ke X-Ray.
-
Aturan pengambilan sampel memungkinkan pengambilan sampel data.
-
Karena dapat terjadi penundaan singkat sebelum penerapan IAM roles yang baru dibuat atau diubah, periksa jejak atau layanan peta lagi setelah beberapa menit.
-
Jika Anda melihat Data Tidak Ditemukan di panel X-Ray Traces, periksa pengaturan akun IAM
Anda dan pastikan itu AWS Security Token Service diaktifkan untuk wilayah yang dimaksud. Untuk informasi selengkapnya, lihat Mengaktifkan dan menonaktifkan AWS STS dalam Panduan Pengguna Wilayah AWS IAM.