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.
Bagian-bagian
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. CloudWatchAWS/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 namespaceAWS/DynamoDB
danTableName
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
dansetTraceEntity
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.