Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi
Apigee X. info
Video
Tonton video berikut untuk mengetahui informasi selengkapnya tentang error 503:
| Video | Deskripsi |
|---|---|
| Memecahkan masalah dan mengatasi 503 Service Unavailable - NoActiveTargets | Pelajari hal-hal berikut:
|
Gejala
Aplikasi klien menerima kode status respons HTTP 503 dengan pesan Service Unavailable dan kode error NoActiveTargets untuk permintaan proxy API.
Pesan error
Anda akan melihat respons error berikut:
HTTP/1.1 503 Service Unavailable
Anda akan melihat pesan error berikut dalam respons HTTP:
{
"fault": {
"faultstring": "The Service is temporarily unavailable",
"detail": {
"errorcode": "messaging.adaptors.http.flow.NoActiveTargets"
}
}
}
Kemungkinan penyebab
Respons HTTP 503 Service Unavailable dengan kode error NoActiveTargets biasanya diamati saat Anda menggunakan satu atau beberapa server target dalam konfigurasi endpoint target di Proxy API.
Tabel berikut mencantumkan kemungkinan penyebab respons 503 Service Unavailable dengan kode error NoActiveTargets:
| Penyebab | Deskripsi | Siapa yang dapat melakukan langkah-langkah pemecahan masalah |
|---|---|---|
| Server Target Dinonaktifkan | Server target yang ditentukan dalam konfigurasi endpoint target dinonaktifkan. | Pengguna Edge Public dan Private Cloud |
| Error Koneksi karena resolusi DNS yang salah | Resolusi DNS server target menghasilkan alamat IP yang buruk sehingga menyebabkan error koneksi. | Pengguna Edge Private Cloud |
| Error Koneksi | Masalah jaringan atau konektivitas mencegah klien terhubung ke server. | Pengguna Edge Private Cloud |
| Alias Host Target yang Salah | Host server target yang ditentukan salah atau memiliki karakter yang tidak diinginkan (seperti spasi). | Pengguna Edge Public dan Private Cloud |
| Kegagalan Handshake SSL | Handshake TLS/SSL gagal antara klien dan server. | Pengguna Edge Public dan Private Cloud |
| Kegagalan Health Check | Health check yang dikonfigurasi untuk memeriksa kondisi server target mungkin gagal karena beberapa alasan. | Pengguna Edge Private Cloud |
Penyebab: Server target dinonaktifkan
Jika semua server target yang ditentukan dalam konfigurasi endpoint target dinonaktifkan, Anda akan mendapatkan respons 503 Service Unavailable dengan kode error NoActiveTargets.
Diagnosis
- Tentukan nama server target yang digunakan dalam Konfigurasi Endpoint Target tertentu dari Proxy API yang gagal menggunakan salah satu cara berikut:
- Jika ada satu endpoint target, periksa endpoint target tersebut.
- Jika ada beberapa endpoint target dan Anda tidak yakin endpoint mana yang telah menonaktifkan server target, ikuti langkah-langkah di bawah ini:
- Aktifkan sesi rekaman aktivitas, lakukan panggilan API, dan reproduksi masalah - 503 Service Unavailable.
- Dari rekaman aktivitas, buka Target Request Flow Started dan tentukan nama endpoint target seperti yang ditunjukkan di bawah ini:
- Setelah mengidentifikasi endpoint target, dapatkan nama server target yang digunakan dari konfigurasi endpoint target seperti yang ditunjukkan dalam contoh di bawah:
<TargetEndpoint name="default">> <HTTPTargetConnection> <LoadBalancer> <Server name="demo-target" /> </LoadBalancer> <Path>/test</Path> </HTTPTargetConnection> </TargetEndpoint>Pada contoh di atas, ada satu server target bernama demo-target.
- Dapatkan definisi untuk setiap server target yang digunakan di endpoint target menggunakan panggilan Edge UI atau Edge API.
UI Edge
Untuk mendapatkan definisi menggunakan UI Edge:
- Buka Admin > Environments > Target Servers.
- Pilih lingkungan tertentu tempat Anda melihat kegagalan.
- Telusuri nama server target tertentu untuk mendapatkan definisi server target.
Misalnya, ketik nama server target
demo-targetdan Anda akan melihat definisinya seperti yang ditunjukkan di bawah:
Perhatikan di sini bahwa server target demo-target memiliki alias host, nomor port, dan SSL diaktifkan. Namun, server target itu sendiri dinonaktifkan, yang ditunjukkan oleh elemen ENABLED yang berwarna abu-abu.
Edge API
Untuk mendapatkan definisi menggunakan Edge API:
Gunakan Get TargetServer API untuk mendapatkan definisi server target.
Output Definisi Server Target
<TargetServer name="demo-target"> <Host>demo-target.apigee.net</Host> <Port>443</Port> <IsEnabled>false</IsEnabled> <SSLInfo> <Enabled>true</Enabled> </SSLInfo> </TargetServer>Output Apigee API menunjukkan bahwa server target demo-target dinonaktifkan karena elemen IsEnabled disetel ke salah (false).
Karena server target dinonaktifkan, Message Processor akan segera mengirim 503 Service Unavailable dengan kode error NoActiveTargets sebagai respons kepada klien.

