Anda sedang melihat dokumentasi Apigee Edge.
Buka
dokumentasi Apigee X. info
Gejala
Gambar berikut menunjukkan permintaan API tidak direkam di UI Edge saat sesi perekaman aktivitas dimulai:
Pesan Error
Tidak ada pesan error yang akan ditampilkan di UI Edge saat masalah ini terjadi.
Kemungkinan Penyebab
Tabel berikut menunjukkan kemungkinan penyebab kegagalan untuk merekam permintaan API di Trace UI Edge:
Cause | Deskripsi | Petunjuk Pemecahan Masalah Berlaku Untuk |
---|---|---|
Permintaan yang tidak diproses oleh Pemroses Pesan | Permintaan API harus diproses oleh Message Processor komponen Edge untuk menangkap rekaman aktivitas. Jika permintaan API gagal menjangkau Apigee Edge, gagal di titik entri ke Edge (yaitu, Router) atau gagal sebelum diproses oleh Pemroses Pesan, maka rekaman aktivitas tidak dapat direkam. | Pengguna Cloud Publik dan Pribadi Edge |
Proxy API Tidak Ditemukan di Hierarki Klasifikasi | Apigee Message Processors menggunakan definisi Aturan Perutean yang disebut Hierarki Klasifikasi untuk mengirim permintaan berdasarkan nama host, jalur dasar, revisi, dan lingkungan permintaan masuk. Jika proxy API yang relevan dihapus dari Hierarki Klasifikasi karena alasan tertentu, transaksi Trace mungkin tidak terisi. | Pengguna Edge Private Cloud |
Penyebab: Permintaan yang tidak diproses oleh Pemroses Pesan
Diagnosis
Untuk merekam permintaan API dalam sesi Rekaman Aktivitas, permintaan API harus diproses oleh Pemroses Pesan komponen Edge. Ada beberapa alasan mengapa permintaan API mungkin tidak dicatat dalam transaksi Trace.
Misalnya, jika permintaan API gagal mencapai Apigee Edge, gagal di titik entri ke Edge (yaitu, Router) atau gagal sebelum diproses oleh Pemroses Pesan, maka rekaman aktivitas tidak dapat direkam. Setiap skenario ini diuraikan secara lebih mendetail di bawah ini.
Skenario 1: Permintaan gagal menjangkau Apigee Edge
Penyebab
Dalam skenario ini, error mungkin disebabkan oleh resolusi DNS atau masalah konektivitas jaringan. Jika demikian, Anda mungkin melihat error berikut saat menjalankan perintah ini:
curl https://hostName:port/apiProxyBasePath/requestPath
curl: (6) Could not resolve host: hostName
Resolusi
Anda dapat memverifikasi konfigurasi DNS dengan perintah berikut:
dig hostName
Anda dapat memverifikasi konektivitas jaringan dengan perintah berikut:
telnet hostName port
Skenario 2: Permintaan gagal di Router Apigee Edge
Penyebab
Dalam skenario ini, error mungkin disebabkan oleh kegagalan handshake TLS/SSL. Jika demikian, Anda mungkin melihat salah satu dari error berikut:
Received fatal alert: handshake_failure
HTTP/1.1 400 Bad Request
Anda juga mungkin melihat error sertifikat SSL.
Resolusi
Lihat playbook berikut untuk memecahkan dan menyelesaikan masalah ini:
Skenario 3: Permintaan tidak dapat diproses oleh Pemroses Pesan
Penyebab
Dalam skenario ini, Apigee Message Processor tidak dapat menemukan Proxy API untuk jalur dan host virtual yang ditentukan. Akibatnya, Anda mungkin melihat salah satu error berikut:
HTTP/1.1 404 Not Found
{ "fault":{ "faultstring":"Unable to identify proxy for host: default and url: \/apiProxyBasePath/requestPath", "detail":{ "errorcode":"messaging.adaptors.http.flow.ApplicationNotFound" } } }
Resolusi
Baca playbook ini untuk memecahkan masalah dan menyelesaikan masalah ini: 404 Can to Identify proxy for host.
Penyebab: Proxy API Tidak Ditemukan di Hierarki Klasifikasi
Diagnosis
Jika Pemroses Pesan tidak dapat menemukan proxy API di Hierarki Klasifikasinya, permintaan API apa pun ke proxy spesifik tersebut tidak akan ditampilkan di sesi Trace di UI Edge.
Ikuti langkah-langkah di bawah untuk menentukan apakah hal ini yang terjadi:
Login ke setiap Pemroses Pesan, lalu periksa apakah revisi spesifik dari API yang diminta telah di-deploy di lingkungan Pemroses Pesan yang relevan menggunakan perintah berikut:
curl -v http://localhost:8082/v1/runtime/organizations/orgName/environments/envName/apis/apiName/revisions
Contoh Output:
Perintah di atas akan menampilkan daftar revisi yang di-deploy. Misalnya, jika revisi 12 di-deploy, Anda akan melihat output berikut:
[ "12" ]
Kecuali Anda mengalami error HTTP 404 yang berselang-seling, kemungkinan besar revisi tertentu telah diterapkan.
Baca Hierarki Klasifikasi dan periksa keberadaan nama proxy API menggunakan perintah berikut:
curl -i http://localhost:8082/v1/classification/tree | grep apiName
Ulangi Langkah 1 dan 2 untuk setiap Pemroses Pesan. Jika nama proxy API yang diberikan tidak ada dalam Hierarki Klasifikasi Prosesor Pesan mana pun, ikuti resolusi yang diberikan di bawah ini.
Resolusi
Ikuti langkah-langkah di bawah untuk menyelesaikan masalah ini. Pastikan untuk melakukan tindakan pencegahan yang diperlukan untuk menghindari gangguan produksi yang mungkin terjadi saat memulai ulang Prosesor Pesan saat mengalami pemuatan permintaan yang tinggi.
Login ke setiap host Pemroses Pesan yang tidak memiliki proxy API tertentu di Hierarki Klasifikasi dan gunakan perintah di bawah untuk memulai ulang Pemroses Pesan:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
Setelah dimulai ulang, gunakan perintah di bawah ini untuk menunggu hingga menjadi aktif:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor wait_for_ready
Setelah Pemroses Pesan siap, verifikasi ketersediaan proxy API menggunakan perintah berikut:
curl -v http://localhost:8082/v1/runtime/organizations/orgName/environments/envName/apis/apiName/revisions
Contoh Output:
Perintah di atas akan menampilkan daftar revisi yang di-deploy. Misalnya, jika revisi 12 di-deploy, Anda akan melihat output berikut:
[ "12" ]
Kecuali Anda mengalami error HTTP 404 yang berselang-seling, kemungkinan besar revisi tertentu telah diterapkan.
Baca Hierarki Klasifikasi dan verifikasi keberadaan nama proxy API menggunakan perintah berikut:
curl -i http://localhost:8082/v1/classification/tree | grep apiName
Jika masalah masih berlanjut, buka Harus Mengumpulkan Informasi Diagnostik.
Harus Mengumpulkan Informasi Diagnostik
Jika masalah terus berlanjut setelah mengikuti petunjuk di atas, kumpulkan informasi diagnostik berikut dan bagikan kepada Dukungan Apigee Edge:
Informasi Diagnostik Jenis | Perintah |
---|---|
Output perintah sesi pelacakan | curl -v management-server-host:8080/v1/runtime/organizations/orgName/environments/envName/apis/apiProxyName/revisions/revisionNumber/debugsessions -u user |
Log Server Pengelolaan | /opt/apigee/var/log/edge-management-server/logs/system.log |
Log Pemroses Pesan | /opt/apigee/var/log/edge-message-processor/logs/system.log |
Output perintah telnet /netcat dari Server Pengelolaan ke Pemroses Pesan |
telnet MessageProcessor_IP 8082 nc -vz MessageProcessor_IP 8082 |
Output perintah netstat di Pemroses Pesan | netstat -an > netstat.txt |
Revisi listingan output yang di-deploy untuk Proxy API tertentu di semua Pemroses Pesan | curl -v http://localhost:8082/v1/runtime/organizations/orgName/environments/envName/apis/apiName/revisions |
Output Hierarki Klasifikasi di semua Prosesor Pesan | curl -i http://localhost:8082/v1/classification/tree |