Layanan 503 Tidak Tersedia

Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi Apigee X.
info

Video

Lihat video berikut untuk informasi lebih lanjut tentang kesalahan 503:

Video Deskripsi
Memecahkan Masalah dan Mengatasi Error 503 Service Tidak Tersedia karena masalah DNS Pelajari hal berikut:
  • Error 503 Layanan Tidak Tersedia yang disebabkan oleh resolusi DNS dan masalah terkait Jaringan di Apigee Edge
  • Memecahkan masalah dan menyelesaikan error 503 Service Tidak Tersedia secara real-time yang disebabkan oleh masalah resolusi DNS
Memecahkan Masalah dan Mengatasi Error Layanan Tidak Tersedia 503 karena Masalah Jaringan Memecahkan masalah dan menyelesaikan Error 503 Service 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 (Layanan Tidak Tersedia) 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 Supported dengan kode error messaging.adaptors.http.flow.ServiceUnavailable terjadi jika Message Processor Apigee Edge mengalami error karena waktu koneksi habis, nama host salah, atau kegagalan handshake SSL saat berkomunikasi dengan server backend.

Kemungkinan penyebab respons 503 Service Tidak Tersedia 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 yang menyebabkan kesalahan 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 berisi karakter yang tidak diinginkan (seperti spasi). Pengguna Edge Publik dan Private Cloud
Kegagalan handshake SSL Handshake TLS/SSL gagal antara klien dan server. (Pemecahan masalah untuk kelas masalah ini dibahas dalam topik terpisah.) Pengguna Edge Publik dan Private Cloud

Langkah-langkah diagnosis umum

Menentukan ID Pesan dari permintaan yang gagal

Alat pelacak

Untuk menentukan ID pesan dari permintaan yang gagal menggunakan Alat Pelacakan:

  1. Jika masalah masih aktif, aktifkan sesi perekaman aktivitas untuk API yang terpengaruh.
  2. Buat panggilan API dan rekonstruksi masalah - 503 Layanan Tidak Tersedia 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) dari permintaan tersebut dengan men-scroll ke bawah di bagian Phase Details, seperti ditunjukkan dalam gambar berikut.

    ID Pesan di bagian Tahap Detail

Log akses NGINX

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

Anda juga dapat melihat log Akses NGINX guna menentukan ID pesan untuk error 503. Cara ini sangat berguna jika masalah pernah terjadi sebelumnya, atau jika masalah hanya sesekali dan Anda tidak dapat menangkap 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. Telusuri apakah ada Error 503 untuk proxy API tertentu selama durasi tertentu (jika masalah terjadi sebelumnya) atau apakah ada permintaan yang masih gagal dengan 503.
  3. Jika terdapat Error 503 terkait 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 menampilkan Error 503

    Contoh entri yang menunjukkan 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. Telusuri ID pesan permintaan tertentu pada 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 di error onConnectTimeout dan periksa apakah alamat IP valid untuk server backend Anda atau tidak. Jika alamat IP valid, buka Error Koneksi.
  4. Jika alamat IP tidak valid, hal ini kemungkinan besar 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 tidak valid lainnya.
  6. Telusuri log Message Processor (/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 di Prosesor 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]
          
  7. 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 konfigurasi 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 otoritatif atau server nama yang ditentukan dalam /etc/resolv.conf, nama host server backend akan diubah menjadi alamat IP yang buruk/tidak valid. Alamat IP yang buruk/tidak valid kemudian akan disimpan dalam cache DNS Prosesor Pesan.
    1. Jika masalah dengan server DNS otoritatif atau server nama yang ditentukan di /etc/resolv.conf tetap ada, alamat IP yang buruk/tidak valid akan terus berada dalam cache DNS Pemroses Pesan. Selama alamat IP yang buruk disimpan dalam cache DNS Prosesor Pesan, permintaan untuk semua API tersebut yang menggunakan server backend spesifik akan gagal dengan error 503.
    2. Jika masalah dengan server DNS otoritatif atau server nama yang ditentukan di /etc/resolv.conf terputus-putus, alamat IP yang baik dan buruk akan disimpan sesekali dalam cache DNS. Dalam kasus ini, Anda akan melihat error 503 secara berkala untuk semua API tersebut yang menggunakan server backend tertentu.
  9. Jika masalah server DNS terus berlanjut, Anda akan melihat kegagalan terus-menerus. Jika masalah dengan server DNS terputus-putus, Anda akan melihat kegagalan yang berselang-seling. Artinya, setiap kali nama host server backend diselesaikan menjadi alamat IP yang buruk, Anda akan melihat error 503. Dan ketika nama host server backend di-resolve ke alamat IP yang baik, Anda akan mengamati respons yang berhasil.

Resolusi

Bekerja samalah dengan administrator sistem operasi Anda dan perbaiki masalah dengan server DNS.

  1. Jika ada masalah dengan server DNS otoritatif atau server nama Anda 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 Prosesor Pesan, perbaiki masalah konfigurasi.

Koneksi error

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

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

Diagnosis

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

Resolusi

Berikan akses ke alamat IP Pemroses Pesan di server backend spesifik agar traffic dari Prosesor Pesan Edge dapat mengakses server backend Anda. Misalnya, Di Linux, Anda dapat menggunakan iptables untuk mengizinkan traffic dari alamat IP Pemroses Pesan di server backend.

