View a markdown version of this page

Tambahkan observabilitas ke sumber daya Amazon Bedrock AgentCore Anda - Batuan Dasar Amazon AgentCore

Tambahkan observabilitas ke sumber daya Amazon Bedrock AgentCore Anda

Amazon Bedrock AgentCore menyediakan sejumlah metrik bawaan untuk memantau kinerja sumber daya untuk AgentCore runtime, memori, gateway, alat bawaan, dan jenis sumber daya identitas. Data default ini tersedia di Amazon CloudWatch. Untuk melihat berbagai data observabilitas di CloudWatch konsol, atau untuk menampilkan metrik runtime kustom untuk agen, Anda perlu menginstruksikan kode Anda menggunakan AWS Distro for Open Telemetry (ADOT) SDK.

Untuk melihat dasbor observabilitas di CloudWatch, buka halaman Amazon CloudWatch GenAi Observability.

Lihat bagian berikut untuk mempelajari lebih lanjut tentang mengonfigurasi sumber daya Anda untuk melihat metrik observabilitas di halaman observabilitas AI generatif CloudWatch konsol dan di Log. CloudWatch

Tip

Penggunaan ADOT SDK untuk menampilkan metrik kustom juga didukung untuk agen yang berjalan di luar runtime. AgentCore Untuk mempelajari cara mengaktifkan observabilitas untuk agen ini, lihat Mengaktifkan observabilitas untuk agen yang dihosting di luar. AgentCore

Mengaktifkan observabilitas AgentCore

Untuk melihat metrik, rentang, dan jejak yang dihasilkan oleh AgentCore layanan, pertama-tama Anda harus menyelesaikan penyiapan satu kali untuk mengaktifkan Pencarian Transaksi Amazon CloudWatch . Untuk melihat rentang yang disediakan layanan untuk sumber daya memori, Anda juga perlu mengaktifkan penelusuran saat membuat memori. Lihat Mengaktifkan observabilitas untuk AgentCore runtime, memori, gateway, alat bawaan, dan sumber daya identitas untuk mempelajari lebih lanjut.

Bagian berikut menjelaskan cara melakukan tindakan penyiapan ini dan untuk mengaktifkan observabilitas dalam kode agen Anda.

Mengaktifkan Pencarian CloudWatch Transaksi

Anda dapat mengaktifkan CloudWatch Transaction Search baik dengan menggunakan CloudWatch konsol, atau dengan menggunakan API melalui AWS Command Line Interface (AWS CLI) atau salah satu SDK AWS .

Gunakan salah satu prosedur berikut untuk mengaktifkan Pencarian Transaksi.

contoh
CloudWatch console
  1. ====== Untuk mengaktifkan Pencarian CloudWatch Transaksi di konsol CloudWatch

  2. Buka konsol CloudWatch.

  3. Di panel navigasi, perluas Application Signals (APM) dan pilih Transaction search.

  4. Pilih Aktifkan Pencarian Transaksi.

  5. Pilih kotak centang untuk menelan rentang sebagai log terstruktur.

  6. Pilih Simpan.

API
  1. ====== Untuk mengaktifkan Penelusuran CloudWatch Transaksi menggunakan API

  2. Saat menggunakan AWS CLI atau AWS SDK untuk mengaktifkan Penelusuran Transaksi, pertama-tama konfigurasikan izin yang diperlukan untuk mencerna rentang di CloudWatch Log dengan menambahkan kebijakan berbasis sumber daya. PutResourcePolicy

    Perintah AWS CLI berikut menambahkan kebijakan sumber daya yang memberikan AWS X-Ray izin untuk mengirim jejak ke Log. CloudWatch

    aws logs put-resource-policy --policy-name MyResourcePolicy --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "TransactionSearchXRayAccess", "Effect": "Allow", "Principal": { "Service": "xray.amazonaws.com" }, "Action": "logs:PutLogEvents", "Resource": [ "arn:partition:logs:region:account-id:log-group:aws/spans:*", "arn:partition:logs:region:account-id:log-group:/aws/application-signals/data:*" ], "Condition": { "ArnLike": { "aws:SourceArn": "arn:partition:logs:region:account-id:*" }, "StringEquals": { "aws:SourceAccount": "account-id" } } } ]}'

    Untuk kejelasan, kebijakan JSON inline dalam perintah ini ditampilkan diperluas dalam contoh berikut:

    { "Version":"2012-10-17", "Statement": [ { "Sid": "TransactionSearchXRayAccess", "Effect": "Allow", "Principal": { "Service": "xray.amazonaws.com" }, "Action": "logs:PutLogEvents", "Resource": [ "arn:aws:logs:us-east-1:123456789012:log-group:aws/spans:*", "arn:aws:logs:us-east-1:123456789012:log-group:/aws/application-signals/data:*" ], "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:xray:us-east-1:123456789012:*" }, "StringEquals": { "aws:SourceAccount": "123456789012" } } } ] }
  3. Konfigurasikan tujuan segmen jejak Anda menggunakan UpdateTraceSegmentDestination.

    Untuk menggunakan AWS CLI, jalankan perintah berikut.

    aws xray update-trace-segment-destination --destination CloudWatchLogs
  4. (Opsional) Konfigurasikan persentase pengambilan sampel yang Anda inginkan menggunakan UpdateIndexingRule.

    Untuk menggunakan AWS CLI, jalankan perintah berikut.

    aws xray update-indexing-rule --name "Default" --rule '{"Probabilistic": {"DesiredSamplingPercentage": number}}'

