503 Layanan Tidak Tersedia

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 Error 503 Layanan Tidak Tersedia karena masalah DNS Pelajari hal-hal berikut:
  • Error 503 Layanan Tidak Tersedia yang disebabkan oleh masalah resolusi DNS dan masalah terkait Jaringan di Apigee Edge
  • Memecahkan masalah dan mengatasi error 503 Layanan Tidak Tersedia real-time yang disebabkan oleh masalah resolusi DNS
Memecahkan Masalah dan Mengatasi Error 503 Layanan Tidak Tersedia karena Masalah Jaringan Memecahkan masalah dan menyelesaikan Error 503 Layanan Tidak Tersedia real-time yang disebabkan oleh masalah Jaringan di Apigee Edge

Gejala

Aplikasi klien menerima status respons HTTP 503 dengan pesan Service Unavailable setelah 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 Unavailable dengan kode error messaging.adaptors.http.flow.ServiceUnavailable terjadi jika Message Processor Apigee Edge mengalami error karena waktu tunggu koneksi habis, nama host salah, atau kegagalan handshake SSL saat berkomunikasi dengan server backend.

Kemungkinan penyebab respons 503 Service Unavailable adalah:

Penyebab Deskripsi Siapa yang dapat melakukan langkah-langkah pemecahan masalah
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
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 jenis masalah ini dibahas dalam topik terpisah.) Pengguna Edge Public dan Private Cloud

Langkah-langkah diagnosis umum

Menentukan ID Pesan dari permintaan yang gagal

Alat rekaman aktivitas

Untuk menentukan ID pesan permintaan yang gagal menggunakan Alat Pelacakan:

  1. Jika masalah masih aktif, aktifkan sesi rekaman aktivitas untuk API yang terpengaruh.
  2. Lakukan panggilan API dan reproduksi masalah - 503 Service Unavailable dengan kode error messaging.adaptors.http.flow.ServiceUnavailable.
  3. Pilih salah satu permintaan yang gagal.
  4. Buka fase AX, dan tentukan ID pesan (X-Apigee.Message-ID) permintaan dengan men-scroll ke bawah di bagian Detail Fase seperti yang ditunjukkan pada gambar berikut.

    ID Pesan di bagian Detail Fase

Log akses NGINX

Untuk menentukan ID pesan permintaan yang gagal menggunakan log akses NGINX:

Anda juga dapat merujuk ke log Akses NGINX untuk menentukan ID pesan untuk error 503. Hal ini sangat berguna jika masalah telah terjadi di masa lalu atau jika masalah bersifat tidak tetap dan Anda tidak dapat merekam rekaman aktivitas di UI. Gunakan langkah-langkah berikut untuk menentukan informasi ini dari log akses NGINX:

  1. Periksa log akses NGINX: (/opt/apigee/var/log/edge-router/nginx/ <org>~ <env>.<port#>_access_log)
  2. Cari apakah ada Error 503 untuk proxy API tertentu selama durasi tertentu (jika masalah terjadi di masa lalu) atau apakah ada permintaan yang masih gagal dengan 503.
  3. Jika ada Error 503 dengan X-Apigee-fault-code messaging.adaptors.http.flow.ServiceUnavailable, catat ID pesan untuk satu atau beberapa permintaan tersebut seperti yang ditunjukkan dalam contoh berikut:

    Contoh Entri yang menampilkan Error 503

    Contoh entri yang menampilkan kode status, ID pesan, sumber kesalahan, dan kode kesalahan

Error koneksi karena resolusi DNS yang salah

Diagnosis

  1. Tentukan ID pesan dari permintaan yang gagal.
  2. Cari ID pesan permintaan tertentu di log Message Processor (/opt/apigee/var/log/edge-message-processor/logs/system.log). Anda mungkin melihat error berikut:

    Error onConnectTimeout menunjukkan bahwa Message Processor tidak dapat terhubung ke server backend dalam periode waktu tunggu koneksi yang telah ditetapkan (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)
          
  3. Catat alamat IP yang diselesaikan dalam error onConnectTimeout dan periksa apakah alamat IP tersebut valid untuk server backend Anda. Jika alamat IP valid, buka Error Koneksi.
  4. Jika alamat IP tidak valid, kemungkinan besar hal ini disebabkan oleh masalah pada resolusi DNS.
  5. Ulangi langkah 3 dan langkah 4 untuk beberapa permintaan API yang gagal lainnya dan verifikasi apakah Anda melihat alamat IP yang sama atau alamat IP tidak valid lainnya.
  6. Telusuri log Message Processor (/opt/apigee/var/log/edge-message-processor/logs/system.log) untuk menemukan pesan dengan kata kunci DNS Refresh. Periksa apakah alamat IP yang buruk atau tidak valid ditambahkan ke cache DNS di Message Processor 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]
          
  7. Masalah ini dapat terjadi jika ada masalah dengan server DNS otoritatif atau server nama yang dikonfigurasi di /etc/resolv.conf.

    Biasanya, ada satu atau beberapa server DNS otoritatif yang dikonfigurasi untuk melakukan resolusi DNS. Jika tidak ada server DNS otoritatif, maka server akan kembali ke penyiapan konfigurasi di /etc/resolv.conf dan melakukan resolusi DNS sebagaimana mestinya. Misalnya: Jika /etc/resolv.conf dikonfigurasi untuk menggunakan server nama tertentu, server nama tersebut akan digunakan untuk melakukan resolusi DNS.
  8. Jika ada masalah dengan server DNS tepercaya atau server nama yang ditentukan dalam /etc/resolv.conf, nama host server backend akan di-resolve ke alamat IP yang buruk/tidak valid. Alamat IP yang buruk/tidak valid kemudian akan disimpan di cache DNS Message Processor.
    1. Jika masalah pada server DNS otoritatif atau server nama yang ditentukan dalam /etc/resolv.conf terus berlanjut, alamat IP yang buruk/tidak valid akan terus berada di cache DNS Message Processor. Selama alamat IP yang buruk disimpan di cache DNS Message Processor, permintaan untuk semua API tersebut yang menggunakan server backend tertentu akan gagal dengan error 503.
    2. Jika masalah pada server DNS otoritatif atau server nama yang ditentukan dalam /etc/resolv.conf terjadi secara tidak teratur, alamat IP yang baik dan buruk akan disimpan secara tidak teratur dalam cache DNS. Dalam hal ini, Anda akan melihat error 503 secara berkala untuk semua API yang menggunakan server backend tertentu tersebut.
  9. Jika masalah pada server DNS terus berlanjut, Anda akan melihat kegagalan yang terus-menerus. Jika masalah pada server DNS terjadi sesekali, Anda akan melihat kegagalan yang terjadi sesekali. Artinya, setiap kali nama host server backend di-resolve ke alamat IP yang buruk, Anda akan melihat error 503. Jika nama host server backend di-resolve ke alamat IP yang valid, Anda akan melihat respons yang berhasil.

Resolusi

Bekerjasamalah dengan administrator sistem operasi Anda dan perbaiki masalah pada server DNS.

  1. Jika ada masalah dengan server DNS otoritatif atau server nama yang ditentukan di /etc/resolv.conf, perbaiki masalah dengan server yang sesuai untuk mengatasi masalah ini.
  2. Jika ada masalah dengan konfigurasi di /etc/resolv.conf pada sistem yang memiliki Pemroses Pesan, perbaiki masalah konfigurasi tersebut.

Koneksi error

Error koneksi terjadi saat Pemroses Pesan Apigee Edge mencoba terhubung ke server backend dan salah satu masalah berikut terjadi:

  • Prosesor Pesan tidak dapat terhubung dalam periode waktu tunggu koneksi yang telah ditetapkan. (Default: 3 detik)
  • Server backend menolak koneksi.

Diagnosis

  1. Tentukan ID pesan dari permintaan yang gagal.
  2. Telusuri ID pesan permintaan tertentu di log Pemroses Pesan (/opt/apigee/var/log/edge-message-processor/logs/system.log). Anda mungkin melihat error berikut:
    1. Error onConnectTimeout menunjukkan bahwa Message Processor tidak dapat terhubung ke server backend dalam periode waktu tunggu koneksi yang telah ditetapkan.
      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)
    2. Error java.net.ConnectException: Connection refused menunjukkan bahwa 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]
  3. Periksa apakah Anda dapat terhubung ke server backend tertentu secara langsung dari setiap Prosesor Pesan menggunakan perintah telnet:
    1. Jika server backend di-resolve ke satu alamat IP, gunakan perintah berikut:
      telnet BackendServer-IPaddress 443
                
    2. Jika server backend di-resolve ke beberapa alamat IP, gunakan nama host server backend dalam perintah telnet seperti yang ditunjukkan di bawah:
      telnet BackendServer-HostName 443
                
  4. Jika Anda dapat terhubung ke server backend, Anda mungkin akan melihat pesan seperti Connected to backend-server. Jika Anda tidak dapat terhubung ke server backend, hal ini mungkin disebabkan karena alamat IP Pemroses Pesan tidak diizinkan di server backend tertentu.

Resolusi

Berikan akses ke alamat IP Message Processor di server backend tertentu untuk mengizinkan traffic dari Edge Message Processor mengakses server backend Anda. Misalnya, di Linux, Anda dapat menggunakan iptables untuk mengizinkan traffic dari alamat IP Message Processor di server backend.

