Pada aplikasi terdistribusi, ApsaraMQ for RocketMQ merupakan layanan utama yang menyediakan penguraian keterkaitan secara asinkron. Data jejak pesan dari layanan ini menghubungkan informasi bisnis hulu dan hilir untuk membantu Anda memecahkan masalah serta mengidentifikasi akar penyebabnya. Topik ini menjelaskan kasus penggunaan jejak pesan, parameter jejak yang ditetapkan oleh ApsaraMQ for RocketMQ, serta cara melihat jejak pesan.
Kasus penggunaan
ApsaraMQ for RocketMQ menetapkan titik data kunci dalam siklus hidup pesan sebagai parameter jejak dan menyediakan alat kueri visual. Jejak pesan memungkinkan Anda memahami status proses bisnis dengan cepat serta mengidentifikasi pengecualian.
Kasus penggunaan umum jejak pesan meliputi hal-hal berikut:
-
Skenario 1: Periksa apakah sebuah pesan berhasil dikirim atau dikonsumsi.
-
Skenario 2: Periksa apakah pesan terjadwal dan tertunda telah dikirimkan.
-
Skenario 3: Periksa apakah pesan transaksional telah di-commit atau di-rollback.
-
Skenario 4: Lihat identitas produsen dan konsumen beserta informasi mesinnya untuk menyelidiki masalah.
Parameter jejak
Tabel berikut menjelaskan parameter jejak yang disediakan oleh ApsaraMQ for RocketMQ.
|
Kategori |
Parameter |
Deskripsi |
|
Produsen |
Informasi produsen |
Akun atau ID AccessKey yang digunakan oleh produsen pesan. |
|
Hostname |
Hostname mesin client produsen. |
|
|
Dikirim pada |
Waktu produsen mengirimkan pesan. |
|
|
Tiba pada |
Waktu pesan disimpan di server ApsaraMQ for RocketMQ. |
|
|
Hasil pengiriman |
Hasil operasi pengiriman pesan. Nilai yang valid:
|
|
|
Informasi dasar pesan |
Jenis pesan |
|
|
ID Pesan |
Identifikasi pesan unik global, dibuat secara otomatis oleh ApsaraMQ for RocketMQ. |
|
|
Topik |
Topik tempat pesan tersebut berada. |
|
|
Kunci pesan |
Kunci bisnis yang ditetapkan oleh produsen untuk mengidentifikasi logika bisnis secara unik. |
|
|
Tag pesan |
Tag yang digunakan untuk memfilter pesan dalam suatu topik. |
|
|
Pesan terurut |
MessageGroup |
MessageGroup yang ditentukan produsen untuk pesan terurut. Pesan dalam MessageGroup yang sama diproses sesuai urutan first-in, first-out (FIFO). |
|
Pesan transaksional |
Waktu callback pemeriksaan |
Waktu callback pemeriksaan status transaksi untuk half message. |
|
Di-commit pada |
Waktu server melakukan commit terhadap pesan transaksional. |
|
|
Di-rollback pada |
Waktu pesan transaksional di-rollback. |
|
|
Pesan terjadwal |
Waktu tunda yang telah ditentukan |
Waktu pengiriman terjadwal untuk pesan tersebut. |
|
Konsumen |
Hasil konsumsi |
Hasil satu kali upaya konsumsi. Nilai yang valid:
|
|
Informasi konsumen |
Akun ApsaraMQ for RocketMQ atau ID AccessKey yang digunakan konsumen untuk berlangganan pesan. |
|
|
Hostname |
Hostname mesin client konsumen. |
|
|
Pengiriman yang Dipesan |
Menunjukkan apakah konsumsi terurut diaktifkan untuk kelompok konsumen tersebut. |
|
|
Waktu pengiriman |
Waktu server ApsaraMQ for RocketMQ mengirimkan pesan ke konsumen. |
|
|
Waktu respons |
Waktu server ApsaraMQ for RocketMQ menerima hasil konsumsi dari konsumen. |
|
|
invisibleDuration |
Durasi ketidak tampakan pesan yang ditentukan oleh SimpleConsumer. Untuk informasi selengkapnya, lihat Kebijakan retry konsumsi SimpleConsumer. |
|
|
Ubah durasi ketidak tampakan |
Waktu SimpleConsumer memanggil operasi ChangeInvisibleDuration. |
|
|
Waktu dead-letter |
Waktu pesan dikirim ke antrian dead-letter setelah konsumsi gagal. |
Batasan
Fitur jejak pesan dinonaktifkan secara default untuk klien yang menggunakan SDK RocketMQ 4.x/3.x. Untuk melakukan kueri jejak pesan di Konsol, Anda harus mengaktifkan fitur ini dalam kode Anda. Konfigurasikan pengaturan berikut:
-
Produsen
producer.setAccessChannel(AccessChannel.CLOUD); -
Konsumen
consumer.setAccessChannel(AccessChannel.CLOUD);
Penagihan
-
Untuk instans subscription dan pay-as-you-go, pelacakan pesan diaktifkan secara default dan gratis.
-
Untuk instans arsitektur tanpa server, Anda dapat mengaktifkan atau menonaktifkan pelacakan pesan secara manual. Untuk informasi selengkapnya, lihat Aktifkan atau nonaktifkan pelacakan pesan untuk instans arsitektur tanpa server.
Jika Anda mengaktifkan pelacakan pesan untuk instans arsitektur tanpa server, Anda akan dikenai biaya berdasarkan jumlah jejak pesan yang dihasilkan. Untuk detail penagihan, lihat Biaya jejak pesan.
Periode retensi jejak pesan
-
Untuk instans subscription dan pay-as-you-go, jejak pesan disimpan selama 3 hari.
-
Untuk instans arsitektur tanpa server, jejak pesan disimpan selama 14 hari.
Metode kueri jejak pesan
ApsaraMQ for RocketMQ mendukung metode kueri berikut:
-
Kueri berdasarkan ID pesan: Melakukan pencocokan eksak. Metode ini cepat dan akurat, sehingga direkomendasikan.
-
Kueri berdasarkan kunci pesan: Metode ini melakukan pencarian fuzzy yang mengembalikan hingga 1.000 jejak. Gunakan metode ini hanya jika Anda tidak mencatat ID pesan tetapi telah menetapkan kunci pesan yang unik.
-
Kueri berdasarkan topik: Melakukan kueri rentang. Metode ini cocok untuk skenario volume rendah di mana ID pesan atau kunci pesan tidak diketahui. Metode ini tidak direkomendasikan untuk penggunaan umum karena rentang waktu tertentu mungkin berisi banyak pesan yang tidak unik.
Aktifkan atau nonaktifkan pelacakan pesan
-
Jika Anda menonaktifkan pelacakan pesan, data jejak untuk instans arsitektur tanpa server tidak dapat disimpan atau dikueri, dan opsi kueri jejak pesan tidak akan muncul di Konsol.
-
Jika Anda mengaktifkan pelacakan pesan, Anda akan dikenai biaya untuk jejak pesan yang dihasilkan oleh instans arsitektur tanpa server. Untuk informasi selengkapnya, lihat Biaya jejak pesan.
Masuk ke Konsol ApsaraMQ for RocketMQ. Di panel navigasi sebelah kiri, klik Instances.
Di bilah navigasi atas, pilih wilayah, misalnya China (Hangzhou). Pada halaman Instances, klik nama instans yang ingin Anda kelola.
-
Pada halaman Instance Details, klik tab Basic Information. Lalu, klik Enable atau Disable di samping parameter Message Trace.
-
Pada kotak dialog yang muncul, klik OK.
Kueri jejak pesan
Masuk ke Konsol ApsaraMQ for RocketMQ. Di panel navigasi sebelah kiri, klik Instances.
Di bilah navigasi atas, pilih wilayah, misalnya China (Hangzhou). Pada halaman Instances, klik nama instans yang ingin Anda kelola.
-
Di panel navigasi sebelah kiri, klik Message Traces. Pada halaman Message Traces, pilih metode kueri, masukkan kondisi, lalu klik Query.
Hasil ditampilkan dalam tabel yang mencakup kolom seperti Message ID, Topic, Tag, Message Key, dan Creation Time. Di kolom Actions, klik Message Traces untuk melihat detail jejak pesan yang sesuai.
-
Temukan pesan target dalam hasil kueri dan klik Message Trace di kolom Actions. Panel akan muncul tempat Anda dapat melihat informasi pesan secara detail.
Panel jejak pesan menampilkan siklus hidup lengkap pesan mulai dari produksi hingga konsumsi, dibagi menjadi tiga area: Area Producer menampilkan sumber pesan, informasi produsen, hostname, waktu pengiriman, waktu kedatangan di server, dan hasil pengiriman. Area MQ Server menampilkan jenis pesan, ID pesan, topik, kunci pesan, dan tag. Area Consumer menampilkan ID kelompok, statistik konsumsi (total dan jumlah kegagalan), serta status konsumsi setiap kelompok konsumen.
-
Jika pesan berhasil dikonsumsi, klik ID kelompok pada kartu Consumer untuk melihat informasi konsumsi secara detail. Klik Export Image untuk menghasilkan gambar dari detail jejak pesan saat ini.
Detail jejak pesan terdiri dari tiga panel: Panel Producer menampilkan waktu pengiriman, waktu kedatangan di server, dan hasil pengiriman. Panel MQ Server menampilkan jenis pesan, ID pesan, topik, dan tag. Panel kelompok konsumen (misalnya, test_group1), saat dibuka, menampilkan jumlah pengiriman, hasil pengiriman, status pengiriman terurut, waktu pengiriman, dan waktu respons.
Topik terkait
Anda juga dapat mengelola jejak pesan dengan memanggil operasi API berikut: