全部产品
Search
文档中心

ApsaraMQ for RocketMQ:Kueri jejak pesan

更新时间:Jul 06, 2025

Pemrosesan pesan dalam ApsaraMQ for RocketMQ mencakup aktivitas utama berikut: pengiriman pesan, penyimpanan pesan, dan konsumsi pesan. ApsaraMQ for RocketMQ mendefinisikan data terkait aktivitas ini sebagai parameter jejak. Jejak pesan mencakup hasil pengiriman, durasi pengiriman, waktu kedatangan pesan di broker, hasil konsumsi, durasi konsumsi, serta informasi klien. ApsaraMQ for RocketMQ memungkinkan Anda menanyakan jejak pesan secara visual. Jika pesan tidak dikirim atau dikonsumsi sesuai harapan, atau jika Anda ingin melacak pesan tertentu, Anda dapat menggunakan fitur ini untuk mendapatkan status pemrosesan pesan dalam setiap aktivitas.

Data jejak pesan

Dalam ApsaraMQ for RocketMQ, jejak lengkap pesan melibatkan produsen, broker, dan konsumen. Saat setiap peran memproses pesan, informasi terkait ditambahkan ke jejak. Informasi ini dapat digunakan untuk mendapatkan status pesan.

轨迹数据

Catatan penggunaan

Setelah pesan dikirim, Anda dapat menanyakan jejak pesan berdasarkan atribut pesan di konsol ApsaraMQ for RocketMQ. Fitur ini berlaku untuk semua jenis pesan. Sebelum menggunakan fitur jejak pesan, perhatikan poin-poin berikut:

Rentang waktu untuk kueri jejak pesan

ApsaraMQ for RocketMQ memungkinkan Anda menanyakan jejak pesan yang diproduksi dalam rentang waktu 1 hari sebelum titik waktu saat ini. Misalnya, jika titik waktu saat ini adalah 15:09:48 pada 30 November 2023, Anda dapat menanyakan jejak pesan yang diproduksi dari 15:09:48 pada 29 November 2023 hingga 15:09:48 pada 30 November 2023.

Dampak status konsumsi terhadap hasil kueri

Jenis pesan

Deskripsi

Pesan normal

Jika pesan belum dikonsumsi, Not Consumed akan ditampilkan. Setelah pesan dikonsumsi, informasi pengiriman dan konsumsi akan ditampilkan.

Pesan terurut

Jika pesan belum dikonsumsi, Not Consumed akan ditampilkan. Setelah pesan dikonsumsi, informasi pengiriman dan konsumsi akan ditampilkan.

Pesan terjadwal dan pesan tertunda

Jika waktu sistem saat ini lebih awal dari waktu yang ditentukan untuk konsumsi, jejak pesan dapat dikueri, tetapi pesan tidak dapat dikueri.

Pesan transaksional

Sebelum transaksi lokal untuk pesan dikomit, jejak pesan dapat dikueri, tetapi pesan tidak dapat dikueri.

Versi SDK yang mendukung fitur jejak pesan

Protokol

Bahasa

Versi

Deskripsi

TCP

Java

V1.2.7.Final dan yang lebih baru

Catatan rilis untuk SDK Java

C/C++

V1.1.2 dan yang lebih baru

Catatan rilis untuk SDK C dan C++

.NET

V1.1.2 dan yang lebih baru

Catatan rilis untuk SDK .NET

HTTP

Node.js

V1.0.2 dan yang lebih baru

Catatan penggunaan untuk SDK klien HTTP

Lainnya

V1.0.1 dan yang lebih baru

Prasyarat untuk menggunakan fitur jejak pesan yang ditingkatkan

Fitur jejak pesan yang ditingkatkan memungkinkan Anda melihat lebih banyak data jejak di konsol ApsaraMQ for RocketMQ dibandingkan dengan fitur dasar. Anda dapat menanyakan data jejak yang dihasilkan selama konsumsi pesan, serta data jejak pesan terjadwal, pesan tertunda, dan pesan transaksional. Untuk informasi tentang parameter yang dikembalikan dalam hasil kueri jejak, lihat Parameter.

  • SDK Klien TCP untuk Java:

    • SDK Klien TCP untuk Java ditingkatkan ke V2.x.x.Final.

    • Instans harus diterapkan di salah satu wilayah berikut: Tiongkok (Hangzhou), Tiongkok (Qingdao), Tiongkok (Beijing), Tiongkok (Zhangjiakou), Tiongkok (Hohhot), Tiongkok (Shenzhen), Tiongkok (Chengdu), Jerman (Frankfurt), dan Indonesia (Jakarta).

  • SDK Klien TCP untuk C++:

    • SDK Klien TCP untuk C++ ditingkatkan ke V3.x.x.

    • Instans dapat diterapkan di wilayah mana pun.

Skenario umum