Jika masalah berlanjut, hubungi administrator Jaringan Anda untuk menentukan dan memperbaiki masalah tersebut. 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 akan mendapatkan respons 503 Service Unavailable dengan kode error messaging.adaptors.http.flow.ServiceUnavailable.

Alat rekaman aktivitas

Untuk mendiagnosis menggunakan alat Perekaman Aktivitas:

  1. Jika masalah masih aktif, aktifkan sesi rekaman aktivitas untuk API yang terpengaruh.
  2. Lakukan panggilan API dan reproduksi masalah - 503 Service Unavailable dengan kode error messaging.adaptors.http.flow.ServiceUnavailable.
  3. Pilih salah satu permintaan yang gagal.
  4. Telusuri berbagai fase rekaman aktivitas dan temukan tempat terjadinya kegagalan.
  5. Pilih FlowInfo yang memiliki error. Anda dapat menemukan informasi selengkapnya di kolom error.cause yang dapat memberi tahu Anda penyebab kegagalan seperti yang ditunjukkan dalam contoh berikut:

    Contoh permintaan yang menunjukkan error.cause dalam rekaman aktivitas

    Contoh permintaan yang menampilkan error.cause dalam rekaman aktivitas
  6. Jika Anda melihat bahwa error.cause menampilkan Host tidak dapat dijangkau, maka kemungkinan penyebab error adalah salah satu dari berikut ini:
    • Nama host yang ditentukan dalam konfigurasi server target/endpoint target salah atau memiliki spasi atau karakter khusus yang tidak diinginkan.

      Misalnya, ada spasi yang tidak diinginkan dalam nama host seperti yang ditunjukkan di bawah:
      "demo-target.apigee.net "
                        
    • Nama host yang diganti oleh variabel target.url di Proxy API menggunakan kebijakan AssignMessage atau JavaScript salah atau memiliki spasi atau karakter khusus lain yang tidak diinginkan.
  7. 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.
  8. Jika host server target dibuat secara dinamis, periksa kebijakan yang sesuai (misalnya, kebijakan AssignMessage/JavaScript) yang digunakan untuk membuatnya. Periksa untuk melihat apakah nama host server target salah atau memiliki spasi atau karakter khusus yang tidak diinginkan.
  9. Setelah Anda menentukan nama host server target, jalankan perintah nslookup/dig pada nama host untuk melihat apakah nama host tersebut dapat diselesaikan.

    Misalnya, menjalankan perintah nslookup pada nama host dengan spasi 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
  10. Jika perintah Sistem operasi nslookup juga gagal me-resolve nama host, maka penyebab masalah ini adalah nama host yang salah yang digunakan untuk server target.

    Buka Resolusi.

Log pemroses pesan

Untuk mendiagnosis menggunakan log pemroses pesan:

  1. Tentukan ID pesan permintaan yang gagal.
  2. Telusuri ID pesan di log Message Processor. (/opt/apigee/var/log/edge-message-processor/logs/system.log)
  3. Jika Anda melihat pesan peringatan/error berikut, Pemroses Pesan tidak dapat menyelesaikan nama host. Karena pesan akan ditunda, Anda mungkin tidak melihat pesan peringatan ini untuk semua ID pesan/permintaan.
    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
        
  4. Hal ini akan diikuti dengan pesan peringatan, di mana Message Processor 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
        
  5. Kemudian, Anda mungkin melihat pesan saat Message Processor gagal dengan pengecualian “Host tidak dapat dijangkau”. Terkadang, nama host ditampilkan 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>
        
  6. Terkadang, nama host akan ditampilkan sebagai null karena tidak dapat di-resolve atau dijangkau seperti yang ditunjukkan di bawah:
    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>
        
  7. Error Host not reachable biasanya terjadi dalam salah satu kasus berikut:
    • Nama host yang ditentukan dalam konfigurasi server target/endpoint target salah atau memiliki spasi atau karakter khusus yang tidak diinginkan.

      Misalnya, ada spasi yang tidak diinginkan dalam 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 diganti oleh variabel target.url di Proxy API menggunakan kebijakan AssignMessage atau JavaScript salah atau memiliki spasi atau karakter khusus lain yang tidak diinginkan.
  8. Tentukan nama host server target yang coba dihubungi oleh Message Processor menggunakan salah satu cara berikut:
    1. Periksa pesan error yang berisi Host not reachable dengan cermat.
    2. Jika pesan error menampilkan nama host, salin nama host termasuk spasi atau karakter khusus.
    3. Jika pesan error menampilkan null untuk nama host seperti yang terlihat dalam 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 {}
              
      1. Tentukan nama host dengan memeriksa definisi server target yang digunakan di Proxy API yang gagal.
      2. Jika host server target dibuat secara dinamis, periksa kebijakan yang sesuai (misalnya, kebijakan AssignMessage/JavaScript) yang digunakan untuk membuatnya.
  9. Setelah Anda menentukan nama host server target, jalankan perintah nslookup/dig pada nama host dan periksa apakah nama host tersebut dapat diselesaikan.

    Misalnya, jalankan perintah nslookup pada nama host yang memiliki spasi

    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
          
  10. Jika perintah Sistem operasi nslookup juga gagal me-resolve nama host, maka penyebab masalah ini adalah nama host yang salah yang digunakan untuk server target.

Resolusi

  1. Pastikan nama host server target yang ditentukan dalam konfigurasi endpoint target atau dalam definisi server target sudah benar dan tidak memiliki spasi atau karakter khusus yang tidak diinginkan.
  2. Jika Anda menggunakan kebijakan AssignMessage/JavaScript untuk membuat nama host server target secara dinamis, selidiki definisi kebijakan dan kode serta pastikan nama host server target dibuat dengan benar.

Kegagalan handshake SSL

Seluruh panduan pemecahan masalah dikhususkan untuk error handshake TLS/SSL. Lihat Kegagalan Handshake SSL.

Menentukan sumber masalah

Jenis error tertentu dapat terjadi pada koneksi masuk (northbound) atau keluar (southbound). Error masuk (northbound) terjadi antara aplikasi klien dan Edge. Error keluar (southbound) terjadi antara Edge dan server target backend. Untuk mendiagnosis jenis masalah ini, tugas pertama Anda adalah mencari tahu apakah error terjadi pada koneksi utara atau selatan.

Memahami koneksi northbound dan southbound

Di Edge, Anda dapat mengalami error 503 Service Unavailable pada koneksi masuk atau keluar:

  • Koneksi Masuk (atau ke utara) - Koneksi antara aplikasi klien dan Edge Router. Router adalah komponen Apigee Edge yang menangani permintaan masuk yang dibuat ke sistem.
  • Koneksi keluar (atau southbound) - Koneksi antara Edge Message Processor dan server backend. Message Processor adalah komponen Apigee Edge yang melakukan proxy permintaan API ke server target backend.

Jika Anda adalah pengguna Edge Public Cloud, Anda mungkin tidak mengetahui komponen internal seperti Router atau Message Processor. Komponen internal ini tidak terlihat atau dapat diakses oleh pengguna Cloud Publik. Jika memungkinkan, kami menyediakan cara alternatif untuk menyelidiki masalah yang tidak memerlukan akses langsung ke komponen ini.

Gambar berikut mengilustrasikan koneksi utara dan selatan untuk Apigee Edge.

Alur aplikasi klien (koneksi ke utara) melalui Edge ke server backend (koneksi ke selatan)

Menentukan tempat terjadinya error 503 Layanan Tidak Tersedia

Gunakan salah satu prosedur berikut untuk menentukan apakah error 503 Service Unavailable terjadi pada koneksi utara atau selatan.

Rekaman aktivitas UI

Untuk menentukan lokasi terjadinya error menggunakan Rekaman Aktivitas UI:

  1. Jika masalah masih aktif, aktifkan rekaman aktivitas UI untuk API yang terpengaruh.
  2. Jika rekaman aktivitas UI untuk permintaan API yang gagal menunjukkan bahwa error 503 Service Unavailable terjadi selama alur permintaan target atau dikirim oleh server backend, maka masalahnya adalah southbound (yaitu, antara Message Processor dan server backend).
  3. Jika Anda tidak mendapatkan rekaman aktivitas untuk panggilan API tertentu, berarti masalahnya ada di 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 skenario contoh 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.ServiceUnavailable melebihi batas tertentu.

Log akses NGINX

Untuk menentukan lokasi terjadinya error menggunakan Rekaman Aktivitas UI:

Jika masalah pernah terjadi sebelumnya atau jika masalah terjadi secara berkala dan Anda tidak dapat merekam aktivitas, lakukan langkah-langkah berikut:

  1. Periksa log akses NGINX (/opt/apigee/var/log/edge-router/nginx/ org-env.port_access_log ).
  2. Telusuri apakah ada Error 503 untuk proxy API tertentu.
  3. Jika Anda dapat mengidentifikasi Error 503 untuk API tertentu pada waktu tertentu, maka masalah tersebut terjadi pada koneksi southbound (antara Message Processor dan server backend).
  4. Jika tidak, masalah terjadi pada koneksi northbound (antara aplikasi klien dan Router).