Jika masalah masih berlanjut, hubungi administrator Jaringan Anda untuk menentukan dan memperbaikinya. Jika Anda memerlukan bantuan lebih lanjut dari Apigee, hubungi Dukungan Apigee.

Nama host server target salah

Diagnosis

Jika nama host yang ditentukan dalam server target salah, Anda bisa mendapatkan respons 503 Service Tidak Tersedia dengan kode error messaging.adaptors.http.flow.ServiceUnavailable.

Alat pelacak

Untuk mendiagnosis menggunakan alat Trace:

  1. Jika masalah masih aktif, aktifkan sesi perekaman aktivitas untuk API yang terpengaruh.
  2. Buat panggilan API dan rekonstruksi masalah - 503 Layanan Tidak Tersedia dengan kode error messaging.adaptors.http.flow.ServiceUnavailable.
  3. Pilih salah satu permintaan yang gagal.
  4. Jelajahi berbagai fase rekaman aktivitas dan temukan lokasi terjadinya kegagalan.
  5. 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:

    Contoh permintaan yang menunjukkan error.Cause dalam rekaman aktivitas

    Permintaan contoh yang menampilkan error.Cause dalam rekaman aktivitas
  6. Jika Anda melihat error.cause menampilkan error.cause, kemungkinan penyebab error tersebut adalah salah satu dari berikut:
    • Nama host yang ditentukan dalam konfigurasi endpoint target/server target salah atau memiliki ruang 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 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.
  7. Periksa konfigurasi endpoint target dan/atau definisi server target untuk melihat apakah nama host server target salah atau memiliki ruang 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 apakah nama host server target salah atau memiliki spasi atau karakter khusus yang tidak diinginkan.
  9. Setelah menentukan nama host server target, jalankan perintah nslookup/dig pada nama host untuk melihat apakah nama 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
    
  10. Jika perintah Sistem operasi nslookup juga gagal menyelesaikan nama host, masalah ini disebabkan karena nama host yang salah digunakan pada server target.

    Buka Resolution.

Log pemroses pesan

Untuk mendiagnosis menggunakan log pemroses pesan:

  1. Tentukan ID pesan dari 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/kesalahan berikut, Prosesor Pesan tidak dapat me-resolve nama host. Karena pesan akan ditunda, Anda mungkin tidak melihat pesan peringatan 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
        
  4. Pesan ini akan diikuti oleh pesan peringatan, ketika 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
        
  5. Kemudian, Anda mungkin akan melihat pesan saat Pemroses Pesan gagal dengan pengecualian “Host tidak dapat dijangkau”. Terkadang Pemroses Pesan 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>
        
  6. Terkadang, nilai tersebut mungkin ditampilkan sebagai null karena nama host tidak dapat di-resolve atau 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>
        
  7. Error Host not reachable biasanya terjadi dalam salah satu kasus berikut:
    • Nama host yang ditentukan dalam konfigurasi endpoint target/server target salah atau memiliki ruang 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.
  8. Tentukan nama host server target yang akan digunakan oleh Pemroses Pesan untuk berkomunikasi menggunakan salah satu dari hal 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, kebijakanAssignMessage/JavaScript) yang digunakan untuk membuatnya.
  9. Setelah Anda menentukan nama host server target, jalankan perintah nslookup/dig pada nama host dan periksa apakah hal itu 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, masalah ini disebabkan karena kesalahan nama host pada 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 ruang atau karakter khusus yang tidak diinginkan.
  2. Jika Anda menggunakan kebijakanAssignMessage/JavaScript untuk membuat nama host server target secara dinamis, pelajari definisi kebijakan dan kodenya, lalu pastikan nama host server target dibuat dengan benar.

Kegagalan handshake SSL

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

Menentukan sumber masalah

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

Memahami koneksi arah utara dan selatan

Di Edge, Anda dapat mengalami error 503 Service Tidak Tersedia saat koneksi masuk atau keluar:

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

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

Gambar berikut mengilustrasikan koneksi arah utara dan selatan untuk Apigee Edge.

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

Menentukan tempat terjadinya error 503 Service Available

Gunakan salah satu prosedur berikut untuk menentukan apakah error 503 Service Tidak Tersedia terjadi di koneksi arah utara atau selatan.

Rekaman aktivitas UI

Untuk menentukan tempat terjadinya error menggunakan Rekaman Aktivitas UI:

  1. Jika masalah masih aktif, aktifkan pelacakan UI untuk API yang terpengaruh.
  2. Jika rekaman aktivitas UI untuk permintaan API yang gagal menunjukkan bahwa error 503 Service memperkirakan terjadi selama alur permintaan target atau dikirim oleh server backend, masalahnya adalah southbound (yaitu, antara Message Processor dan server backend).
  3. Jika Anda tidak mendapatkan rekaman aktivitas untuk panggilan API tertentu, masalahnya adalah 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 beserta sumbernya, seperti aplikasi developer, proxy API, target backend, atau platform API.

Ikuti contoh skenario yang menunjukkan cara memecahkan masalah 5xx pada API Anda menggunakan API Monitoring. 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 Rekaman Aktivitas UI:

Jika masalah sebelumnya pernah terjadi atau jika masalah hanya sesekali terjadi 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, masalah tersebut akan terjadi pada koneksi southbound (antara Pemroses Pesan dan server backend).
  4. Jika tidak, masalah akan terjadi pada koneksi northbound (antara aplikasi klien dan Router).