Menggunakan alat Trace

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.

  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 > Proxy API 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 sebagai Alamat IP atau nama DNS node Server Pengelolaan.
    2. Pilih API > Proxy API 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 drop-down Deployment untuk Melacak guna 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 {i>Trace<i} berjalan, pesan dan data kontekstual diambil dari lalu lintas langsung.

  7. 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.
  8. Setelah menangkap jumlah permintaan yang memadai, klik Stop Trace Sesi.
  9. 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:

  • Tanda sama dengan (=) menunjukkan nilai yang ditetapkan pada variabel tersebut.
  • Tanda sama dengan yang dicoret (≠) menunjukkan bahwa variabel tersebut tidak dapat diberi a nilai karena bersifat hanya baca atau ada kesalahan dalam eksekusi kebijakan.
  • Kolom 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. 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

  1. Jika sesi pelacakan berjalan, hentikan dengan mengklik Stop Trace Sesi.
  2. Klik Filter di sudut kiri atas alat Trace untuk meluaskan Kolom filter.

    Di alat Rekaman Aktivitas, label sidebar Filter dilingkari.
  3. 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.

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

Di bagian Transaksi, muncul empat hasil yang cocok dengan dua parameter kueri yang telah ditetapkan sebelumnya.

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}.

Anotasi gambar menunjukkan tombol Show Curl dan salah satu lingkaran di
    Diagram Peta Transaksi.

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:

  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.