Anda sedang melihat dokumentasi Apigee Edge.
Buka
Dokumentasi Apigee X. info
Video
Lihat video berikut untuk informasi selengkapnya tentang error 503:
Video | Deskripsi |
---|---|
Memecahkan Masalah dan Mengatasi Error Layanan 503 Tidak Tersedia karena masalah DNS | Pelajari hal berikut:
|
Memecahkan Masalah dan Mengatasi Error Layanan 503 Tidak Tersedia karena Masalah Jaringan | Memecahkan masalah dan menyelesaikan Error Layanan Tidak Tersedia secara real-time yang disebabkan oleh masalah Jaringan di Apigee Edge |
Gejala
Aplikasi klien menerima status respons HTTP 503 dengan pesan Service Available mengikuti panggilan proxy API.
Pesan error
Anda dapat melihat pesan error berikut:
HTTP/1.1 503 Service Unavailable
Anda juga dapat melihat pesan error berikut dalam respons HTTP:
Layanan tidak tersedia
{ "fault": { "faultstring": "The Service is temporarily unavailable", "detail": { "errorcode": "messaging.adaptors.http.flow.ServiceUnavailable" } } }
Kemungkinan penyebab
Respons HTTP 503 Service Tidak Tersedia dengan kode error messaging.adaptors.http.flow.ServiceUnavailable
terjadi jika Pemroses Pesan Apigee Edge mengalami error karena waktu koneksi habis, salah
nama host, atau kegagalan handshake SSL saat berkomunikasi dengan server backend.
Kemungkinan penyebab respons Layanan Tidak Tersedia 503 adalah:
Penyebab | Deskripsi | Siapa yang dapat melakukan langkah-langkah pemecahan masalah |
---|---|---|
Error koneksi karena resolusi DNS salah | Resolusi DNS server target menghasilkan alamat IP yang buruk yang menyebabkan error koneksi. | Pengguna Edge Private Cloud |
Error koneksi | Masalah jaringan atau konektivitas mencegah klien terhubung ke server. | Pengguna Edge Private Cloud |
Nama host server target 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. (Pemecahan masalah untuk kelas dibahas di topik terpisah.) | Pengguna Edge Public dan Private Cloud |
Langkah-langkah diagnosis umum
Menentukan ID Pesan dari permintaan yang gagal
Alat rekaman aktivitas
Cara menentukan ID pesan permintaan yang gagal dengan menggunakan Trace Tool:
- Jika masalah masih aktif, aktifkan sesi rekaman aktivitas untuk API yang terpengaruh.
- Lakukan panggilan API dan rekonstruksi masalah - 503 Layanan Tidak Tersedia dengan kode error
messaging.adaptors.http.flow.ServiceUnavailable.
- Pilih salah satu permintaan yang gagal.
- Buka fase AX, dan tentukan ID pesan (
X-Apigee.Message-ID
) permintaan dengan men-scroll ke bawah di bagian Fase Details seperti yang ditunjukkan pada gambar berikut.
Log akses NGINX
Untuk menentukan ID pesan dari permintaan yang gagal menggunakan log akses NGINX:
Anda juga dapat melihat log NGINX Access untuk menentukan ID pesan untuk error 503. Hal ini sangat berguna jika masalahnya pernah terjadi sebelumnya atau jika masalahnya hanya sesekali saja dan Anda tidak dapat merekam aktivitas di UI. Gunakan langkah-langkah berikut untuk menentukan informasi ini dari log akses NGINX:
- Periksa log akses NGINX: (
/opt/apigee/var/log/edge-router/nginx/ <org>~ <env>.<port#>_access_log
) - Telusuri apakah ada Error 503 untuk proxy API tertentu selama durasi tertentu (jika masalah terjadi di masa lalu) atau jika ada permintaan yang masih gagal dengan 503.
- Jika ada Error 503 dengan X-Apigee-fault-code messaging.adaptors.http.flow.ServiceAvailable,
catat ID pesan untuk satu atau beberapa permintaan seperti yang ditunjukkan pada contoh berikut:
Contoh Entri yang menunjukkan Error 503
Kesalahan koneksi karena resolusi DNS tidak benar
Diagnosis
- Tentukan ID pesan permintaan yang gagal.
- Telusuri ID pesan permintaan tertentu di log Pemroses Pesan (
/opt/apigee/var/log/edge-message-processor/logs/system.log
). Anda mungkin melihat error berikut:
Error onConnectTimeout menunjukkan bahwa Pemroses Pesan tidak dapat terhubung ke server backend dalam periode waktu tunggu koneksi yang telah ditetapkan sebelumnya (Default: 3 detik).2019-08-14 09:11:49,314 org:myorg env:prod api:Employees rev:1 messageid:mo-96cf6757a-9401-21-1 NIOThread@0 ERROR HTTP.CLIENT - HTTPClient$Context.onTimeout() : ClientChannel[Connected:]@164162 useCount=1 bytesRead=0 bytesWritten=0 age=3001ms lastIO=3001ms .onConnectTimeout connectAddress=www.abc.com/11.11.11.11 resolvedAddress=www.abc.com/22.22.22.22 2019-08-14 09:11:49,333 org:myorg env:prod api:Employees rev:1 messageid:mo-96cf6757a-9401-21-1 NIOThread@0 ERROR ADAPTORS.HTTP.FLOW - RequestWriteListener.onTimeout() : RequestWriteListener.onTimeout(HTTPRequest@6b393600)
- Catat alamat IP yang di-resolve dalam error onConnectTimeout dan periksa apakah alamat IP valid untuk server backend Anda. Jika alamat IP valid, buka Error Koneksi.
- Jika alamat IP tidak valid, maka kemungkinan besar disebabkan oleh masalah dengan resolusi DNS.
- Ulangi langkah 3 dan langkah 4 untuk beberapa permintaan API yang gagal lagi dan verifikasi apakah Anda melihat alamat IP yang sama atau tidak valid lainnya.
- Telusuri log Pemroses Pesan (
/opt/apigee/var/log/edge-message-processor/logs/system.log
) untuk menemukan pesan yang berisi kata kunci DNS Refresh. Periksa apakah alamat IP yang buruk atau tidak valid ditambahkan ke cache DNS pada Pemroses Pesan sesekali.2019-08-14 09:11:49,314 org:myorg env:prod api:Employees rev:1 messageid:mo-96cf6757a-9401-21-1 NIOThread@0 INFO c.a.p.h.d.DNSCachedAddress - DNSCachedAddress.reportDifferences() : DNS Refresh for host: apitarget-uat.schemeweb.co.uk:4436. Added 2 IPs [www.abc.com/22.22.22.22, www.abc.com/33.33.33.33] Removed 1 IPs [www.abc.com/11.11.11.11]
- Masalah ini dapat terjadi jika ada masalah dengan server DNS otoritatif atau server nama yang dikonfigurasi di
/etc/resolv.conf
.
Biasanya, mungkin ada satu atau beberapa server DNS otoritatif yang dikonfigurasi untuk melakukan resolusi DNS. Jika tidak ada server DNS otoritatif, server akan kembali ke penyiapan konfigurasi di/etc/resolv.conf
dan melakukan resolusi DNS yang sesuai. Misalnya: Jika/etc/resolv.conf
dikonfigurasi untuk menggunakan server nama tertentu, server nama tersebut akan digunakan untuk melakukan resolusi DNS. - Jika ada masalah dengan server DNS otoritatif atau server nama yang ditentukan di
/etc/resolv.conf
, nama host server backend akan diselesaikan menjadi alamat IP yang buruk/tidak valid. Alamat IP yang buruk/tidak valid selanjutnya akan disimpan dalam cache DNS Pemroses Pesan.- Jika masalah dengan server DNS otoritatif atau server nama yang ditentukan di
/etc/resolv.conf
terus berlanjut, alamat IP yang buruk/tidak valid akan terus berada di cache DNS Pemroses Pesan. Selama alamat IP buruk disimpan di cache DNS Pemroses Pesan, permintaan untuk semua API yang menggunakan server backend spesifik akan gagal dengan error 503. - Jika masalah dengan server DNS otoritatif atau server nama yang ditentukan di
/etc/resolv.conf
terjadi sesekali, alamat IP yang baik dan buruk akan disimpan secara bergantian di cache DNS. Dalam kasus ini, Anda akan melihat error 503 sesekali untuk semua API yang menggunakan server backend tertentu.
- Jika masalah dengan server DNS otoritatif atau server nama yang ditentukan di
- Jika masalah dengan server DNS berlanjut, Anda akan melihat kegagalan berkelanjutan. Jika masalah dengan server DNS terputus-putus, Anda akan melihat kegagalan yang berselang-seling. Artinya, setiap kali nama {i>host<i} server backend diselesaikan menjadi alamat IP yang buruk, maka Anda mengamati {i>error<i} 503. Dan ketika nama host server backend di-resolve menjadi alamat IP yang baik, Anda akan melihat respons yang berhasil.
Resolusi
Bekerja samalah dengan administrator sistem operasi Anda dan perbaiki masalah dengan server DNS.
- Jika ada masalah dengan server DNS otoritatif Anda atau server nama yang ditentukan di
/etc/resolv.conf
, perbaiki masalah dengan server yang sesuai untuk mengatasi masalah ini. - Jika ada masalah dengan konfigurasi di
/etc/resolv.conf
pada sistem yang memiliki Pemroses Pesan, perbaiki masalah konfigurasi.
Koneksi error
Error koneksi terjadi saat Pemroses Pesan Edge Apigee mencoba terhubung ke backend server dan salah satu masalah berikut terjadi:
- Pemroses Pesan tidak dapat tersambung dalam periode waktu tunggu koneksi yang telah ditetapkan sebelumnya. (Default: 3 detik)
- Server backend menolak koneksi.
Diagnosis
- Tentukan ID pesan permintaan yang gagal.
-
Telusuri ID pesan permintaan tertentu di log Pemroses Pesan (
/opt/apigee/var/log/edge-message-processor/logs/system.log
). Anda mungkin melihat error berikut:-
Error onConnectTimeout menunjukkan bahwa Pemroses Pesan tidak dapat
terhubung ke server backend dalam periode waktu tunggu koneksi yang telah ditetapkan sebelumnya.
2016-06-23 09:11:49,314 org:myorg env:prod api:Employees rev:1 messageid:mo-96cf6757a-9401-21-1 NIOThread@2 ERROR HTTP.CLIENT - HTTPClient$Context.onTimeout() : ClientChannel[C:]@10 useCount=1 bytesRead=0 bytesWritten=0 age=3001ms lastIO=3001ms .onConnectTimeout connectAddress=www.abc.com/11.11.11.11:80 resolvedAddress=www.abc.com/11.11.11.11 2016-06-23 09:11:49,333 org:myorg env:prod api:Employees rev:1 messageid:mo-96cf6757a-9401-21-1 NIOThread@2 ERROR ADAPTORS.HTTP.FLOW - RequestWriteListener.onTimeout() : RequestWriteListener.onTimeout(HTTPRequest@6b393600)
-
Error java.net.ConnectException: Connection ditolak menunjukkan koneksi
ditolak oleh server backend.
14:40:16.531 +0530 2016-06-17 09:10:16,531 org:myorg env:prod api:www.abc.com rev:1 rrt07eadn-22739-40983870-15 NIOThread@2 ERROR HTTP.CLIENT - HTTPClient$Context.onConnectFailure() : connect to www.abc.com:11.11.11.11:443 failed with exception {} java.net.ConnectException: Connection refused at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.7.0_75] at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:739) ~[na:1.7.0_75] at com.apigee.nio.ClientChannel.finishConnect(ClientChannel.java:121) ~[nio-1.0.0.jar:na] at com.apigee.nio.handlers.NIOThread.run(NIOThread.java:108) ~[nio-1.0.0.jar:na]
-
Error onConnectTimeout menunjukkan bahwa Pemroses Pesan tidak dapat
terhubung ke server backend dalam periode waktu tunggu koneksi yang telah ditetapkan sebelumnya.
- Periksa apakah Anda dapat terhubung ke server backend tertentu langsung dari masing-masing
Pemroses Pesan menggunakan perintah
telnet
:- Jika server backend me-resolve ke satu alamat IP, gunakan perintah berikut:
telnet BackendServer-IPaddress 443
- Jika server backend me-resolve ke beberapa alamat IP, maka gunakan nama host
server backend di perintah
telnet
seperti yang ditunjukkan di bawah:telnet BackendServer-HostName 443
- Jika server backend me-resolve ke satu alamat IP, gunakan perintah berikut:
- Jika Anda dapat terhubung ke server backend, Anda mungkin melihat pesan seperti
Connected to backend-server
. Jika Anda tidak dapat terhubung ke server {i>backend<i}, ini mungkin karena Prosesor Pesan Alamat IP tidak diizinkan di backend tertentu server tertentu.
Resolusi
Memberikan akses ke alamat IP Pemroses Pesan di server backend tertentu untuk mengizinkan traffic dari Edge Message Processors untuk mengakses server backend Anda. Misalnya, Di Linux, Anda bisa menggunakan iptables untuk mengizinkan traffic dari alamat IP Pemroses Pesan di server backend.
Jika masalah berlanjut, bekerjasamalah dengan Administrator jaringan Anda untuk menentukan dan memperbaiki masalah masalah performa. Jika Anda memerlukan bantuan lebih lanjut dari Apigee, hubungi Dukungan Apigee.
Nama host server target salah
Diagnosis
Jika nama host yang ditentukan di server target salah, Anda bisa mendapatkan respons 503 Service Tidak Tersedia dengan kode error
messaging.adaptors.http.flow.ServiceUnavailable.
Alat rekaman aktivitas
Untuk mendiagnosis menggunakan alat Trace:
- Jika masalah masih aktif, aktifkan sesi rekaman aktivitas untuk API yang terpengaruh.
- Lakukan panggilan API dan rekonstruksi masalah - 503 Layanan Tidak Tersedia dengan kode error
messaging.adaptors.http.flow.ServiceUnavailable.
- Pilih salah satu permintaan yang gagal.
- Menavigasi berbagai fase pelacakan dan menemukan tempat terjadinya kegagalan.
- Pilih FlowInfo yang mengalami error. Anda dapat menemukan informasi selengkapnya di kolom error.cause yang dapat memberi tahu penyebab kegagalan seperti yang ditunjukkan pada contoh berikut:
Permintaan contoh yang menampilkan error.Cause dalam rekaman aktivitas
- Jika Anda melihat bahwa error.cause menampilkan error.causekemungkinan penyebab error adalah salah satu dari hal berikut:
- Nama host yang ditentukan dalam konfigurasi endpoint target/server target salah atau memiliki spasi atau karakter khusus yang tidak diinginkan.
Misalnya, ada ruang yang tidak diinginkan dalam nama host seperti yang ditunjukkan di bawah ini:
"demo-target.apigee.net "
- Nama host ditimpa oleh variabel target.url di Proxy API menggunakan AssignMessage atau Kebijakan JavaScript salah atau memiliki spasi atau karakter khusus lain yang tidak diinginkan.
- Nama host yang ditentukan dalam konfigurasi endpoint target/server target salah atau memiliki spasi atau karakter khusus yang tidak diinginkan.
- Periksa konfigurasi endpoint target dan/atau definisi server target untuk melihat apakah nama host server target salah atau memiliki spasi atau karakter khusus yang tidak diinginkan.
- Jika host server target dibuat secara dinamis, periksa kebijakan yang sesuai (misalnya kebijakan AssignMessage/JavaScript) yang digunakan untuk membuatnya. Centang ke memeriksa apakah nama {i>host<i} server target salah atau memiliki spasi atau karakter khusus yang tidak diinginkan.
- Setelah menentukan nama host server target, jalankan perintah
nslookup/dig
pada nama host untuk melihat apakah masalah tersebut dapat diselesaikan.Misalnya, menjalankan perintah
nslookup
pada nama host dengan ruang yang tidak diinginkan akan menampilkan output berikut:nslookup "demo-target.apigee.net " Server: 49.205.75.2 Address: 49.205.75.2#53 ** server can't find demo-target.apigee.net\032: NXDOMAIN
- Jika perintah Sistem operasi
nslookup
juga gagal menyelesaikan nama host, penyebab masalah ini adalah nama host yang salah yang digunakan untuk server target.Buka Resolusi.
Log pemroses pesan
Untuk mendiagnosis penggunaan log pemroses pesan:
- Tentukan ID pesan permintaan yang gagal.
- Telusuri ID pesan di log Pemroses Pesan. (
/opt/apigee/var/log/edge-message-processor/logs/system.log
) - Jika Anda melihat pesan peringatan/kesalahan berikut, Pemroses Pesan tidak dapat me-resolve nama host. Karena pesan akan ditunda, Anda mungkin tidak melihat pesan ini
untuk semua ID/permintaan pesan.
org:myorg env:prod api:TestTargetServer rev:2 messageid:<messageid> NIOThread@0 WARN S.HTTPCLIENTSERVICE - DNSCache$2.failed() : Failed to resolve hostname www.somehost.com . Reason mocktarget.apigee.net : Name or service not known. This log message will snooze for 2 hours
- Kemudian akan diikuti dengan pesan peringatan, saat Pemroses Pesan menghapus alamat dari cache DNS, karena host server target tidak dapat dijangkau.
org:myorg env:prod api:TestTargetServer rev:2 messageid:<messageid> NIOThread@0 WARN c.a.p.h.d.DNSCachedAddress - DNSCachedAddress.addressNotReachable() : The last address has been removed from Address list null refreshing
- Anda mungkin akan melihat pesan Pemroses Pesan gagal dengan pengecualian “Host tidak dapat dijangkau”. Terkadang error ini menampilkan nama host sebagai bagian dari pesan error:
org:myorg env:prod api:TestTargetServer rev:2 messageid:<messageid> NIOThread@0 ERROR HTTP.CLIENT - HTTPClient$Context.onConnectFailure() : connect to demo-target.apigee.net failed with exception {} java.lang.RuntimeException: Host not reachable at com.apigee.protocol.http.HTTPClient$Context.initConnect(HTTPClient.java:704) at com.apigee.protocol.http.HTTPClient$Context.send(HTTPClient.java:675) at com.apigee.messaging.adaptors.http.flow.data.TargetRequestSender.sendRequest(TargetRequestSender.java:234) …<snipped>
- Terkadang, nama host dapat ditampilkan sebagai null karena nama host tidak dapat diselesaikan atau tidak dapat dijangkau seperti yang ditunjukkan di bawah ini:
org:myorg env:prod api:TestTargetServer rev:2 messageid:<messageid> NIOThread@0 ERROR HTTP.CLIENT - HTTPClient$Context.onConnectFailure() : connect to null failed with exception {} java.lang.RuntimeException: Host not reachable at com.apigee.protocol.http.HTTPClient$Context.initConnect(HTTPClient.java:704) at com.apigee.protocol.http.HTTPClient$Context.send(HTTPClient.java:675) at com.apigee.messaging.adaptors.http.flow.data.TargetRequestSender.sendRequest(TargetRequestSender.java:234) …<snipped>
- Error
Host not reachable
biasanya terjadi dalam salah satu kasus berikut:- Nama host yang ditentukan dalam konfigurasi endpoint target/server target salah atau memiliki spasi atau karakter khusus yang tidak diinginkan.
Misalnya, ada ruang yang tidak diinginkan pada nama host "demo-target.apigee.net " dalam pesan error berikut:NIOThread@0 ERROR HTTP.CLIENT - HTTPClient$Context.onConnectFailure() : connect to demo-target.apigee.net failed with exception
- Nama host yang ditimpa oleh variabel target.url di Proxy API menggunakan kebijakan AssignMessage atau JavaScript salah atau memiliki spasi atau karakter khusus lain yang tidak diinginkan.
- Nama host yang ditentukan dalam konfigurasi endpoint target/server target salah atau memiliki spasi atau karakter khusus yang tidak diinginkan.
- Tentukan nama host server target yang ingin dikomunikasikan oleh Pemroses Pesan dengan menggunakan salah satu hal berikut:
- Periksa pesan error yang berisi
Host not reachable
dengan cermat. - Jika pesan error menampilkan nama host, salin nama host termasuk spasi atau karakter khusus apa pun.
- Jika pesan error menunjukkan null untuk nama host seperti yang terlihat pada pesan error berikut,
org:myorg env:prod api:TestTargetServer rev:2 messageid:<messageid> NIOThread@0 ERROR HTTP.CLIENT - HTTPClient$Context.onConnectFailure() : connect to null failed with exception {}
- Tentukan nama host dengan memeriksa definisi server target yang digunakan dalam Proxy API yang gagal.
- Jika host server target dibuat secara dinamis, periksa kebijakan yang sesuai (misalnya, kebijakan MenetapkanMessage/JavaScript) yang digunakan untuk membuatnya.
- Setelah menentukan nama host server target, jalankan perintah nslookup/dig pada nama host dan periksa apakah nama tersebut dapat diselesaikan.
Misalnya, jalankan perintah nslookup pada nama host yang memiliki ruang
nslookup "demo-target.apigee.net " Server: 49.205.75.2 Address: 49.205.75.2#53 ** server can't find demo-target.apigee.net\032: NXDOMAIN
- Jika perintah Sistem operasi nslookup juga gagal menyelesaikan nama host, penyebab masalah ini adalah nama host yang salah digunakan untuk server target.
Resolusi
- Pastikan nama host server target yang ditentukan dalam konfigurasi endpoint target atau di server target benar dan tidak memiliki spasi atau karakter khusus yang tidak diinginkan.
- Jika Anda menggunakan kebijakan MenetapkanMessage/JavaScript untuk membuat nama host server target secara dinamis, selidiki definisi kebijakan dan kodenya dan memastikan bahwa nama {i>host<i} server target dibuat dengan benar.
Kegagalan handshake SSL
Seluruh playbook pemecahan masalah ditujukan untuk error handshake TLS/SSL. Lihat Kegagalan Handshake SSL.
Menentukan sumber masalah
Jenis error tertentu dapat terjadi pada traffic masuk (arah utara) atau keluar (arah selatan) koneksi jarak jauh. Terjadi error yang masuk (arah utara) antara aplikasi klien dan Edge. Channel terjadi error keluar (southbound) antara Edge dan server target backend. Untuk mendiagnosis jenis masalah, pekerjaan pertama Anda adalah mencari tahu apakah {i>error<i} terjadi di jalur utara atau koneksi ke selatan.
Memahami koneksi arah utara dan selatan
Di Edge, Anda dapat menemukan pesan error 503 Service Tidak Tersedia pada koneksi masuk atau keluar:
- Koneksi masuk (atau arah utara) - Koneksi antara klien dan Edge Router. Router adalah komponen Apigee Edge yang menangani permintaan masuk yang dibuat ke sistem.
- Koneksi keluar (atau arah selatan) - Koneksi antara Edge Pemroses Pesan dan server backend. Pemroses Pesan adalah komponen Apigee Edge yang membuat proxy permintaan API ke server target backend.
Jika Anda adalah pengguna Edge Public Cloud, Anda mungkin tidak menyadari adanya komponen internal seperti {i>Router<i} atau {i>Message Processor<i}. Komponen internal ini tidak dapat dilihat atau diakses oleh Pengguna Cloud Publik. Jika memungkinkan, kami akan menyediakan cara alternatif untuk menyelidiki masalah yang tidak memerlukan akses langsung ke komponen-komponen ini.
Gambar berikut mengilustrasikan koneksi menuju utara dan selatan untuk Apigee Edge.
Menentukan tempat terjadinya error 503 Service Tidak Tersedia
Gunakan salah satu prosedur berikut untuk menentukan apakah terjadi error 503 Service Tidak Tersedia di koneksi menuju utara atau selatan.
Rekaman aktivitas UI
Untuk menentukan tempat terjadinya error menggunakan Pelacakan UI:
- Jika masalah masih aktif, aktifkan rekaman aktivitas UI untuk API yang terpengaruh.
- Jika rekaman aktivitas UI untuk permintaan API yang gagal menunjukkan error 503 Service Tidak Tersedia terjadi selama alur permintaan target atau dikirim oleh server backend, maka masalahnya southbound (yaitu, antara Pemroses Pesan dan backend server tertentu).
- Jika Anda tidak mendapatkan rekaman aktivitas untuk panggilan API tertentu, berarti masalahnya ke arah utara, antara aplikasi klien dan Router.
Pemantauan API
Pemantauan API memungkinkan Anda mengisolasi area masalah dengan cepat untuk mendiagnosis masalah error, performa, dan latensi serta sumbernya. seperti aplikasi developer, proxy API, target backend, atau platform API.
Ikuti contoh skenario yang menunjukkan cara memecahkan masalah 5xx dengan API menggunakan Pemantauan API.
Misalnya, Anda mungkin ingin menyiapkan pemberitahuan yang akan dikirimkan saat jumlah kesalahan messaging.adaptors.http.flow.ServiceUnavailable
melebihi batas tertentu.
Log akses NGINX
Untuk menentukan tempat terjadinya error menggunakan Pelacakan UI:
Jika masalah pernah terjadi sebelumnya atau jika masalah hanya muncul sesekali dan Anda tidak dapat merekam aktivitas, lalu melakukan langkah-langkah berikut:
- Periksa log akses NGINX (
/opt/apigee/var/log/edge-router/nginx/ org-env.port_access_log
). - Telusuri apakah ada Error 503 untuk proxy API tertentu.
- Jika Anda bisa mengidentifikasi Error 503 untuk API tertentu pada waktu tertentu, maka terjadi di koneksi southbound (antara Pemroses Pesan dan server backend).
- Jika tidak, masalah terjadi di koneksi arah utara (di antara aplikasi klien dan Router).