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 mengetahui pengantar alat Trace.

Cara menggunakan Trace

Trace mudah digunakan. Anda memulai sesi rekaman 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 UI Edge:

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

    Classic Edge (Private Cloud)

    Untuk mengakses halaman proxy API menggunakan UI Edge Klasik:

    1. Login ke http://ms-ip:9000, dengan ms-ip adalah alamat IP atau nama DNS node Server Pengelolaan.
    2. Pilih APIs > API Proxies di menu navigasi atas.
  2. Pilih proxy API dari halaman API Proxies.
  3. Pastikan API yang ingin Anda lacak 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 Anda lacak.
  6. Klik Start Trace Session. Saat sesi Trace aktif, proxy API mencatat detail setiap langkah dalam pipeline pemrosesan. Saat sesi Trace sedang berjalan, pesan dan data kontekstual diambil dari traffic langsung.

  7. Jika tidak ada traffic live yang mengalir melalui proxy, cukup kirim permintaan ke API. Anda dapat menggunakan alat apa pun yang Anda inginkan untuk mengirim permintaan, seperti curl, Postman, atau alat apa pun yang biasa Anda gunakan. 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 Perekaman Aktivitas, 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 Edge Cloud, dengan 2 pemroses pesan yang menangani traffic, 20 transaksi permintaan/respons didukung. Sesi rekaman aktivitas akan otomatis berhenti setelah 10 menit jika Anda tidak menghentikannya secara manual.
  8. Setelah Anda merekam sejumlah permintaan yang memadai, klik Hentikan Pelacakan Sesi.
  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 rekaman aktivitas 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 untuk melihat informasi ringkasan. Langkah-langkah alur permintaan muncul di sepanjang bagian atas peta transaksi dan langkah-langkah alur respons di sepanjang bagian bawah.
  • Bagian detail fase alat mencantumkan 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 perekam aktivitas dengan segmen pemrosesan proxy utama yang diberi label:

Peta transaksi alat pelacakan

Legenda peta transaksi

Tabel berikut menjelaskan maksud ikon yang akan Anda lihat di peta transaksi. Ikon ini menandai setiap langkah pemrosesan penting di seluruh alur proxy.

Ikon peta transaksi

Aplikasi klien yang mengirimkan permintaan ke ProxyEndpoint proxy API.
Lingkaran menandai endpoint transisi dalam alur proxy. Log ini ada saat permintaan masuk dari klien, saat permintaan dikirim ke target, saat respons kembali dari target, dan saat respons dikirim 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. Segmen mencakup PreFlow, Alur Bersyarat, dan PostFlow.

Lihat Mengonfigurasi alur untuk mengetahui informasi selengkapnya.

Menunjukkan bahwa tindakan Analytics telah terjadi di latar belakang.

Alur bersyarat yang dievaluasi sebagai benar. Untuk pengantar alur bersyarat, lihat Mengonfigurasi alur.

Perhatikan bahwa beberapa kondisi dihasilkan oleh Edge. Misalnya, berikut 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))

Alur bersyarat yang dievaluasi ke salah (false). Untuk pengantar alur bersyarat, lihat Mengonfigurasi alur.

Perhatikan bahwa beberapa kondisi dihasilkan oleh Edge. Misalnya, berikut 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 unik. Yang ini untuk kebijakan AssignMessage. Ikon ini memungkinkan Anda melihat tempat kebijakan dijalankan dalam urutan yang benar dan apakah kebijakan tersebut berhasil atau tidak. Anda dapat mengklik ikon kebijakan untuk melihat hasil eksekusinya dan apakah hasilnya sesuai yang diharapkan atau tidak. Misalnya, Anda dapat melihat apakah pesan telah ditransformasikan dengan benar atau apakah pesan sedang di-cache.

Kebijakan yang dijalankan dengan benar ditunjukkan dengan jelas oleh tanda centang. Jika terjadi error, tanda seru merah akan ditampilkan di ikon.

Tips: Perhatikan tooltip atau linimasa untuk melihat apakah ada kebijakan yang memerlukan waktu lebih lama dari yang diharapkan.

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 durasi (dalam milidetik) yang diperlukan untuk menyelesaikan waktu pemrosesan. Dengan membandingkan segmen waktu yang telah berlalu, Anda dapat mengisolasi kebijakan yang membutuhkan waktu terlama untuk dieksekusi yang memperlambat panggilan API Anda.
Epsilon menunjukkan rentang waktu yang lebih kecil dari milidetik.

Nonaktif. Muncul di ikon kebijakan saat kebijakan dinonaktifkan. Kebijakan dapat dinonaktifkan dengan API publik. Lihat referensi konfigurasi proxy API.

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

Memahami detail fase

Bagian Detail Fase pada alat ini memberi tahu Anda banyak hal tentang status proxy Anda di setiap langkah pemrosesan. Berikut beberapa detail yang diberikan di Detail Fase. Klik ikon apa pun di alat rekaman 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 bernama.
Variabel

Mencantumkan variabel alur yang dibaca dan diberi nilai oleh kebijakan, Lihat juga Mengelola status proxy dengan variabel alur.

Catatan:

  • Tanda sama dengan (=) menunjukkan nilai yang ditetapkan ke variabel.
  • Tanda sama dengan yang dicoret (≠) menunjukkan bahwa variabel tidak dapat diberi nilai karena variabel tersebut bersifat hanya baca atau terjadi error dalam eksekusi kebijakan.
  • Kolom kosong menunjukkan bahwa nilai variabel telah dibaca.
Header Permintaan Mencantumkan header permintaan HTTP.
Meminta Konten Menampilkan isi permintaan HTTP.
Properti Properti mewakili status internal proxy API. Kolom ini 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 dieksekusi setelah permintaan dikembalikan 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.

Memperbaiki pengambilan pesan menggunakan filter

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

  • Header HTTP - Batasi rekaman aktivitas hanya untuk panggilan yang berisi header tertentu. Cara 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 tertentu tersebut sehingga Anda dapat memeriksa hasilnya.
  • Parameter kueri - Hanya panggilan dengan nilai parameter tertentu yang akan direkam.

Hal yang perlu Anda ketahui tentang fitur Filter

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

Cara membuat filter rekaman aktivitas

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

    Di alat Trace, label sidebar Filter dilingkari.
  3. Di kolom Filter, tentukan parameter kueri dan/atau nilai header yang ingin Anda filter. Dalam contoh ini, kita menentukan dua parameter kueri untuk memfilter. Kedua parameter harus ada dalam permintaan agar cocok.

    Di alat Trace, di bagian Filter, di bagian Parameter Kueri, dua contoh nama dan nilai
     ditetapkan.
  4. Mulai sesi rekaman aktivitas.
  5. Panggil API Anda. Hanya permintaan yang menyertakan semua header dan/atau parameter kueri yang ditentukan yang menghasilkan kecocokan yang berhasil.

Di bagian Transaksi, empat hasil muncul 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

Namun, tindakan 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 secara 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 biasa. Sekarang, Anda dapat menggunakan Trace untuk membantu mengidentifikasi lokasi terjadinya bottleneck. Detail memberikan waktu, dalam milidetik, yang diperlukan untuk menyelesaikan setiap langkah pemrosesan. Jika Anda merasa satu langkah memerlukan waktu 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 merutekan pesan ke server yang benar.

Memilih Opsi Tampilan

Pilih opsi tampilan untuk sesi rekaman aktivitas.

Opsi Deskripsi
Tampilkan Kebijakan yang Dinonaktifkan Menampilkan kebijakan yang dinonaktifkan. Kebijakan dapat dinonaktifkan dengan API publik. Lihat referensi konfigurasi proxy API.
Menampilkan Fase yang Dilewati Tampilkan fase yang dilewati. Fase yang dilewati terjadi saat kebijakan tidak dijalankan karena kondisi langkah dievaluasi sebagai salah (false). Lihat Variabel dan kondisi alur untuk mengetahui informasi selengkapnya.
Tampilkan semua FlowInfo Menampilkan transisi dalam segmen alur.
Membandingkan Fase yang Dipilih Secara Otomatis Membandingkan fase yang dipilih dengan fase sebelumnya. Nonaktifkan opsi ini untuk hanya melihat fase yang dipilih.
Tampilkan Variabel Menampilkan atau menyembunyikan variabel yang dibaca dan/atau diberi nilai.
Tampilkan Properti Properti mewakili status internal proxy API. (Disembunyikan 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 mendengarkan, termasuk konten 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 sebagai perintah curl. Hal ini sangat berguna untuk proses debug karena beberapa alasan:

  • Proxy API dapat mengubah permintaan, jadi berguna 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 mengetahui tips tentang cara melewati batas ini, lihat postingan komunitas ini.)

Untuk keamanan, fitur curl menyembunyikan header Otorisasi HTTP.

Untuk melihat permintaan sebagai curl setelah panggilan API masuk di Trace, pilih tahap "Permintaan dikirim ke server target" dalam diagram Peta Transaksi, lalu klik tombol Tampilkan curl di kolom "Permintaan dikirim ke server target" di panel Detail Fase.

Anotasi gambar menunjukkan tombol Show Curl dan salah satu lingkaran dalam
    diagram Transaction Map.

Dukungan Apigee untuk penggunaan Trace

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.