Rentang tujuan untuk agen yang dihosting di runtime Amazon Bedrock AgentCore

Tip

Sekarang Anda dapat mengkonsolidasikan semua telemetri agen — rentang, log terstruktur, dan output standar — dalam satu grup log untuk setiap agen.

Dengan AgentCore runtime, kemampuan Amazon Bedrock AgentCore, Anda dapat mengonfigurasi agen untuk mengirimkan rentangnya ke grup CloudWatch log Amazon yang sama dengan log agen. Dengan konfigurasi ini, bentang masuk ke aliran spans log/aws/bedrock-agentcore/runtimes/<agent_id>-<endpoint_name>, bukan grup aws/spans log bersama. Anda dapat menyimpan bentang, log terstruktur, dan output standar bersama-sama dalam satu grup log per-agen, kontrol akses cakupan dan enkripsi ke agen individu, dan mengekspor telemetri dari satu lokasi.

Di AWS Wilayah yang didukung, agen yang baru dibuat menggunakan grup log agen sebagai tujuan rentang default. Agen yang dibuat sebelum Wilayah mendukung tujuan rentang terpadu menjaga grup aws/spans log bersama sebagai defaultnya.

Anda dapat mengganti default untuk agen individual dengan variabel UNIFIED_TRACES_DESTINATION_ENABLED lingkungan pada runtime agen Anda:

  • Untuk memilih agen yang ada yang menggunakan grup aws/spans log bersama, setelUNIFIED_TRACES_DESTINATION_ENABLED=true. AgentCore kemudian mengirimkan rentang agen ke grup lognya sendiri.

  • Untuk memilih keluar dari agen yang menggunakan grup lognya sendiri secara default, aturUNIFIED_TRACES_DESTINATION_ENABLED=false. AgentCore kemudian mengirimkan rentang agen ke grup aws/spans log bersama.

AgentCore Untuk mengirimkan bentang ke grup log agen, berikut ini harus benar:

  • Aktifkan Penelusuran CloudWatch Transaksi di akun Anda dan kirim segmen jejak ke Amazon CloudWatch Logs. Tanpa Penelusuran Transaksi, tidak AgentCore dapat mengirimkan rentang ke grup log agen. Untuk informasi selengkapnya, lihat Mengaktifkan Pencarian CloudWatch Transaksi.

  • Berikan logs:PutResourcePolicy tindakan pada grup log agen ke peran eksekusi agen. AgentCore menggunakan izin ini AWS X-Ray untuk memungkinkan pengiriman rentang ke grup log. Untuk informasi selengkapnya, lihat Peran eksekusi untuk menjalankan agen di AgentCore runtime.

  • Agen menggunakan ADOT versi 0.18.0 atau yang lebih baru (). aws-opentelemetry-distro>=0.18.0 Versi sebelumnya mengabaikan konfigurasi tujuan rentang dan mengirimkan rentang ke grup aws/spans log bersama.

Mengubah tujuan rentang tidak memindahkan data rentang yang ada. Rentang yang AgentCore sudah dikirimkan tetap berada di grup log asli mereka.

Mengaktifkan observabilitas dalam kode agen untuk agen AgentCore-hosted

Selain metrik yang dihasilkan layanan, AgentCore Anda juga dapat mengumpulkan rentang dan melacak data serta metrik khusus yang dipancarkan dari kode agen Anda.

Saat Anda menggunakan kerangka kerja agen seperti Strands, LangChain, atau CreWAI dengan pustaka instrumentasi pihak ketiga yang didukung, kerangka kerja itu sendiri dilengkapi dengan dukungan bawaan untuk konvensi semantik OTEL dan GenAI, dan juga dapat diinstrumentasi dengan paket instrumentasi otomatis seperti. opentelemetry-instrument-langchain Dimungkinkan juga untuk mengirim telemetri dan bentang konvensi semantik AI Generatif dengan mendefinisikan pelacak khusus. AgentCore mendukung penggunaan pustaka instrumentasi berikut dalam kerangka agen Anda:

Untuk melihat data ini di halaman observabilitas AI generatif CloudWatch konsol dan di Amazon CloudWatch, Anda perlu menambahkan SDK AWS Distro for Open Telemetry (ADOT) ke kode agen Anda.

catatan

Dengan AgentCore, Anda juga dapat melihat metrik untuk agen yang tidak berjalan di AgentCore runtime. Langkah-langkah pengaturan tambahan diperlukan untuk mengonfigurasi output telemetri untuk non-agen. AgentCore Lihat instruksi di Mengaktifkan observabilitas untuk agen yang dihosting di luar AgentCore untuk mempelajari lebih lanjut.

Untuk menambahkan dukungan ADOT dan mengaktifkan AgentCore observabilitas, ikuti langkah-langkah dalam prosedur berikut.

Tambahkan observabilitas ke agen Anda AgentCore

  1. Pastikan kerangka kerja Anda dikonfigurasi untuk memancarkan jejak. Misalnya, dalam kerangka Strands, objek pelacak harus dikonfigurasi untuk menginstruksikan Strands untuk memancarkan log Open Telemetry (OTEL).

  2. Tambahkan ADOT SDK dan boto3 ke dependensi agen Anda. Untuk Python, tambahkan yang berikut ini ke file Andarequirements.txt:

    aws-opentelemetry-distro>=0.10.0 boto3

    Atau, Anda dapat menginstal dependensi secara langsung:

    pip install aws-opentelemetry-distro>=0.10.0 boto3
  3. Jalankan kode agen Anda menggunakan perintah OpenTelemetry instrumentasi otomatis:

    opentelemetry-instrument python my_agent.py

    Pendekatan instrumentasi otomatis ini secara otomatis menambahkan SDK ke jalur Python. Anda mungkin sudah menggunakan pendekatan ini sebagai bagian dari OpenTelemetry implementasi standar Anda.

    Untuk lingkungan containerized (seperti docker) tambahkan perintah berikut:

    CMD ["opentelemetry-instrument", "python", "main.py"]

    Saat menggunakan ADOT, untuk menyebarkan id sesi dengan benar, tentukan X-Amzn-Bedrock-AgentCore-Runtime-Session-Id di header permintaan. ADOT kemudian menyetel session_id dengan benar di header hilir.

    Untuk menyebarkan ID jejak, panggil AgentCore runtime dengan set parameter. traceId=<traceId>

    Anda juga dapat memanggil agen Anda dengan header tambahan untuk opsi observabilitas tambahan. Lihat Peningkatan observabilitas AgentCore runtime dengan header khusus untuk mempelajari lebih lanjut.

Mengaktifkan observabilitas untuk agen yang dihosting di luar AgentCore

Untuk mengaktifkan observabilitas agen yang dihosting di luar AgentCore runtime, pertama-tama ikuti langkah-langkah di bagian sebelumnya untuk mengaktifkan Penelusuran CloudWatch Transaksi dan tambahkan SDK ADOT ke kode Anda.

Jika Anda meng-host agen Anda di AWS Lambda, gunakan Lapisan AWS Lambda untuk di Distro untuk OpenTelemetry situs web. AWS OpenTelemetry Tambahkan layer ke fungsi Anda, dan kemudian atur variabel AWS_LAMBDA_EXEC_WRAPPER lingkungan ke/opt/otel-instrument. Lapisan kemudian mengotomatiskan fungsi Anda. Dengan pendekatan ini, Anda tidak perlu menambahkan aws-opentelemetry-distro paket atau menjalankan opentelemetry-instrument perintah yang dijelaskan sebelumnya.

ADOT Collector tidak didukung untuk observabilitas agen

Kolektor ADOT tidak didukung untuk observabilitas agen. Untuk mengirim telemetri dari agen yang dihosting di luar AgentCore runtime, Anda harus menggunakan ADOT SDK atau Lambda Layer untuk AWS . OpenTelemetry

Untuk agen yang berjalan di luar AgentCore runtime, Anda juga perlu membuat grup log agen yang Anda sertakan dalam variabel lingkungan Anda.

Konfigurasikan variabel AWS lingkungan Anda, lalu atur variabel lingkungan Telemetri Terbuka Anda seperti yang ditunjukkan pada berikut ini.

AWS variabel lingkungan

AWS_ACCOUNT_ID=<account id> AWS_DEFAULT_REGION=<default region> AWS_REGION=<region> AWS_ACCESS_KEY_ID=<access key id> AWS_SECRET_ACCESS_KEY=<secret key>

Variabel lingkungan OTEL

AGENT_OBSERVABILITY_ENABLED=true OTEL_PYTHON_DISTRO=aws_distro OTEL_PYTHON_CONFIGURATOR=aws_configurator # required for ADOT Python only OTEL_RESOURCE_ATTRIBUTES=service.name=<agent-name>,aws.log.group.names=/aws/bedrock-agentcore/runtimes/<agent-id>,cloud.resource_id=<AgentEndpointArn:AgentEndpointName> # endpoint is optional OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=/aws/bedrock-agentcore/runtimes/<agent-id>,x-aws-log-stream=runtime-logs,x-aws-metric-namespace=bedrock-agentcore OTEL_EXPORTER_OTLP_TRACES_HEADERS=x-aws-log-group=/aws/bedrock-agentcore/runtimes/<agent-id>,x-aws-log-stream=spans # (Optional) Directs spans to your log group instead of the aws/spans log group. Requires ADOT version 0.18.0 or later. OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf OTEL_TRACES_EXPORTER=otlp OTEL_AWS_APPLICATION_SIGNALS_ENABLED=false # AWS Lambda Layer for OpenTelemetry only: disables Application Signals OTEL_LOGS_EXPORTER=otlp # AWS Lambda Layer for OpenTelemetry only: exports logs over OTLP OTEL_METRICS_EXPORTER=awsemf # AWS Lambda Layer for OpenTelemetry only: exports metrics as CloudWatch EMF

Ganti <agent-name> dengan nama agen Anda dan <agent-id> dengan pengenal unik untuk agen Anda.

catatan

Jika Anda mengatur OTEL_EXPORTER_OTLP_TRACES_HEADERS untuk mengirimkan rentang ke grup log Anda sendiri, Anda juga harus menambahkan kebijakan sumber daya Amazon CloudWatch Logs. Kebijakan harus allow X-Ray (xray.amazonaws.com) untuk memanggil logs:PutLogEvents grup log tersebut. Gunakan kebijakan yang sama yang ditunjukkan di Mengaktifkan Pencarian CloudWatch Transaksi, dengan Resource ARN grup log Anda masuk. Tanpa kebijakan ini, tidak X-Ray dapat mengirimkan bentang ke grup log Anda.

catatan

(Opsional) Untuk Kerangka Kerja Agen selain Strands, LangChain, dan CreWAI: Anda mungkin perlu menambahkan SDK dan kode tambahan untuk mengirim telemetri dan bentang konvensi semantik Generatif AI. AgentCore Observabilitas, kemampuan Amazon Bedrock AgentCore, mendukung penggunaan pustaka instrumentasi berikut dalam kerangka kerja agen Anda: * * Openllmetry * OpenInference* Traceloop OpenLit

Dukungan ID Sesi

Untuk menyebarkan ID sesi, Anda perlu memanggil menggunakan pengenal sesi di bagasi OTEL:

from opentelemetry import baggage ctx = baggage.set_baggage("session.id", session_id) # Set the session.id in baggage attach(ctx) # Attach the context to make it active token

Mengaktifkan observabilitas untuk AgentCore runtime, memori, gateway, alat bawaan, dan sumber daya identitas

Saat Anda membuat sumber daya AgentCore runtime (agen), secara default, AgentCore runtime akan membuat grup CloudWatch log untuk log yang disediakan layanan. Namun, untuk memori, gateway, dan sumber daya alat bawaan, AgentCore tidak mengonfigurasi tujuan log untuk Anda secara otomatis.

Untuk sumber daya memori dan gateway, Anda dapat mengonfigurasi tujuan log baik di konsol atau dengan menggunakan AWS SDK. Jika Anda menggunakan konsol untuk mengonfigurasi tujuan CloudWatch Log, nama grup log default untuk sumber daya memori dan gateway memiliki formulir/aws/vendedlogs/bedrock-agentcore/{resource-type}/APPLICATION_LOGS/{resource-id}, di mana {resource-type} salah satu memory ataugateway.

Untuk log memori dan gateway, Anda juga dapat mengonfigurasi tujuan log di log Amazon S3 atau log aliran Firehose menggunakan konsol. AgentCore Untuk mempelajari lebih lanjut tentang menyimpan log di Amazon S3 atau Firehose, lihat Mengunggah, mengunduh, dan bekerja dengan objek di Amazon S3 dan Membuat aliran pengiriman Amazon Data Firehose.

Untuk mempelajari lebih lanjut tentang keluaran data log oleh AgentCore untuk sumber daya memori dan gateway, lihat Data log yang disediakan (memori) atau Data log yang disediakan (gateway).

Untuk sumber daya alat bawaan, AgentCore layanan tidak menyediakan log secara default, tetapi Anda dapat menampilkan log Anda sendiri dari kode Anda. Jika Anda menyediakan output log Anda sendiri, Anda perlu mengonfigurasi tujuan log secara manual untuk menyimpan data ini.

Untuk melihat data observabilitas apa yang AgentCore disediakan secara default untuk setiap jenis sumber daya, lihat data observabilitas yang AgentCore dihasilkan Amazon Bedrock.

Konfigurasikan tujuan log menggunakan konsol

Untuk mengonfigurasi tujuan log untuk log memori atau gateway di AgentCore konsol, gunakan prosedur berikut.

contoh
Memory
  1. ====== Untuk mengkonfigurasi pengiriman log untuk sumber daya memori (konsol)

  2. Buka halaman Memori di AgentCore konsol.

  3. Di panel Memori, pilih memori yang ingin Anda konfigurasikan tujuan log.

  4. Gulir ke bawah ke panel pengiriman Log dan pilih Tambah.

  5. Dari daftar tarik-turun, pilih jenis tujuan log yang ingin Anda tambahkan (Grup CloudWatch log, bucket Amazon S3, atau Amazon Data Firehose).

  6. Untuk jenis Log, pilih APPLICATION_LOGS.

  7. Untuk tujuan Amazon S3 dan Firehose, masukkan ARN tujuan Pengiriman. Untuk CloudWatch Log, grup log Tujuan sudah diisi dengan nilai default.

  8. (Opsional) Untuk tujuan CloudWatch Log, untuk mengubah grup log default, masukkan nama grup log baru atau pilih grup log yang ada di bawah Grup log tujuan.

  9. (Opsional) Untuk mengubah bidang yang ditangkap di setiap catatan log atau format keluaran log, perluas Pengaturan tambahan - opsional, dan ubah Pemilihan bidang, format Output, dan Pembatas bidang ke konfigurasi yang Anda inginkan.

  10. Pilih Tambahkan.

Gateway
  1. ====== Untuk mengonfigurasi pengiriman log untuk sumber daya gateway (konsol)

  2. Buka halaman Gateways di konsol. AgentCore

  3. Di panel Gateways, pilih gateway yang ingin Anda konfigurasikan tujuan log.

  4. Gulir ke bawah ke panel pengiriman Log dan pilih Tambah.

  5. Dari daftar tarik-turun, pilih jenis tujuan log yang ingin Anda tambahkan (Grup CloudWatch log, bucket Amazon S3, atau Amazon Data Firehose).

  6. Untuk tujuan Amazon S3 dan Firehose, masukkan ARN tujuan Pengiriman. Untuk CloudWatch Log, grup log Tujuan sudah diisi dengan nilai default.

  7. (Opsional) Untuk tujuan CloudWatch Log, untuk mengubah grup log default, masukkan nama grup log baru atau pilih grup log yang ada di bawah Grup log tujuan.

  8. (Opsional) Untuk mengubah bidang yang ditangkap di setiap catatan log atau format keluaran log, perluas Pengaturan tambahan - opsional, dan ubah Pemilihan bidang, format Output, dan Pembatas bidang ke konfigurasi yang Anda inginkan.

  9. Pilih Tambahkan.

Runtime
  1. ====== Untuk mengonfigurasi pengiriman log untuk sumber daya runtime agen (konsol)

  2. Buka halaman Agent Runtime di AgentCore konsol.

  3. Di panel agen Runtime, pilih agen runtime yang ingin Anda konfigurasikan tujuan log.

  4. Gulir ke bawah ke panel pengiriman Log dan dari tarik-turun Tambah, pilih tujuan Pencatatan - Amazon CloudWatch Log, Amazon S3, atau Amazon Data Firehose.

  5. Konfigurasikan detail pengiriman log berikut dan kemudian pilih Tambah:

    • Untuk jenis Log, pilih APPLICATION_LOGS.

    • Jika menggunakan Amazon CloudWatch Logs sebagai tujuan logging, tentukan grup log tujuan.

    • Jika menggunakan Amazon S3 sebagai tujuan pencatatan, tentukan bucket Amazon S3 tujuan.

    • Jika menggunakan Amazon Data Firehose sebagai tujuan pencatatan, tentukan aliran pengiriman tujuan.

  6. Verifikasi bahwa status pengiriman log disetel ke Pengiriman aktif.

Built-in tools
  1. ====== Untuk mengonfigurasi pengiriman log untuk sumber daya alat bawaan (konsol)

  2. Buka halaman Built-in alat di AgentCore konsol.

  3. Di panel Built-in alat, baik di Alat penerjemah kode atau tab Alat browser, pilih alat interpreter kode atau alat browser yang ingin Anda konfigurasikan tujuan log.

  4. Gulir ke bawah ke panel pengiriman Log dan dari tarik-turun Tambah, pilih tujuan Pencatatan - Amazon CloudWatch Log, Amazon S3, atau Amazon Data Firehose.

  5. Konfigurasikan detail pengiriman log berikut dan kemudian pilih Tambah:

    • Untuk jenis Log, pilih APPLICATION_LOGS.

    • Jika menggunakan Amazon CloudWatch Logs sebagai tujuan logging, tentukan grup log tujuan.

    • Jika menggunakan Amazon S3 sebagai tujuan pencatatan, tentukan bucket Amazon S3 tujuan.

    • Jika menggunakan Amazon Data Firehose sebagai tujuan pencatatan, tentukan aliran pengiriman tujuan.

  6. Verifikasi bahwa status pengiriman log disetel ke Pengiriman aktif.

Identity
  1. WorkloadIdentity Pemberdayaan pengiriman log ditangani pada tingkat sumber daya terkait, termasuk runtime agen atau sumber daya gateway agen.

    Untuk mengonfigurasi pengiriman WorkloadIdentity log untuk sumber daya terkait (konsol)

  2. Buka halaman Gateway atau Agent Runtime di AgentCore konsol dan pilih agen atau gateway yang ingin Anda aktifkan WorkloadIdentity logging.

  3. Di tab Identity, gulir ke bawah ke panel pengiriman Log dan dari drop-down Tambah, pilih tujuan Logging - baik Amazon CloudWatch Log, Amazon S3, atau Amazon Data Firehose.

  4. Konfigurasikan detail pengiriman log berikut dan kemudian pilih Tambah:

    • Untuk jenis Log, pilih APPLICATION_LOGS.

    • Jika menggunakan Amazon CloudWatch Logs sebagai tujuan logging, tentukan grup log tujuan.

    • Jika menggunakan Amazon S3 sebagai tujuan pencatatan, tentukan bucket Amazon S3 tujuan.

    • Jika menggunakan Amazon Data Firehose sebagai tujuan pencatatan, tentukan aliran pengiriman tujuan.

  5. Verifikasi bahwa status pengiriman log disetel ke Pengiriman aktif.

Konfigurasikan pengiriman penelusuran untuk CloudWatch menggunakan konsol

Bagian ini menjelaskan cara mengaktifkan pengiriman jejak CloudWatch untuk melacak aliran interaksi melalui aplikasi Anda yang memungkinkan Anda memvisualisasikan permintaan, mengidentifikasi kemacetan kinerja, memecahkan masalah kesalahan, dan mengoptimalkan kinerja.

contoh
Memory
  1. ====== Untuk mengonfigurasi penelusuran sumber daya memori (konsol)

  2. Buka halaman Memori di AgentCore konsol.

  3. Di panel Memori, pilih sumber daya memori yang ingin Anda aktifkan pelacakan.

  4. Di panel Tracing, pilih Edit, alihkan widget ke Aktifkan, lalu pilih Simpan.

Runtime
  1. ====== Untuk mengonfigurasi penelusuran sumber daya runtime (konsol)

  2. Buka halaman runtime Agen di AgentCore konsol.

  3. Di panel agen Runtime, pilih agen yang ingin Anda aktifkan pelacakan.

  4. Di panel Tracing, pilih Edit, alihkan widget ke Aktifkan, lalu pilih Simpan.

    AgentCore memungkinkan penelusuran untuk agen yang dipilih. Rentang muncul di grup log agen (/aws/bedrock-agentcore/runtimes/<agent_id>-<endpoint_name>), atau di grup aws/spans log untuk agen yang menggunakan tujuan rentang bersama. Untuk informasi selengkapnya, lihat Tujuan rentang untuk agen yang dihosting di AgentCore runtime Amazon Bedrock.

    Untuk mengonfigurasi WorkloadIdentity penelusuran sumber daya runtime (konsol)

  5. Buka halaman runtime Agen di AgentCore konsol.

  6. Di panel agen Runtime, pilih tab Identity, lalu pilih agen yang ingin Anda aktifkan WorkloadIdentity tracing.

  7. Di panel Tracing, pilih Edit, alihkan widget ke Aktifkan, lalu pilih Simpan.

    WorkloadIdentity penelusuran akan diaktifkan untuk agen yang dipilih dan bentang akan tersedia di grup aws/spans log.

Built-in tools
  1. ====== Untuk mengonfigurasi penelusuran untuk alat bawaan (konsol)

  2. Buka halaman Built-in alat di AgentCore konsol.

  3. Di panel Built-in alat, baik di Alat penerjemah kode atau tab Alat browser, pilih alat interpreter kode atau alat browser yang ingin Anda aktifkan penelusuran.

  4. Di panel Tracing, pilih Edit, alihkan widget ke Aktifkan, lalu pilih Simpan.

    Penelusuran akan diaktifkan untuk penerjemah kode atau alat browser yang dipilih dan bentang akan tersedia di grup log. aws/spans

Gateway
  1. ====== Untuk mengonfigurasi penelusuran sumber daya gateway (konsol)

  2. Buka halaman Gateways di konsol. AgentCore

  3. Di panel Gateways, pilih gateway yang ingin Anda aktifkan pelacakan.

  4. Di panel Tracing, pilih Edit, alihkan widget ke Aktifkan, lalu pilih Simpan.

    Penelusuran akan diaktifkan untuk gateway yang dipilih dan bentang akan tersedia di grup aws/spans log.

    Untuk mengonfigurasi WorkloadIdentity penelusuran sumber daya gateway (konsol)

  5. Buka halaman Gateways di konsol. AgentCore

  6. Di panel Gateways, pilih tab Identity, lalu pilih gateway yang ingin Anda aktifkan tracing. WorkloadIdentity

  7. Di panel Tracing, pilih Edit, alihkan widget ke Aktifkan, lalu pilih Simpan.

    WorkloadIdentity tracing akan diaktifkan untuk gateway yang dipilih dan bentang akan tersedia di grup aws/spans log.

    catatan

    Anda harus mengaktifkan Penelusuran CloudWatch Transaksi sebelum Anda dapat mengaktifkan penelusuran.

Identity
  1. ====== Untuk mengonfigurasi penelusuran sumber daya identitas (konsol)

  2. Buka halaman Identitas di AgentCore konsol.

  3. Di panel Identity, pilih klien OAuth atau kunci API yang ingin Anda aktifkan pelacakan.

  4. Di panel Tracing, pilih Edit, alihkan widget ke Aktifkan, lalu pilih Simpan.

Konfigurasikan CloudWatch sumber daya menggunakan AWS SDK

Untuk mengonfigurasi sumber pengiriman untuk log dan jejak (SDK)

  • Jalankan kode Python berikut CloudWatch untuk mengkonfigurasi memori, gateway, dan sumber daya alat bawaan Anda. Perhatikan bahwa sumber pengiriman dan tujuan untuk penelusuran hanya berlaku untuk sumber daya memori dan gateway.

import boto3 def enable_observability_for_resource(resource_arn, resource_id, account_id, region='us-east-1'): """ Enable observability for a Bedrock AgentCore resource (e.g., Memory Store) """ logs_client = boto3.client('logs', region_name=region) # Step 0: Create new log group for vended log delivery log_group_name = f'/aws/vendedlogs/bedrock-agentcore/{resource_id}' logs_client.create_log_group(logGroupName=log_group_name) log_group_arn = f'arn:aws:logs:{region}:{account_id}:log-group:{log_group_name}' # Step 1: Create delivery source for logs logs_source_response = logs_client.put_delivery_source( name=f"{resource_id}-logs-source", logType="APPLICATION_LOGS", resourceArn=resource_arn ) # Step 2: Create delivery source for traces traces_source_response = logs_client.put_delivery_source( name=f"{resource_id}-traces-source", logType="TRACES", resourceArn=resource_arn ) # Step 3: Create delivery destinations logs_destination_response = logs_client.put_delivery_destination( name=f"{resource_id}-logs-destination", deliveryDestinationType='CWL', deliveryDestinationConfiguration={ 'destinationResourceArn': log_group_arn, } ) # Traces required traces_destination_response = logs_client.put_delivery_destination( name=f"{resource_id}-traces-destination", deliveryDestinationType='XRAY' ) # Step 4: Create deliveries (connect sources to destinations) logs_delivery = logs_client.create_delivery( deliverySourceName=logs_source_response['deliverySource']['name'], deliveryDestinationArn=logs_destination_response['deliveryDestination']['arn'] ) # Traces required traces_delivery = logs_client.create_delivery( deliverySourceName=traces_source_response['deliverySource']['name'], deliveryDestinationArn=traces_destination_response['deliveryDestination']['arn'] ) print(f"Observability enabled for {resource_id}") return { 'logs_delivery_id': logs_delivery['id'], 'traces_delivery_id': traces_delivery['id'] } # Usage example resource_arn = "arn:aws:bedrock-agentcore:us-east-1:123456789012:memory/my-memory-id" resource_id = "my-memory-id" account_id = "123456789012" delivery_ids = enable_observability_for_resource(resource_arn, resource_id, account_id)

Peningkatan observabilitas AgentCore runtime dengan header khusus

Anda dapat memanggil agen Anda dengan header HTTP tambahan untuk memberikan opsi observabilitas yang disempurnakan. Contoh berikut menunjukkan pemanggilan termasuk permintaan header tambahan opsional untuk agen yang dihosting di runtime. AgentCore

Contoh pemanggilan Boto3

def invoke_agent(agent_id, payload, session_id=None): client = boto3.client("bedrock-agentcore", region="us-west-2") response = client.invoke_agent_runtime( agentRuntimeArn="arn:aws:bedrock-agentcore:us-west-2:111122223333:runtime/test_agent_boto2-nIg2xk3VSR", runtimeSessionId="12345678-1234-5678-9abc-123456789012", payload='{"query": "Plan a weekend in Seattle"}', )

Anda dapat menyertakan header opsional berikut saat memanggil agen Anda untuk meningkatkan kemampuan observabilitas dan penelusuran:

Header Deskripsi Nilai Sampel Penjelasan Teknis

X-Amzn-Trace-Id

Trace ID untuk pelacakan permintaan (X-Ray Format)

root = 1-5759e988-bd862e3fe1be46a994272793; orang tua = 53995c3f42cd8ad8; sampel = 1

Digunakan untuk penelusuran terdistribusi di seluruh AWS layanan. Berisi ID root (asal permintaan), ID induk (layanan sebelumnya), dan keputusan pengambilan sampel untuk penelusuran. Pengambilan sampel = 1 berarti pengambilan sampel 100%. Induk adalah format X-Ray Trace juga. OTEL akan otomatis menghasilkan ID jejak jika tidak disediakan.

traceparent

Header penelusuran standar W3C

00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

Format W3C yang mencakup versi, ID jejak, ID induk, dan bendera. Diperlukan untuk korelasi jejak lintas layanan saat menggunakan sistem penelusuran modern.

X-Amzn-Bedrock-AgentCore-Runtime-Session-Id

AgentCore pengidentifikasi sesi

A1b2c3d4-5678-90ab-cdef-contohAAAAAA

Mengidentifikasi sesi pengguna dalam AgentCore sistem. Membantu dengan analisis berbasis sesi dan pemecahan masalah.

mcp-sesi id

Pengidentifikasi sesi MCP

MCP-A1b2c3d4-5678-90ab-cdef-contohAAAAAA

