503 Layanan Tidak Tersedia

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

ini.

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

  1. Jika masalah masih aktif, aktifkan sesi rekaman aktivitas untuk API yang terpengaruh.
  2. Lakukan 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) permintaan dengan men-scroll ke bawah di bagian Fase Details seperti yang ditunjukkan pada gambar berikut.

    ID Pesan di bagian Detail Fase

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:

  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 di masa lalu) atau jika ada permintaan yang masih gagal dengan 503.
  3. 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

    Contoh entri yang menunjukkan kode status, ID pesan, sumber fault, dan kode fault

Kesalahan koneksi karena resolusi DNS tidak benar

Diagnosis

  1. Tentukan ID pesan 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:

    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)
          
  3. 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.
  4. Jika alamat IP tidak valid, maka kemungkinan besar disebabkan oleh masalah dengan resolusi DNS.
  5. 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.
  6. 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]
          
  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 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.
  8. 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.
    1. 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.
    2. 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.
  9. 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.

  1. 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.
  2. 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

  1. Tentukan ID pesan 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 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)
      
    2. 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]
      
  3. Periksa apakah Anda dapat terhubung ke server backend tertentu langsung dari masing-masing 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, maka gunakan nama host server backend di perintah telnet seperti yang ditunjukkan di bawah:
      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 {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:

  1. Jika masalah masih aktif, aktifkan sesi rekaman aktivitas untuk API yang terpengaruh.
  2. Lakukan 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. Menavigasi berbagai fase pelacakan dan menemukan tempat 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:

    Permintaan contoh yang menampilkan error.Cause dalam rekaman aktivitas

    Contoh permintaan yang menampilkan error.Cause dalam rekaman aktivitas
  6. 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.
  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. Centang ke memeriksa apakah nama {i>host<i} 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 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
    
  10. 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:

  1. Tentukan ID pesan permintaan yang gagal.
  2. Telusuri ID pesan di log Pemroses Pesan. (/opt/apigee/var/log/edge-message-processor/logs/system.log)
  3. 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
        
  4. 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
        
  5. 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>
        
  6. 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>
        
  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 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.
  8. Tentukan nama host server target yang ingin dikomunikasikan oleh Pemroses Pesan dengan menggunakan salah satu 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 apa pun.
    3. 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 {}
              
      1. Tentukan nama host dengan memeriksa definisi server target yang digunakan dalam Proxy API yang gagal.
      2. Jika host server target dibuat secara dinamis, periksa kebijakan yang sesuai (misalnya, kebijakan MenetapkanMessage/JavaScript) yang digunakan untuk membuatnya.
  9. 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
          
  10. Jika perintah Sistem operasi nslookup juga gagal menyelesaikan nama host, penyebab masalah ini adalah nama host yang salah digunakan untuk server target.

Resolusi

  1. 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.
  2. 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.

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

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:

  1. Jika masalah masih aktif, aktifkan rekaman aktivitas UI untuk API yang terpengaruh.
  2. 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).
  3. 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:

  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 bisa mengidentifikasi Error 503 untuk API tertentu pada waktu tertentu, maka terjadi di koneksi southbound (antara Pemroses Pesan dan server backend).
  4. Jika tidak, masalah terjadi di koneksi arah utara (di antara aplikasi klien dan Router).