Anda sedang melihat dokumentasi Apigee Edge.
Buka
Dokumentasi Apigee X. info
Apa yang dimaksud dengan alat Trace?
Trace adalah alat untuk memecahkan masalah dan memantau proxy API yang berjalan di Apigee Edge. Trace memungkinkan Anda menyelidiki detail setiap langkah melalui alur proxy API.
Tonton video ini untuk pengenalan tentang alat Trace.
Cara menggunakan Trace
Trace mudah digunakan. Anda memulai sesi pelacakan, lalu melakukan panggilan API ke platform Edge, dan membaca hasilnya.
- Akses halaman proxy API, seperti yang dijelaskan di bawah.
Edge
Untuk mengakses halaman proxy API menggunakan UI Edge:
- Login ke apigee.com/edge.
- Pilih Develop > Proxy API di menu navigasi sebelah kiri.
Edge Klasik (Private Cloud)
Untuk mengakses halaman proxy API menggunakan UI Classic Edge:
- Login ke
http://ms-ip:9000
, dengan ms-ip sebagai Alamat IP atau nama DNS node Server Pengelolaan. - Pilih API > Proxy API di menu navigasi atas.
- Pilih proxy API dari halaman Proxy API.
- Pastikan API yang ingin Anda lacak telah di-deploy.
- Klik Trace untuk membuka tampilan alat Trace.
- Gunakan menu drop-down Deployment untuk Melacak guna memilih lingkungan deployment dan revisi proxy yang ingin Anda lacak.
- Klik Start Trace Session. Saat sesi Trace aktif, proxy API
mencatat detail setiap langkah
dalam pipeline pemrosesan. Saat sesi {i>Trace<i} berjalan,
pesan dan data kontekstual diambil dari lalu lintas langsung.
- Jika Anda tidak memiliki traffic langsung yang mengalir melalui proxy, cukup kirim permintaan
ke API. Anda dapat menggunakan alat apa pun yang diinginkan untuk mengirim permintaan, seperti {i>curl, Postman<i}, atau
alat yang familier. Atau, Anda dapat mengirim permintaan langsung dari alat Trace itu sendiri. Cukup masukkan
URL, lalu klik Kirim. Catatan: Anda hanya dapat mengirim permintaan GET dari
alat {i>Trace<i}, tetapi bukan
permintaan POST.
Catatan: Satu sesi Trace dapat mendukung 10 transaksi permintaan/respons per pemroses pesan melalui proxy API yang dipilih. Di cloud Edge, dengan 2 pemroses pesan menangani traffic, mendukung 20 transaksi permintaan/respons. Sesi rekaman aktivitas secara otomatis berhenti setelah 10 menit jika Anda tidak menghentikannya secara manual.
- Setelah menangkap jumlah permintaan yang memadai, klik Stop Trace Sesi.
- Daftar transaksi permintaan/respons yang direkam akan ditampilkan di menu kiri. Klik salah satu transaksi untuk melihat hasil yang terperinci.
Cara membaca trace
Alat rekaman aktivitas memiliki dua bagian utama, peta transaksi dan detail fase:
- Peta transaksi menggunakan ikon untuk menandai setiap elemen penting yang terjadi selama transaksi proxy API, termasuk eksekusi kebijakan, kondisional langkah, dan transisi. Arahkan kursor ke ikon mana pun untuk melihat ringkasan tidak akurat atau tidak sesuai. Langkah alur permintaan muncul di sepanjang bagian atas peta transaksi dan respons alur langkah di sepanjang bagian bawah.
- Bagian detail fase di daftar alat informasi tentang pemrosesan internal proxy, termasuk variabel yang ditetapkan atau dibaca, header permintaan dan respons, dan banyak lagi. Klik ikon mana pun untuk melihat detail fase untuk langkah tersebut.
Berikut adalah contoh peta alat rekaman aktivitas dengan segmen pemrosesan proxy utama yang diberi label:
Peta transaksi alat Trace
Peta transaksi legenda
Tabel berikut menjelaskan intent ikon yang akan Anda lihat dalam transaksi peta. Ikon-ikon ini menandai setiap langkah pemrosesan penting di sepanjang alur proxy.
Ikon peta transaksi
Aplikasi klien yang mengirim permintaan ke ProxyEndpoint dari proxy API. | |
Lingkaran tersebut menandai endpoint transisi dalam alur proxy. Fitur tersebut ada ketika masuk dari klien, saat permintaan masuk ke target, saat respons kembali dari target, dan ketika respons kembali ke klien. | |
Batang tinggi menunjukkan awal segmen alur di alur proxy API. Alur adalah: permintaan ProxyEndpoint, permintaan TargetEndpoint, respons TargetEndpoint, dan Respons ProxyEndpoint. Segmen mencakup PreFlow, Alur Bersyarat, dan {i>PostFlow<i}. Lihat Mengonfigurasi alur untuk informasi selengkapnya. |
|
Menunjukkan bahwa tindakan Analytics terjadi di latar belakang. |
|
Flow kondisional yang dievaluasi ke true (benar). Untuk pengantar alur bersyarat, lihat Mengonfigurasi alur. Perhatikan bahwa beberapa kondisi dihasilkan dari Edge. Sebagai contoh, berikut ini adalah yang digunakan Edge untuk memeriksa apakah terjadi kesalahan dalam EndpointEndpoint: ((error.state equals PROXY_REQ_FLOW) or (error.state equals
PROXY_RESP_FLOW))
|
|
Flow kondisional yang dievaluasi ke salah (false). Untuk pengantar kondisional alur, lihat Mengonfigurasi alur. Perhatikan bahwa beberapa kondisi dihasilkan dari Edge. Sebagai contoh, berikut ini adalah yang digunakan Edge untuk memeriksa apakah terjadi kesalahan dalam TargetEndpoint: (((error.state equals TARGET_REQ_FLOW) or (error.state equals
TARGET_RESP_FLOW)) or ((error.state equals REQ_SENT) or (error.state equals
RESP_START)))
|
|
Kebijakan. Setiap jenis kebijakan memiliki ikon unik. Yang ini adalah untuk assignMessage lebih lanjut. Ikon ini memungkinkan Anda melihat di mana kebijakan dieksekusi dalam urutan yang benar dan apakah berhasil atau tidak. Anda dapat mengklik ikon kebijakan untuk melihat hasil dilaksanakan dan apakah mereka diharapkan atau tidak. Misalnya, Anda dapat melihat apakah pesan diubah dengan benar atau jika di-{i>cache<i}. Kebijakan yang dijalankan dengan benar ditunjukkan dengan tanda centang. Jika terjadi kesalahan, tanda seru berwarna merah akan ditampilkan di ikon. Tips: Perhatikan tooltip atau jangka waktu untuk melihat apakah ada kebijakan yang memakan waktu lebih lama dari yang diperkirakan. |
|
Muncul saat target backend adalah aplikasi Node.js. Lihat Ringkasan Node.js di Apigee Edge. | |
Target backend yang dipanggil oleh proxy API. | |
Garis waktu menunjukkan berapa lama (dalam milidetik) waktu yang diperlukan untuk memproses selesai. Membandingkan segmen waktu berlalu membantu Anda mengisolasi kebijakan memakan waktu paling lama untuk dieksekusi sehingga memperlambat panggilan API Anda. | |
Epsilon menunjukkan rentang waktu yang lebih kecil dari milidetik. | |
Nonaktif. Muncul di ikon kebijakan jika kebijakan dinonaktifkan. Kebijakan dapat dinonaktifkan dengan API publik. Lihat Referensi konfigurasi proxy API. |
|
Error. Muncul di ikon kebijakan saat kondisi Langkah Kebijakan dievaluasi ke false (lihat Variabel dan kondisi flow), atau pada ikon kebijakan RaiseFault setiap kali kebijakan RaiseFault dijalankan. | |
Dilewati. Muncul di ikon kebijakan saat kebijakan tidak dijalankan karena langkah yang dievaluasi ke "false". Lihat Variabel dan kondisi flow untuk informasi selengkapnya. |
Memahami detail fase
Bagian Detail Fase pada alat ini memberitahukan banyak hal tentang status di setiap langkah pemrosesan. Berikut adalah beberapa detail yang diberikan dalam Detail Fase. Klik ikon apa pun di alat pelacakan untuk melihat detail langkah yang dipilih, atau gunakan Tombol Next/Kembali untuk berpindah dari satu langkah ke langkah lainnya.
Detail Fase | Deskripsi |
Endpoint Proxy | Menunjukkan alur ProxyEndpoint mana yang dipilih untuk dieksekusi. Proxy API dapat memiliki beberapa endpoint proxy yang bernama. |
Variabel |
Mencantumkan variabel alur yang telah dibaca dan diberi nilai oleh kebijakan. Lihat juga Mengelola status proxy dengan variabel flow. Catatan:
|
Header Permintaan | Mencantumkan header permintaan HTTP. |
Minta Konten | Menampilkan isi permintaan HTTP. |
Properti | Properti mewakili status internal proxy API. Hal ini tidak ditunjukkan oleh secara default. |
Endpoint Target | Menunjukkan TargetEndpoint mana yang dipilih untuk dieksekusi. |
Header Respons | Mencantumkan header respons HTTP. |
Konten Respons | Menampilkan isi respons HTTP. |
PostClientFlow | Menampilkan informasi tentang PostClientFlow, yang dijalankan setelah permintaan dikembalikan ke aplikasi klien yang meminta. Hanya kebijakan MessageLogging yang dapat dilampirkan ke PostClientFlow. PostClientFlow saat ini digunakan terutama untuk mengukur waktu interval antara stempel waktu awal dan akhir untuk pesan respons. |
Menyempurnakan pengambilan pesan menggunakan filter
Anda dapat memfilter permintaan yang muncul di alat Trace dengan menentukan header dan/atau kueri nilai parameter. Filter memungkinkan Anda menargetkan panggilan tertentu yang mungkin menyebabkan masalah. Misalnya, Anda mungkin perlu membidik permintaan yang berisi konten atau permintaan tertentu yang akan datang dari partner atau aplikasi tertentu. Anda dapat memfilter berdasarkan:
- Header HTTP - Membatasi trace hanya ke panggilan yang berisi URL {i>header<i}. Ini adalah cara yang baik untuk membantu Anda memecahkan masalah. Anda dapat mengirim header ke pengembang aplikasi dan meminta mereka untuk menyertakannya dalam panggilan yang menyebabkan masalah. Lalu Apigee Edge hanya akan merekam panggilan dengan {i>header<i} tersebut sehingga Anda bisa memeriksa hasilnya.
- Parameter kueri - Hanya panggilan dengan nilai parameter tertentu akan direkam.
Hal-hal yang perlu Anda ketahui tentang fitur Filter
- Anda harus memulai ulang sesi Trace setelah menentukan parameter filter di filter kolom.
- Parameter filter digunakan bersama. Semua pasangan kueri dan/atau nama/nilai header yang ditentukan harus ada dalam permintaan agar pencocokan berhasil.
- Pencocokan pola tidak didukung dalam alat Filter.
- Parameter dan nilai filter peka huruf besar/kecil.
Cara membuat rekaman aktivitas filter
- Jika sesi pelacakan berjalan, hentikan dengan mengklik Stop Trace Sesi.
- Klik Filter di sudut kiri atas alat Trace untuk meluaskan
Kolom filter.
- Di kolom Filter, tentukan parameter kueri dan/atau nilai header yang ingin difilter
kueri. Dalam contoh ini, kami menentukan dua parameter kueri yang akan difilter. Kedua parameter harus
yang ada di permintaan untuk
kecocokan yang berhasil.
- Mulai sesi rekaman aktivitas.
- Memanggil API Anda. Hanya permintaan yang menyertakan semua header dan/atau kueri yang ditentukan menghasilkan pencocokan yang berhasil.
Dalam contoh di atas, panggilan API ini akan muncul di Trace:
http://docs-test.apigee.net/cats?name=Penny&breed=Calico
Namun, hal ini tidak akan:
http://docs-test.apigee.net/cats?name=Penny
Proses debug dengan Trace
Dengan Trace, Anda dapat melihat banyak detail internal tentang proxy API. Contoh:
- Anda dapat melihat sekilas kebijakan mana yang dijalankan dengan benar atau gagal.
- Katakanlah Anda melihat melalui salah satu dasbor Analytics bahwa salah satu API Anda mengalami penurunan performa yang tidak biasa. Sekarang, Anda dapat menggunakan {i>Trace<i} untuk membantu mengidentifikasi tempat terjadinya bottleneck. Trace memberikan waktu, dalam milidetik, yang diperlukan untuk setiap pemrosesan data. Jika menganggap satu langkah memakan waktu terlalu lama, Anda dapat melakukan korektif tindakan.
- Dengan melihat detail fase, Anda dapat memeriksa {i>header<i} yang dikirim ke backend, melihat variabel yang ditetapkan oleh kebijakan, dan sebagainya.
- Dengan memverifikasi jalur dasar, Anda dapat memastikan bahwa kebijakan mengarahkan pesan ke koreksi server tertentu.
Memilih Opsi Tampilan
Pilih opsi tampilan untuk sesi rekaman aktivitas.
Opsi | Deskripsi |
Tampilkan Kebijakan yang Dinonaktifkan | Tampilkan kebijakan yang dinonaktifkan. Kebijakan dapat dinonaktifkan dengan API publik. Lihat Referensi konfigurasi proxy API. |
Tampilkan Fase yang Dilewati | Menampilkan fase yang dilewati. Fase yang dilewati terjadi saat kebijakan tidak dijalankan karena kondisi langkah yang dievaluasi adalah false (salah). Lihat Variabel dan kondisi flow untuk informasi selengkapnya. |
Tampilkan semua FlowInfos | Merepresentasikan transisi dalam segmen alur. |
Membandingkan Fase yang Dipilih Secara Otomatis | Membandingkan fase yang dipilih dengan fase sebelumnya. Nonaktifkan untuk melihat yang dipilih saja fase sebelumnya. |
Tampilkan Variabel | Menampilkan atau menyembunyikan variabel yang telah dibaca dan/atau diberi nilai. |
Tampilkan Properti | Properti mewakili status internal proxy API. (Tersembunyi secara default.) |
Mendownload hasil rekaman aktivitas
Anda dapat mendownload file XML hasil rekaman aktivitas mentah untuk melihat dan menelusuri teks secara offline . {i>File<i} ini menunjukkan detail lengkap sesi mendengarkan termasuk isi dari semua {i>header<i}, variabel, dan kebijakan.
Untuk mendownload, klik Download Sesi Rekaman Aktivitas.
Menampilkan permintaan sebagai curl
Setelah melacak panggilan API yang dilakukan ke server target, Anda dapat melihat permintaan tersebut sebagai curl perintah. Hal ini sangat berguna untuk proses debug karena beberapa alasan:
- Proxy API dapat memodifikasi permintaan, jadi sebaiknya lihat bagaimana permintaan dari proxy server target berbeda dengan permintaan asli. Perintah curl mewakili permintaan.
- Untuk payload pesan yang lebih besar, curl memungkinkan Anda melihat header dan pesan HTTP konten di satu tempat. (Saat ini ada batas sekitar 1.000 karakter. Untuk tips melewati batas ini, lihat postingan komunitas ini.)
Demi keamanan, fitur curl akan menyamarkan header Otorisasi HTTP.
Untuk melihat permintaan sebagai curl setelah panggilan API masuk di Rekaman Aktivitas, pilih "Permintaan dikirim ke server target" dalam diagram Peta Transaksi, lalu klik tombol Show curl. tombol pada "Permintaan dikirim ke server target" di panel {i>Fase Details<i}.
Penggunaan Trace oleh Dukungan Apigee
Secara default, Apigee Edge memungkinkan Dukungan Apigee menggunakan alat Trace di proxy API Anda untuk memberikan dukungan. Anda dapat menonaktifkan opsi ini kapan saja. Namun, menonaktifkan opsi ini dapat membatasi kemampuan Dukungan Apigee untuk memberikan dukungan kepada Anda.
Untuk menonaktifkan Dukungan Apigee agar tidak menggunakan alat Trace:
- Login ke https://apigee.com/edge.
- Pilih Admin > Privasi & Keamanan di menu navigasi sebelah kiri.
- Klik tombol Enable Apigee Support to Trace untuk menonaktifkan penggunaan alat Trace oleh Dukungan Apigee.