Mengidentifikasi sesi di Platform Cloud Terkelola. Memungkinkan penelusuran operasi di seluruh ekosistem MCP.

tracestat

Informasi status penelusuran tambahan

kongo=t61rc E, WkgMz rojo=00f067aa0ba902b7

Vendor-specific melacak informasi. Menyampaikan konteks tambahan untuk melacak sistem di luar apa yang ada di traceparent.

bagasi

Propagasi konteks untuk penelusuran terdistribusi

userId=Alice, ServerRegion=US-timur-1

Key-value pasangan yang menyebarkan properti yang ditentukan pengguna melintasi batas layanan untuk pencatatan dan analisis kontekstual.

Peningkatan kemampuan observasi alat AgentCore bawaan dengan header khusus

Anda dapat memanggil Built-in Alat Anda dengan header HTTP tambahan untuk memberikan opsi observabilitas yang disempurnakan. Anda dapat menyertakan header opsional berikut saat mengintegrasikan API Build-in Alat berikut untuk meningkatkan kemampuan observabilitas dan penelusuran:

API berikut mendukung header khusus:

  • StartCodeInterpreterSession

  • InvokeCodeInterpreter

  • StopCodeInterpreterSession

  • StartBrowserSession

  • StopBrowserSession

Header Deskripsi Nilai Sampel Penjelasan Teknis

X-Amzn-Trace-Id

Trace ID untuk pelacakan permintaan (X-Ray Format)

root = 1-5759e988-bd862e3fe1be46a994272793; orang tua = 53995c3f42cd8ad8; sampel = 1

Digunakan untuk penelusuran terdistribusi di seluruh AWS layanan. Berisi ID root (asal permintaan), ID induk (layanan sebelumnya), dan keputusan pengambilan sampel untuk penelusuran. Pengambilan sampel = 1 berarti pengambilan sampel 100%. Induk adalah format X-Ray Trace juga. OTEL akan otomatis menghasilkan ID jejak jika tidak disediakan.

traceparent

Header penelusuran standar W3C

00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

Format W3C yang mencakup versi, ID jejak, ID induk, dan bendera. Diperlukan untuk korelasi jejak lintas layanan saat menggunakan sistem penelusuran modern.

Peningkatan observabilitas AgentCore identitas dengan header khusus

Anda dapat memanggil sumber daya identitas Anda dengan header HTTP tambahan untuk menyediakan opsi observabilitas yang disempurnakan. Anda dapat menyertakan header opsional berikut saat mengintegrasikan API identitas berikut untuk meningkatkan kemampuan observabilitas dan penelusuran:

API berikut mendukung header khusus:

  • GetWorkloadAccessToken

  • GetWorkloadAccessTokenForJWT

  • GetWorkloadAccessTokenForUserId

  • GetResourceOauth2Token

  • GetResourceAPIKey

Header Deskripsi Nilai Sampel Penjelasan Teknis

X-Amzn-Trace-Id

Trace ID untuk pelacakan permintaan (X-Ray Format)

root = 1-5759e988-bd862e3fe1be46a994272793; orang tua = 53995c3f42cd8ad8; sampel = 1

Digunakan untuk penelusuran terdistribusi di seluruh AWS layanan. Berisi ID root (asal permintaan), ID induk (layanan sebelumnya), dan keputusan pengambilan sampel untuk penelusuran. Pengambilan sampel = 1 berarti pengambilan sampel 100%. Induk adalah format X-Ray Trace juga. OTEL akan otomatis menghasilkan ID jejak jika tidak disediakan.

Praktik terbaik observabilitas

Pertimbangkan praktik terbaik berikut saat menerapkan observabilitas untuk agen di AgentCore:

  • Gunakan ID sesi yang konsisten - Jika memungkinkan, gunakan kembali ID sesi yang sama untuk permintaan terkait guna mempertahankan konteks di seluruh interaksi.

  • Menerapkan penelusuran terdistribusi - Gunakan header yang disediakan untuk mengaktifkan penelusuran ujung ke ujung di seluruh komponen aplikasi Anda.

  • Tambahkan atribut khusus - Tingkatkan jejak dan metrik Anda dengan atribut khusus yang menyediakan konteks tambahan untuk pemecahan masalah dan analisis.

  • Pantau penggunaan sumber daya - Perhatikan metrik penggunaan memori untuk mengoptimalkan kinerja agen Anda.

  • Siapkan peringatan - Konfigurasikan CloudWatch alarm untuk membantu memberi tahu Anda tentang potensi masalah sebelum berdampak pada pengguna Anda.

Menggunakan platform observabilitas lainnya

Untuk mengintegrasikan agen yang dihosting di AgentCore runtime dengan platform observabilitas lainnya untuk menangkap dan melihat output telemetri, tetapkan variabel lingkungan berikut:

DISABLE_ADOT_OBSERVABILITY=true

Menyetel variabel ini untuk true menghapus variabel lingkungan ADOT default AgentCore runtime, memastikan bahwa tidak ada konfigurasi ADOT default yang disetel.