Resolusi
Pastikan server target tertentu yang digunakan dalam konfigurasi endpoint target API Proxy Anda selalu diaktifkan.
UI Edge
- Buka Admin > Environments > Target Servers.
- Pilih lingkungan tertentu tempat Anda melihat kegagalan.
- Telusuri nama server target tertentu untuk mendapatkan definisinya.
- Pilih server target tertentu, lalu klik Edit.
- Centang kotak Diaktifkan.
- Klik Perbarui.
Edge API
Gunakan Update a Target Server API untuk memperbarui definisi server target dan memastikan IsEnabled disetel ke true di payload permintaan API seperti yang ditunjukkan di bawah:
<TargetServer name="demo-target">
<Host>demo-target.apigee.net</Host>
<Port>443</Port>
<IsEnabled>true</IsEnabled>
<SSLInfo>
<Enabled>true</Enabled>
</SSLInfo>
</TargetServer>
Jika masalah masih berlanjut, buka Must Gather Diagnostic Information.
Mendiagnosis masalah menggunakan pemantauan API
Pemantauan API memungkinkan Anda mengisolasi area masalah dengan cepat untuk mendiagnosis error, masalah performa, dan latensi serta sumbernya, seperti aplikasi developer, proxy API, target backend, atau platform API.
Ikuti langkah-langkah dalam contoh skenario
yang menunjukkan cara memecahkan masalah 5xx dengan API Anda menggunakan Pemantauan API. Misalnya,
Anda dapat menyiapkan pemberitahuan untuk menerima notifikasi saat jumlah kesalahan messaging.adaptors.http.flow.NoActiveTargets
melebihi batas tertentu.
Harus mengumpulkan informasi diagnostik
Jika masalah berlanjut bahkan setelah mengikuti petunjuk di atas, kumpulkan informasi diagnostik berikut. Hubungi dan bagikan ke Dukungan Apigee:
- Jika Anda adalah pengguna Public Cloud, berikan informasi berikut:
- Nama Organisasi
- Nama Lingkungan
- Nama Proxy API
- Perintah curl lengkap untuk mereproduksi error
- File rekaman aktivitas yang berisi permintaan dengan 503 Service Unavailable dengan kode error NoActiveTargets
- Jika Anda adalah pengguna Private Cloud, berikan informasi berikut:
- Pesan Error Lengkap yang diamati
- Nama Lingkungan
- Paket Proxy API
- File rekaman aktivitas yang berisi permintaan dengan 503 Service Unavailable dengan kode error NoActiveTargets
- Log Akses NGINX
(
/opt/apigee/var/log/edge-router/nginx/<org>~<env>.<port#>_access_log) - Log Message Processor
(
/opt/apigee/var/log/edge-message-processor/logs/system.log)