Melacak data permintaan Step Functions di AWS X-Ray - AWS Step Functions

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-Rayuntuk memvisualisasikan komponen mesin status Anda, mengidentifikasi kemacetan kinerja, 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 Daerah 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 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 dengan 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 menyediakan ukuran jejak minimal terjamin sebesar 100KB untuk mesin status Step Functions. Jika lebih dari 100KB data jejak diberikan ke X-Ray, hal ini dapat mengakibatkan penelusuran 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.

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.

  1. Buka Konsol Step Functions dan pilih Buat mesin status.

  2. 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.

  3. Pada halaman Tentukan Detail, konfigurasikan mesin status Anda.

  4. 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 peran yang ada, Anda harus memastikan bahwa penulisan X-Ray diperbolehkan. Untuk informasi selengkapnya tentang izin yang Anda butuhkan, lihat topik berikut.

IAMkebijakan menggunakan AWS X-Ray di Step Functions

Untuk mengaktifkan penelusuran X-Ray, Anda memerlukan IAM kebijakan dengan izin yang sesuai untuk memungkinkan penelusuran. Jika mesin negara Anda menggunakan layanan terintegrasi lainnya, Anda mungkin memerlukan IAM kebijakan tambahan. Lihat IAM kebijakan untuk integrasi layanan spesifik Anda.

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:

  1. Di konsol Step Functions, pilih mesin status yang ingin Anda aktifkan pelacakan.

  2. Pilih Edit.

  3. Pilih Aktifkan Penelusuran X-Ray.

    Anda akan melihat notifikasi yang memberitahu Anda bahwa Anda mungkin perlu membuat perubahan tambahan.

    catatan

    Ketika Anda mengaktifkan X-Ray untuk mesin status yang ada, Anda harus memastikan bahwa Anda memiliki IAM kebijakan yang memberikan izin yang cukup untuk X-Ray untuk melakukan jejak. Anda dapat menambahkan satu secara manual, atau menghasilkan satu. Untuk informasi selengkapnya, lihat bagian IAM kebijakan untukIAMkebijakan menggunakan AWS X-Ray di Step Functions.

  4. (Opsional) Buat peran baru secara otomatis bagi mesin status Anda untuk menyertakan izin X-Ray.

  5. 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:

  1. Buka konsol X-Ray.

  2. Pilih Pengambilan sampel.

  3. 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 mengatur. traceHeader Ini secara otomatis dilakukan untuk Anda jika Anda menggunakan HTTP API in API Gateway. Namun, jika Anda menggunakan fungsi Lambda dan/atauSDK, Anda perlu mengatur sendiri StartSyncExecutionAPIpanggilan StartExecutionatau panggilan. traceHeader

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

Dalam 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

Bagian AWS X-Ray Konsol 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 AWS X-Ray Konsol Analytics

Integrasi layanan Step Functions dan X-Ray

Beberapa dari AWS layanan yang terintegrasi dengan Step Functions menyediakan integrasi dengan 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. Orang lain 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:

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

  • 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 panggilan balik dengan AmazonSQS, AmazonSNS, 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.

Screenshot ilustratif dari jejak X-Ray untuk mesin negara.

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.

Screenshot ilustratif difokuskan pada peta layanan dalam jejak X-Ray.

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.

Contoh detail untuk node jejak X-Ray.

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.

Contoh representasi grafis dari mesin negara yang dilacak.

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.

Contoh tangkapan layar segmen dan subsegmen untuk mesin negara.

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, eksternal HTTPAPI, atau SQL database.

Analitik

Bagian AWS X-Ray Konsol 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 KMS kunci. Standar AWS KMSbiaya 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:

  • IAMPeran Anda diatur dengan benar untuk memungkinkan penulisan ke X-Ray.

  • Aturan pengambilan sampel memungkinkan pengambilan sampel data.

  • Karena mungkin ada penundaan singkat sebelum IAM peran yang baru dibuat atau dimodifikasi diterapkan, periksa jejak atau peta layanan lagi setelah beberapa menit.

  • Jika Anda melihat Data Tidak Ditemukan di panel Jejak X-Ray, periksa pengaturan IAM akun Anda dan pastikan AWS Security Token Service diaktifkan untuk wilayah yang dimaksud. Untuk informasi selengkapnya, lihat Mengaktifkan dan menonaktifkan AWS STS dalam sebuah Wilayah AWS di Panduan Pengguna IAM.