Pemecahan masalah AWS X-Ray - AWS X-Ray

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

Pemecahan masalah AWS X-Ray

Topik ini mencantumkan kesalahan dan permasalahan umum yang mungkin Anda temui saat menggunakan API X-Ray, konsol, dan SDK. Jika Anda menemukan masalah yang tidak tercantum di sini, Anda dapat menggunakan tombol Umpan Balik di halaman ini untuk melaporkannya.

Peta jejak X-Ray dan halaman detail jejak

Bagian berikut dapat membantu jika Anda mengalami masalah menggunakan peta jejak X-Ray dan halaman detail Jejak:

Saya tidak melihat semua CloudWatch log saya

Cara mengkonfigurasi log sehingga muncul di peta jejak X-Ray dan halaman detail jejak tergantung pada layanan.

  • Log API Gateway muncul jika log diaktifkan di API Gateway.

Tidak semua node peta layanan mendukung tampilan log terkait. Lihat log untuk jenis simpul berikut:

  • Konteks Lambda

  • Fungsi Lambda

  • Tahap API Gateway

  • Kluster Amazon ECS

  • Contoh Amazon ECS

  • Layanan Amazon ECS

  • Tugas Amazon ECS

  • Klaster Amazon EKS

  • Ruang nama Amazon EKS

  • Simpul Amazon EKS

  • Pod Amazon EKS

  • Layanan Amazon EKS

Saya tidak melihat semua alarm saya di peta jejak X-Ray

Peta jejak X-Ray hanya menampilkan ikon peringatan untuk node jika ada alarm yang terkait dengan node tersebut dalam status ALARM.

Peta jejak mengaitkan alarm dengan node menggunakan logika berikut:

  • Jika node mewakili AWS layanan, maka semua alarm dengan namespace yang terkait dengan layanan tersebut terkait dengan node. Misalnya, node tipe AWS::Kinesis ditautkan dengan semua alarm yang didasarkan pada metrik di namespace. CloudWatch AWS/Kinesis

  • Jika node mewakili AWS sumber daya, maka alarm pada sumber daya tertentu ditautkan. Misalnya, simpul tipe AWS::DynamoDB::Table dengan nama “MyTable” ditautkan ke semua alarm yang didasarkan pada metrik dengan namespace AWS/DynamoDB dan TableName dimensi disetel ke. MyTable

  • Jika simpul memiliki jenis yang tidak diketahui, yang diidentifikasi dengan garis batas di sekitar nama, maka tidak ada alarm yang terkait dengan simpul tersebut.

Saya tidak melihat beberapa AWS sumber daya di peta jejak

Tidak semua AWS sumber daya diwakili oleh node khusus. Beberapa AWS layanan diwakili oleh satu node untuk semua permintaan ke layanan. Jenis sumber daya berikut ditampilkan dengan simpul per sumber daya:

  • AWS::DynamoDB::Table

  • AWS::Lambda::Function

    Fungsi Lambda diwakili oleh dua node — satu untuk wadah Lambda, dan satu untuk fungsi tersebut. Fungsi ini membantu mengidentifikasi masalah awal yang dingin pada fungsi Lambda. Simpul wadah Lambda terkait dengan alarm dan dasbor dengan cara yang sama seperti simpul fungsi Lambda.

  • AWS::ApiGateway::Stage

  • AWS::SQS::Queue

  • AWS::SNS::Topic

Ada terlalu banyak node di peta jejak

Gunakan grup Sinar-X untuk memecah peta Anda menjadi beberapa peta. Untuk informasi selengkapnya, lihat Menggunakan Pernyataan Penyaring dengan Grup.

X-Ray SDK for Java

Kesalahan: Pengecualian di utas “Thread-1" com.amazonaws.xray.exceptions. SegmentNotFoundException: Gagal memulai subsegmen bernama 'AmazonSNS': segmen tidak dapat ditemukan.

Kesalahan ini menunjukkan bahwa X-Ray SDK mencoba merekam panggilan keluar ke AWS, tetapi tidak dapat menemukan segmen terbuka. Hal ini dapat terjadi dalam situasi berikut:

  • Sebuah filter servlet tidak dikonfigurasi – X-Ray SDK membuat segmen untuk permintaan masuk dengan filter bernama AWSXRayServletFilter. Mengonfigurasi filter servlet untuk instrumen permintaan masuk.

  • Anda menggunakan klien terinstrumentasi di luar kode servlet – Jika Anda menggunakan klien terinstrumentasi untuk membuat panggilan dalam kode startup atau kode lain yang tidak berjalan dalam menanggapi permintaan masuk, Anda harus membuat segmen secara manual. Lihat Menginstrumentasi kode perusahaan rintisan sebagai contoh.

  • Anda menggunakan klien terinstrumentasi dalam utas pekerja – Saat Anda membuat utas baru, pencatat X-Ray kehilangan referensi ke segmen terbuka. Anda dapat menggunakan metode getTraceEntity dan setTraceEntity untuk mendapatkan referensi ke segmen saat ini atau subsegmen (Entity), dan meneruskannya kembali ke pencatat di dalam utas. Lihat Menggunakan klien berinstrumen di utas pekerja sebagai contoh.

X-Ray SDK untuk Node.js

Masalah: CLS tidak berfungsi dengan Sequelize

Berikan X-Ray SDK untuk Node.js namespace untuk Sequelize dengan metode cls.

var AWSXRay = require('aws-xray-sdk'); const Sequelize = require('sequelize'); Sequelize.cls = AWSXRay.getNamespace(); const sequelize = new Sequelize(...);

Masalah: CLS tidak berfungsi dengan Bluebird

Gunakan cls-bluebird untuk membuat Bluebird berfungsi dengan CLS.

var AWSXRay = require('aws-xray-sdk'); var Promise = require('bluebird'); var clsBluebird = require('cls-bluebird'); clsBluebird(AWSXRay.getNamespace());

X-Ray Daemon

Masalah: Daemon menggunakan kredensial yang salah

Daemon menggunakan AWS SDK untuk memuat kredensyal. Jika Anda menggunakan beberapa metode untuk menyediakan kredensial, metode dengan prioritas tertinggi digunakan. Lihat Menjalankan daemon untuk informasi selengkapnya.