

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
<a name="xray-troubleshooting"></a>

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

**Topics**
+ [Peta jejak X-Ray dan halaman detail jejak](#xray-console-troubleshooting)
+ [X-Ray SDK for Java](#troubleshooting-java)
+ [X-Ray SDK untuk Node.js](#troubleshooting-nodejs)
+ [X-Ray Daemon](#troubleshooting-daemon)

## Peta jejak X-Ray dan halaman detail jejak
<a name="xray-console-troubleshooting"></a>

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

### Saya tidak melihat semua CloudWatch log saya
<a name="xray-troubleshooting-Nologs"></a>

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
+ Kluster 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
<a name="xray-troubleshooting-NoAlarms"></a>

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
<a name="xray-troubleshooting-MissingResources"></a>

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
<a name="xray-troubleshooting-MapTooBig"></a>

Gunakan grup Sinar-X untuk memecah peta Anda menjadi beberapa peta. Untuk informasi selengkapnya, lihat [ Menggunakan Pernyataan Penyaring dengan Grup](xray-console-filters.md#groups).

## X-Ray SDK for Java
<a name="troubleshooting-java"></a>

**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](xray-sdk-java-filters.md) 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](scorekeep-startup.md) 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 [https://docs.aws.amazon.com/xray-sdk-for-java/latest/javadoc/com/amazonaws/xray/AWSXRayRecorder.html#getTraceEntity--](https://docs.aws.amazon.com/xray-sdk-for-java/latest/javadoc/com/amazonaws/xray/AWSXRayRecorder.html#getTraceEntity--) dan [https://docs.aws.amazon.com/xray-sdk-for-java/latest/javadoc/com/amazonaws/xray/AWSXRayRecorder.html#setTraceEntity--](https://docs.aws.amazon.com/xray-sdk-for-java/latest/javadoc/com/amazonaws/xray/AWSXRayRecorder.html#setTraceEntity--) untuk mendapatkan referensi ke segmen saat ini atau subsegmen ([https://docs.aws.amazon.com/xray-sdk-for-java/latest/javadoc/com/amazonaws/xray/entities/Entity.html](https://docs.aws.amazon.com/xray-sdk-for-java/latest/javadoc/com/amazonaws/xray/entities/Entity.html)), dan meneruskannya kembali ke pencatat di dalam utas. Lihat [Menggunakan klien berinstrumen di utas pekerja](scorekeep-workerthreads.md) sebagai contoh.

## X-Ray SDK untuk Node.js
<a name="troubleshooting-nodejs"></a>

**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
<a name="troubleshooting-daemon"></a>

**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](xray-daemon.md#xray-daemon-running) untuk informasi selengkapnya.