Jika pesan tidak dikirim atau dikonsumsi sesuai harapan dalam lingkungan produksi, Anda dapat menggunakan fitur jejak pesan untuk mendiagnosis masalah. Anda dapat menanyakan jejak pesan berdasarkan ID pesan, kunci pesan, atau topik dalam rentang waktu tertentu untuk memeriksa apakah pesan dikirim atau dikonsumsi sesuai harapan.

消息轨迹场景

Contoh

Jika Anda tidak menerima pesan sesuai harapan dan ingin mengidentifikasi penyebab berdasarkan log terkait, lakukan langkah-langkah berikut untuk mendiagnosis masalah menggunakan jejak pesan:

  1. Kumpulkan informasi tentang pesan, termasuk ID pesan, kunci pesan, topik, dan perkiraan waktu pesan dikirim.

  2. Masuk ke konsol ApsaraMQ for RocketMQ dan buat tugas kueri berdasarkan informasi yang dikumpulkan untuk menanyakan jejak pesan.

  3. Periksa hasil kueri dan analisis penyebab.

    • Jika Not Consumed ditampilkan dalam jejak, Anda dapat pergi ke halaman Groups untuk memeriksa status konsumsi dan menentukan apakah masalah disebabkan oleh akumulasi pesan. Untuk informasi lebih lanjut, lihat Lihat Detail Konsumen.

    • Jika pesan dikonsumsi, periksa informasi konsumsi untuk menemukan klien konsumen yang sesuai dan waktu saat pesan dikonsumsi. Kemudian, masuk ke klien konsumen untuk melihat log terkait.

Prosedur

  1. Masuk ke Konsol ApsaraMQ for RocketMQ. Di panel navigasi sisi kiri, klik Instances.

  2. Di bilah navigasi atas, pilih wilayah, seperti China (Hangzhou). Di halaman Instans, klik nama instans yang ingin Anda kelola.

  3. Di panel navigasi sisi kiri, klik Message Trace. Di pojok kiri atas halaman yang muncul, klik Create Query Task.

  4. Di panel Create Message Trace Query Task, konfigurasikan kondisi kueri berdasarkan kebutuhan bisnis Anda. Lalu, klik OK.

    Penting

    Atur rentang waktu seakurat mungkin untuk mempersempit ruang lingkup kueri dan mempercepat proses kueri.

    Metode kueri berikut didukung oleh fitur jejak pesan:

    • Query by Message ID: Metode ini direkomendasikan karena pencocokan tepat dan kecepatannya yang cepat.

    • Query by Message Key: Metode ini menggunakan pencarian kabur. Jika Anda menggunakan metode ini, Anda dapat menanyakan jejak hingga 1.000 pesan. Metode ini hanya cocok untuk skenario di mana Anda tidak mencatat ID pesan tetapi menentukan kunci yang secara unik mengidentifikasi pesan.

    • Query by Topic: Metode ini menggunakan kueri rentang. Metode ini cocok untuk skenario volume pesan kecil di mana Anda tidak mencatat ID pesan atau menentukan kunci pesan. Kami menyarankan agar Anda tidak menggunakan metode kueri ini. Dalam kebanyakan kasus, sejumlah besar pesan dihasilkan dalam topik dalam rentang waktu tertentu. Jika Anda menggunakan metode ini, Anda hampir tidak dapat mengidentifikasi pesan tertentu di antara pesan yang dikueri.

    Setelah Anda membuat tugas kueri, Anda dapat melihat tugas kueri di halaman Message Trace. Jika Querying ditampilkan di kolom Status, jejak pesan tidak dapat dilihat. Anda dapat mengklik tombol refresh di pojok kanan atas daftar tugas untuk menyegarkan status tugas sampai status tugas berubah menjadi Query Completed.

Parameter

Catatan

Parameter berikut dapat dilihat di konsol hanya jika instans dan versi SDK klien Anda memenuhi prasyarat untuk menggunakan fitur pelacakan pesan yang ditingkatkan. Untuk informasi lebih lanjut, lihat Prasyarat untuk Menggunakan Fitur Jejak Pesan yang Ditingkatkan.

  • AccessKey di bagian Producer

  • Arrive at Server At, Scheduled to Be Delivered At, Delivered At, dan Committed/Rolled back At terdapat di bagian MQ Server.

  • Arrive at Consumer At dan Wait Duration before Processing terdapat di bagian Consumer.

Tabel 1. Parameter

Bagian

Parameter

Deskripsi

Basic Information

Message ID

Pengenal unik global pesan. Pengenal ini dihasilkan secara otomatis oleh ApsaraMQ for RocketMQ.

Topic

Topik tempat pesan dimiliki.

Message Key

Pengenal bisnis pesan. Kunci pesan ditentukan oleh produsen pesan dan secara unik mengidentifikasi logika bisnis.

Message Tag

