Menggunakan alat Trace

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

Apa itu alat Trace?

Trace adalah alat untuk memecahkan masalah dan memantau proxy API yang berjalan di Apigee Edge. Trace memungkinkan Anda memeriksa detail setiap langkah melalui alur proxy API.

Tonton video ini untuk pengenalan alat Trace.

Cara menggunakan Trace

Trace mudah digunakan. Anda akan memulai sesi perekaman aktivitas, lalu melakukan panggilan API ke platform Edge, dan membaca hasilnya.

  1. Akses halaman proxy API, seperti yang dijelaskan di bawah.

    Edge

    Untuk mengakses halaman proxy API menggunakan Edge UI:

    1. Login ke apigee.com/edge.
    2. Pilih Develop > API Proxies di menu navigasi sebelah kiri.

    Edge Klasik (Private Cloud)

    Untuk mengakses halaman proxy API menggunakan UI Classic Edge:

    1. Login ke http://ms-ip:9000, dengan ms-ip yang merupakan alamat IP atau nama DNS node Server Pengelolaan.
    2. Pilih APIs > API Proxy di menu navigasi atas.
  2. Pilih proxy API dari halaman Proxy API.
  3. Pastikan API yang ingin Anda lacak telah di-deploy.
  4. Klik Trace untuk membuka tampilan alat Trace.
  5. Gunakan menu dropdown Deployment to Trace untuk memilih lingkungan deployment dan revisi proxy yang ingin dilacak.
  6. Klik Start Trace Session. Saat sesi Trace aktif, proxy API akan mencatat detail setiap langkah dalam pipeline pemrosesan. Saat sesi Trace berjalan, pesan dan data kontekstual diambil dari traffic langsung.

  7. Jika tidak ada traffic langsung yang mengalir melalui proxy Anda, cukup kirim permintaan ke API. Anda dapat menggunakan alat apa pun yang diinginkan untuk mengirim permintaan, seperti curl, Postman, atau alat apa pun yang biasa digunakan. 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 Trace, tetapi tidak dapat mengirim 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 yang menangani traffic, didukung 20 transaksi permintaan/respons. Sesi perekaman aktivitas akan otomatis berhenti setelah 10 menit jika Anda tidak menghentikannya secara manual.
  8. Jika Anda telah menangkap jumlah permintaan yang cukup, klik Stop Trace Session.
  9. Daftar transaksi permintaan/respons yang direkam akan ditampilkan di menu kiri. Klik salah satu transaksi untuk melihat hasil mendetail.

Cara membaca rekaman aktivitas

Alat pelacakan memiliki dua bagian utama, peta transaksi dan detail fase:

  • Peta transaksi menggunakan ikon untuk menandai setiap langkah penting yang terjadi selama transaksi proxy API, termasuk eksekusi kebijakan, langkah bersyarat, dan transisi. Arahkan kursor ke ikon mana pun untuk melihat informasi ringkasan. Langkah-langkah alur permintaan muncul di bagian atas peta transaksi dan langkah alur respons di sepanjang bagian bawah.
  • Bagian detail fase pada alat ini mencantumkan informasi tentang pemrosesan internal proxy, termasuk variabel yang telah ditetapkan atau dibaca, header permintaan dan respons, serta masih banyak lagi. Klik ikon mana pun untuk melihat detail fase pada langkah tersebut.

Berikut adalah contoh peta alat rekaman aktivitas dengan segmen pemrosesan proxy utama yang diberi label:

Peta transaksi alat trace

Legenda peta transaksi

Tabel berikut menjelaskan intent ikon yang akan Anda lihat dalam peta transaksi. Ikon-ikon ini menandai setiap langkah pemrosesan penting di sepanjang alur proxy.

Ikon peta transaksi

Aplikasi klien yang mengirimkan permintaan ke ProxyEndpoint proxy API.
Lingkaran menandai titik akhir transisi dalam alur proxy. Log ada ketika permintaan masuk dari klien, saat permintaan masuk ke target, saat respons kembali dari target, dan saat respons kembali ke klien.

Batang tinggi menunjukkan awal segmen alur dalam alur proxy API. Segmen alur adalah: permintaan ProxyEndpoint, permintaan TargetEndpoint, respons TargetEndpoint, dan respons ProxyEndpoint. Sebuah segmen mencakup PreFlow, Flow Bersyarat, dan PostFlow.

Lihat Mengonfigurasi alur untuk informasi selengkapnya.

Menunjukkan bahwa tindakan Analytics telah terjadi di latar belakang.

Flow kondisional yang bernilai benar (true). Untuk pengantar flow kondisional, lihat Mengonfigurasi flow.

Perhatikan bahwa beberapa kondisi dihasilkan Edge. Misalnya, berikut ini adalah ekspresi yang digunakan Edge untuk memeriksa apakah terjadi error di ProxyEndpoint:

((error.state equals PROXY_REQ_FLOW) or (error.state equals PROXY_RESP_FLOW))

Flow kondisional yang bernilai salah (false). Untuk pengantar alur bersyarat, lihat Mengonfigurasi flow.

Perhatikan bahwa beberapa kondisi dihasilkan Edge. Misalnya, berikut ini adalah ekspresi yang digunakan Edge untuk memeriksa apakah terjadi error di 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 yang unik. Ini ditujukan untuk kebijakan AssignMessage. Ikon-ikon ini memungkinkan Anda melihat lokasi kebijakan dijalankan dalam urutan yang benar dan apakah berhasil atau tidak. Anda dapat mengklik ikon kebijakan untuk melihat hasil eksekusinya dan apakah hasil tersebut diharapkan atau tidak. Misalnya, Anda dapat melihat apakah pesan telah diubah dengan benar atau apakah pesan sedang di-cache.

Pelaksanaan kebijakan dengan benar ditunjukkan dengan tanda centang. Jika terjadi error, tanda seru berwarna merah akan ditampilkan pada ikon.

Tips: Perhatikan tooltip atau baris waktu untuk mengetahui apakah ada kebijakan yang memerlukan 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 pemrosesan selesai. Membandingkan segmen waktu yang berlalu membantu Anda mengisolasi kebijakan yang memerlukan waktu eksekusi paling lama yang memperlambat panggilan API Anda.
Epsilon menunjukkan rentang waktu yang lebih kecil dari satu milidetik.

Nonaktif. Muncul pada ikon kebijakan saat kebijakan dinonaktifkan. Kebijakan dapat dinonaktifkan dengan API publik. Lihat Referensi konfigurasi proxy API.

Error. Muncul pada ikon kebijakan saat kondisi Langkah Kebijakan bernilai false (lihat Variabel dan kondisi flow), atau pada ikon kebijakan RaiseFault setiap kali kebijakan RaiseFault dijalankan.
Dilewati. Muncul di ikon kebijakan saat kebijakan tidak dieksekusi karena kondisi langkah dievaluasi ke false. Lihat Variabel dan kondisi flow untuk mengetahui informasi selengkapnya.

Memahami detail fase

Bagian Phase Details pada alat ini memberi tahu Anda banyak hal tentang status proxy Anda di setiap langkah pemrosesan. Berikut adalah beberapa detail yang disediakan dalam Detail Fase. Klik ikon apa pun di alat perekaman aktivitas untuk melihat detail langkah yang dipilih, atau gunakan tombol Berikutnya/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 flow yang telah dibaca dan diberi nilai oleh kebijakan. Baca juga Mengelola status proxy dengan variabel flow.

Catatan:

  • Tanda sama dengan (=) menunjukkan nilai yang ditetapkan ke variabel tersebut.
  • Tanda sama dengan (≠) dicoret menunjukkan bahwa variabel tidak dapat diberi nilai karena bersifat hanya baca atau terjadi error dalam eksekusi kebijakan.
  • Bidang kosong menunjukkan bahwa nilai variabel telah dibaca.
Header Permintaan Mencantumkan header permintaan HTTP.
Minta Konten Menampilkan isi permintaan HTTP.
Properti Properti mewakili status internal proxy API. Keduanya tidak ditampilkan 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 ditampilkan ke aplikasi klien yang meminta. Hanya kebijakan MessageLogging yang dapat dilampirkan ke PostClientFlow. PostClientFlow saat ini digunakan terutama untuk mengukur interval waktu antara stempel waktu mulai dan akhir untuk pesan respons.

Menyempurnakan pengambilan pesan menggunakan filter

Anda dapat memfilter permintaan yang muncul di alat Trace dengan menentukan header dan/atau parameter value kueri. Filter memungkinkan Anda menargetkan panggilan tertentu yang mungkin menyebabkan masalah. Misalnya, Anda mungkin perlu membidik permintaan yang memiliki konten atau permintaan spesifik yang berasal dari partner atau aplikasi tertentu. Anda dapat memfilter berdasarkan:

  • Header HTTP - Membatasi pelacakan hanya untuk panggilan yang berisi header tertentu. Ini adalah cara yang baik untuk membantu Anda memecahkan masalah. Anda dapat mengirim header ke developer aplikasi dan memintanya untuk menyertakannya dalam panggilan yang menyebabkan masalah. Kemudian, Apigee Edge hanya akan merekam panggilan dengan header khusus tersebut sehingga Anda dapat memeriksa hasilnya.
  • Parameter kueri - Hanya panggilan dengan nilai parameter tertentu yang akan direkam.

Hal-hal yang perlu Anda ketahui tentang fitur Filter

  • Anda harus memulai ulang sesi Trace setelah menentukan parameter filter di kolom filter.
  • Parameter filter digabungkan dengan AND. Semua kueri dan/atau pasangan nama/nilai header yang ditentukan harus ada dalam permintaan agar kecocokan berhasil.
  • Pencocokan pola tidak didukung di alat Filter.
  • Parameter dan nilai filter peka huruf besar/kecil.

Cara membuat filter rekaman aktivitas

  1. Jika sesi perekaman aktivitas sedang berjalan, hentikan dengan mengklik Stop Trace Session.
  2. Klik Filters di sudut kiri atas alat Trace untuk meluaskan kolom Filters.

    Pada alat Trace, label sidebar Filter dilingkari.
  3. Di kolom Filter, tentukan parameter kueri dan/atau nilai header yang ingin digunakan untuk memfilter. Dalam contoh ini, kami menentukan dua parameter kueri yang akan difilter. Kedua parameter harus ada dalam permintaan agar pencocokan berhasil.

    Di alat Trace, di bagian Filter, di bagian Query Parameter, dua nama dan nilai contoh
     ditetapkan.
  4. Memulai sesi perekaman aktivitas.
  5. Panggil API Anda. Hanya permintaan yang menyertakan semua header dan/atau parameter kueri tertentu yang menghasilkan pencocokan yang berhasil.

Di bagian Transaksi, muncul empat hasil yang cocok dengan dua parameter kueri preset.

Dalam contoh di atas, panggilan API ini akan muncul di Trace:

http://docs-test.apigee.net/cats?name=Penny&breed=Calico

Tapi ini tidak akan:

http://docs-test.apigee.net/cats?name=Penny

Proses debug dengan Trace

Trace memungkinkan Anda melihat banyak detail internal tentang proxy API. Contoh:

  • Anda dapat melihat sekilas kebijakan mana yang dijalankan dengan benar atau gagal.
  • Misalkan Anda melihat melalui salah satu dasbor Analytics bahwa salah satu API Anda mengalami penurunan performa yang tidak wajar. Sekarang, Anda dapat menggunakan Trace untuk membantu mengidentifikasi tempat terjadinya bottleneck. Trace memberikan waktu, dalam milidetik, yang diperlukan untuk menyelesaikan setiap langkah pemrosesan. Jika merasa satu langkah terlalu lama, Anda dapat mengambil tindakan korektif.
  • Dengan melihat detail fase, Anda dapat memeriksa header yang dikirim ke backend, melihat variabel yang ditetapkan oleh kebijakan, dan sebagainya.
  • Dengan memverifikasi jalur dasar, Anda dapat memastikan bahwa kebijakan mengarahkan pesan ke server yang benar.

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 Tampilkan fase yang dilewati. Fase yang dilewati terjadi ketika kebijakan tidak dijalankan karena kondisi langkah dievaluasi ke false. Lihat Variabel dan kondisi flow untuk mengetahui informasi selengkapnya.
Tampilkan semua FlowInfos Merepresentasikan transisi dalam segmen alur.
Bandingkan Fase yang Dipilih secara Otomatis Membandingkan fase yang dipilih dengan fase sebelumnya. Nonaktifkan untuk melihat hanya fase yang dipilih.
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 dilihat dan ditelusuri secara offline di editor teks. File ini menampilkan detail lengkap sesi pemrosesan, termasuk isi dari semua header, variabel, dan kebijakan.

Untuk mendownload, klik Download Trace Session.

Menampilkan permintaan sebagai curl

Setelah melacak panggilan API yang dilakukan ke server target, Anda dapat melihat permintaan tersebut sebagai perintah curl. Hal ini sangat berguna untuk proses debug karena beberapa alasan:

  • Proxy API dapat mengubah permintaan, jadi ada baiknya untuk melihat perbedaan permintaan dari proxy ke server target dengan permintaan asli. Perintah curl mewakili permintaan yang diubah.
  • Untuk payload pesan yang lebih besar, curl memungkinkan Anda melihat header HTTP dan konten pesan di satu tempat. (Saat ini ada batas sekitar 1.000 karakter. Untuk mendapatkan tips tentang cara melewati batas ini, lihat postingan komunitas ini.)

Untuk keamanan, fitur curl menyamarkan header Otorisasi HTTP.

Untuk melihat permintaan sebagai curl setelah panggilan API masuk di Trace, pilih tahap "Request sent to target server" di diagram Transaction Map, lalu klik tombol Show curl pada kolom "Request sent to target server" di panel Phase Details.

Anotasi gambar menunjukkan tombol Show Curl dan salah satu lingkaran pada diagram Peta Transaksi.

Penggunaan Trace oleh 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:

  1. Login ke https://apigee.com/edge.
  2. Pilih Admin > Privasi & Keamanan di menu navigasi sebelah kiri.
  3. Klik tombol Enable Apigee Support to Trace untuk menonaktifkan penggunaan alat Trace oleh Dukungan Apigee.