Tag yang digunakan untuk mengklasifikasikan pesan dalam topik.

Producer

AccessKey

ID AccessKey akun Alibaba Cloud Anda atau pengguna Resource Access Management (RAM). ID AccessKey digunakan untuk memverifikasi identitas pengguna. Saat Anda menggunakan SDK atau memanggil operasi API untuk mengakses sumber daya ApsaraMQ for RocketMQ, ID AccessKey diperlukan untuk verifikasi identitas.

Client IP Address

Alamat IP klien produsen pesan.

Message Produced At

Cap waktu yang menunjukkan kapan pesan dikirim dari produsen.

Sending RT

Jumlah waktu yang digunakan untuk mengirim pesan. Unit: milidetik.

Sending Status

Status tugas pengiriman pesan. Untuk informasi lebih lanjut, lihat Sending Status di Status Pesan.

MQ Server

Message Type

Catatan

Scheduled Message ditampilkan untuk parameter Message Type, terlepas dari apakah pesan tersebut adalah pesan terjadwal atau pesan tertunda.

Arrive at Server At

Waktu saat pesan tiba di broker ApsaraMQ for RocketMQ.

Scheduled to Be Delivered At

Waktu yang dijadwalkan saat pesan terjadwal dapat dikirimkan ke konsumen.

Delivered At

Waktu saat pesan dapat dikirimkan ke konsumen.

Committed/Rolled back At

Waktu saat transaksi dikomit atau dibatalkan.

Consumer

AccessKey

ID AccessKey akun Alibaba Cloud Anda atau pengguna RAM. ID AccessKey digunakan untuk memverifikasi identitas pengguna. Saat Anda menggunakan SDK atau memanggil operasi API untuk mengakses sumber daya ApsaraMQ for RocketMQ, ID AccessKey diperlukan untuk otentikasi.

Arrive at Consumer At

Waktu saat pesan tiba di klien konsumen.

Wait Duration before Processing

Durasi antara waktu saat pesan tiba di klien konsumen dan waktu saat pesan mulai dikonsumsi.

Delivery Result

Pesan mungkin perlu dikirimkan beberapa kali sebelum dikonsumsi. Parameter ini menunjukkan hasil dari satu pengiriman tertentu. Untuk informasi lebih lanjut, lihat Consumption Status di Status Pesan.

Client IP Address

Alamat IP klien konsumen.

Message Processing Started At

Cap waktu yang menunjukkan kapan pesan mulai dikonsumsi oleh klien.

Message Processing Complete At

Cap waktu yang menunjukkan kapan konsumen menyelesaikan konsumsi pesan.

Message Processing Duration

Jumlah waktu yang digunakan oleh konsumen untuk mengonsumsi pesan.

Di halaman Jejak Pesan, temukan tugas kueri Anda dan klik Query Results di kolom Actions. Di halaman yang muncul, Anda dapat melihat status pengiriman dan status konsumsi pesan yang dikueri di kolom Sending Status dan Consumption Status. Anda juga dapat melihat status pengiriman dan status konsumsi setiap pesan di bagian Producer dan Consumer pada halaman detail jejak pesan. Tabel berikut menjelaskan kemungkinan status pengiriman dan konsumsi.

Tabel 2. Status Pesan

Jenis

Status

Sending Status

Sent

Failed

Scheduling

Transactional Message Not Committed

Transactional Message Rolled Back

Consumption Status

All Successful

Partially Successful

All Failed

Not Consumed

No Consumption Result Returned

Consumed

Failed

FAQ

Mengapa saya tidak dapat menanyakan jejak pesan?

  • Periksa apakah versi SDK valid. Untuk informasi tentang versi SDK yang mendukung fitur jejak pesan, lihat Versi SDK yang Mendukung Fitur Jejak Pesan.

  • Periksa apakah rentang waktu yang Anda tentukan valid.

    ApsaraMQ for RocketMQ memungkinkan Anda menanyakan jejak pesan yang diproduksi dalam waktu 1 hari sebelum titik waktu saat ini. Misalnya, jika titik waktu saat ini adalah 15:09:48 pada 30 November 2023, Anda dapat menanyakan jejak pesan yang diproduksi dari 15:09:48 pada 29 November 2023 hingga 15:09:48 pada 30 November 2023.

  • Data jejak pesan mungkin tidak lengkap karena fitur jejak pesan diimplementasikan dalam tautan asinkron. Sistem mungkin tidak mengembalikan hasil untuk kueri meskipun kondisi kueri yang Anda tentukan valid. Dalam hal ini, Anda dapat menanyakan log di klien Anda untuk mendapatkan detail konsumsi. Untuk informasi lebih lanjut, lihat Pengaturan Logging.

Referensi

Anda juga dapat menanyakan jejak pesan dengan memanggil operasi API berikut yang disediakan oleh ApsaraMQ for RocketMQ: