ApsaraMQ for RocketMQ menyediakan dasbor bawaan yang didukung oleh Managed Service for Prometheus dan Grafana. Dasbor ini memberikan visibilitas real-time terhadap throughput pesan, keterlambatan konsumen (consumer lag), latensi pemrosesan, dan performa sisi klien—memungkinkan Anda mendeteksi anomali, memecahkan masalah pengiriman, serta merencanakan kapasitas dari satu tampilan terpadu.
Metrik Dasbor diklasifikasikan sebagai metrik dasar dalam ARMS Prometheus Service dan tidak dikenai biaya.
Kasus penggunaan
Detect consumption anomalies: Pesan menumpuk dan konsumen tertinggal. Atur peringatan pada consumer lag dan ready message queue time untuk mendeteksi masalah sedini mungkin.
Trace message delivery: Status pesanan tidak diperbarui. Periksa apakah produsen telah mengirimkan pesan dan apakah konsumen telah memprosesnya dengan melacak metrik produksi dan konsumsi pesan tersebut.
Analyze traffic trends: Tinjau volume pesan, throughput, dan distribusi ukuran seiring waktu untuk memperkirakan kebutuhan kapasitas dan merencanakan pertumbuhan.
Map application dependencies: Periksa topologi hulu dan hilir produsen dan konsumen untuk mendukung perubahan arsitektur.
Prasyarat
Sebelum memulai, pastikan Anda telah:
Membuat peran terkait layanan yang diperlukan. Untuk detailnya, lihat Service-linked roles.
Properti Nilai Nama peran AliyunServiceRoleForOns Nama kebijakan AliyunServiceRolePolicyForOns Izin Memberikan akses ApsaraMQ for RocketMQ ke CloudMonitor dan ARMS untuk fitur pemantauan, peringatan, dan dasbor
Cara kerja akumulasi pesan
Diagram berikut menunjukkan siklus hidup pesan dalam antrian topik.

ApsaraMQ for RocketMQ melacak jumlah dan usia pesan di setiap tahap pemrosesan. Metrik ini mengungkapkan apakah konsumen mampu mengimbangi pesan masuk.
Metrik jumlah pesan
| Metrik | Definisi | Rumus |
|---|---|---|
| Pesan inflight | Pesan yang sedang diproses oleh konsumen namun belum mengembalikan hasil konsumsi | Offset pesan terbaru yang ditarik - Offset pesan terbaru yang dikirimkan |
| Pesan siap | Pesan yang disimpan di server dan tersedia untuk dikonsumsi oleh konsumen | Offset maksimum pesan - Offset pesan terbaru yang ditarik |
| Consumer lag | Total pesan yang belum diproses (inflight + siap) | Jumlah pesan inflight + Jumlah pesan siap |
Metrik durasi pesan
| Metrik | Definisi | Rumus |
|---|---|---|
| Waktu siap | Titik waktu saat pesan menjadi tersedia untuk dikonsumsi. Untuk pesan normal dan terurut, ini adalah waktu penyimpanan. Untuk pesan terjadwal dan tertunda, ini adalah saat penundaan berakhir. Untuk pesan transaksional, ini adalah saat transaksi dikomit. | T/A |
| Ready message queue time | Lama waktu pesan siap tertua menunggu. Menunjukkan seberapa cepat konsumen menarik pesan. | Waktu saat ini - Waktu siap pesan siap tertua |
| Consumer lag time | Lama waktu pesan tertua yang menunggu hasil konsumsi telah siap. Menunjukkan seberapa cepat konsumen memproses pesan. | Waktu saat ini - Waktu siap pesan tertua yang menunggu respons |
Pemrosesan lokal PushConsumer
PushConsumer menggunakan model thread Reactor. SDK menjalankan thread long-polling bawaan yang menarik pesan dari server dan menyimpannya dalam antrian buffer lokal. Sekumpulan thread konsumsi kemudian mengambil pesan dari buffer ini dan memanggil message listener.

Untuk informasi lebih lanjut, lihat PushConsumer.
Tiga metrik sisi klien melacak status buffer lokal ini:
Cached message count: Total pesan yang saat ini berada dalam antrian buffer lokal.
Cached message size: Ukuran total (dalam byte) semua pesan dalam antrian buffer lokal.
Await time: Lama waktu setiap pesan berada dalam antrian buffer lokal sebelum pemrosesan dimulai.
Lihat dasbor
Konsol ApsaraMQ for RocketMQ menyediakan akses dasbor dari empat titik masuk, masing-masing mencakup tingkat detail berbeda:
| Titik masuk | Yang ditampilkan |
|---|---|
| Dashboard halaman | Metrik untuk semua topik dan kelompok konsumen dalam instans |
| Instance Details | Ikhtisar produsen, metrik penagihan, dan metrik pembatasan kecepatan |
| Topic Details | Metrik produksi dan metrik klien produsen untuk topik tertentu |
| Group Details | Consumer lag dan metrik klien konsumen untuk kelompok tertentu |
Untuk membuka dasbor:
Masuk ke Konsol ApsaraMQ for RocketMQ. Di panel navigasi kiri, klik Instances.
Di bilah navigasi atas, pilih wilayah, misalnya China (Hangzhou). Di halaman Instances, klik nama instans target.
Buka dasbor dari salah satu titik masuk berikut:
Dasbor tingkat instans: Di halaman Instance Details, klik tab Dashboard.
Halaman dasbor khusus: Di panel navigasi kiri, klik Dashboard.
Dasbor tingkat topik: Di panel navigasi kiri, klik Topics. Klik nama topik, lalu klik tab Dashboard di halaman Topic Details.
Dasbor tingkat kelompok: Di panel navigasi kiri, klik Groups. Klik nama kelompok, lalu klik tab Dashboard di halaman Group Details.
Referensi metrik
Metrik TPS, jumlah panggilan API, dan volume pesan dihitung berdasarkan standar pesan normal 4 KB. Pesan yang lebih besar atau pesan yang menggunakan fitur lanjutan (terurut, transaksional, tertunda) memiliki pengganda yang diterapkan. Untuk aturan perhitungan, lihat Spesifikasi perhitungan.
Jenis metrik dan label
Jenis metrik
| Jenis | Perilaku | Contoh |
|---|---|---|
| Counter | Nilai kumulatif yang meningkat secara monoton | Total pesan yang diproduksi |
| Gauge | Nilai sesaat yang dapat naik atau turun | TPS saat ini |
| Histogram | Distribusi nilai dalam bucket yang telah ditentukan | Distribusi ukuran pesan |
Label umum
| Label | Deskripsi |
|---|---|
instance_id | ID instans ApsaraMQ for RocketMQ |
topic | Nama topik |
consumer_group | Nama kelompok konsumen |
message_type | normal, fifo (terurut), transaction, atau delay (tertunda/terjadwal) |
fifo_enable | true jika server mengirimkan pesan secara berurutan; false untuk pengiriman konkuren |
uid | ID akun Alibaba Cloud |
client_id | ID klien ApsaraMQ for RocketMQ |
invocation_status | success atau failure |
Metrik sisi server
| Jenis | Nama metrik | Unit | Deskripsi | Label |
|---|---|---|---|---|
| Gauge | rocketmq_instance_requests_max | count/s | TPS puncak untuk semua pesan yang dikirim dan diterima oleh instans. Tidak termasuk permintaan yang dibatasi. Maksimum dari 60 sampel per detik selama jendela 1 menit. | uid, instance_id |
| Gauge | rocketmq_instance_requests_in_max | count/s | TPS kirim puncak untuk instans. Tidak termasuk permintaan yang dibatasi. Maksimum dari 60 sampel per detik selama 1 menit. | uid, instance_id |
| Gauge | rocketmq_instance_requests_out_max | count/s | TPS konsumsi puncak untuk instans. Tidak termasuk permintaan yang dibatasi. Maksimum dari 60 sampel per detik selama 1 menit. | uid, instance_id |
| Gauge | rocketmq_topic_requests_max | count/s | TPS kirim puncak untuk topik tertentu. Tidak termasuk permintaan yang dibatasi. Maksimum dari 60 sampel per detik selama 1 menit. | uid, instance_id, topic |
| Gauge | rocketmq_group_requests_max | count/s | TPS konsumsi puncak untuk kelompok konsumen. Tidak termasuk permintaan yang dibatasi. Maksimum dari 60 sampel per detik selama 1 menit. | uid, instance_id, consumer_group |
| Gauge | rocketmq_instance_requests_in_threshold | count/s | Ambang batas pembatasan kecepatan untuk pengiriman pesan pada instans. | uid, instance_id |
| Gauge | rocketmq_instance_requests_out_threshold | count/s | Ambang batas pembatasan kecepatan untuk konsumsi pesan pada instans. | uid, instance_id |
| Gauge | rocketmq_throttled_requests_in | count | Jumlah permintaan kirim yang dibatasi. | uid, instance_id, topic, message_type |
| Gauge | rocketmq_throttled_requests_out | count | Jumlah permintaan konsumsi yang dibatasi. | uid, instance_id, topic, fifo_enable, consumer_group |
| Gauge | rocketmq_instance_elastic_requests_max | count/s | TPS elastis puncak untuk instans. | uid, instance_id |
| Counter | rocketmq_requests_in_total | count | Total panggilan API kirim. | uid, instance_id, topic, message_type |
| Counter | rocketmq_requests_out_total | count | Total panggilan API konsumsi. | uid, instance_id, topic, consumer_group, fifo_enable |
| Counter | rocketmq_messages_in_total | message | Total pesan yang dikirim oleh produsen. | uid, instance_id, topic, message_type |
| Counter | rocketmq_messages_out_total | message | Total pesan yang dikirimkan ke konsumen. Termasuk pesan yang sedang diproses, berhasil diproses, dan gagal. | uid, instance_id, topic, consumer_group, fifo_enable |
| Counter | rocketmq_throughput_in_total | byte | Total throughput pesan inbound dari produsen. | uid, instance_id, topic, message_type |
| Counter | rocketmq_throughput_out_total | byte | Total throughput pesan outbound ke konsumen. Termasuk pesan yang sedang diproses, berhasil diproses, dan gagal. | uid, instance_id, topic, consumer_group, fifo_enable |
| Counter | rocketmq_internet_throughput_out_total | byte | Lalu lintas internet downstream untuk pengiriman dan penerimaan pesan. | uid, instance_id, topic, message_type |
| Histogram | rocketmq_message_size | byte | Distribusi ukuran pesan yang berhasil dikirim. Bucket: le_1_kb (<=1 KB), le_4_kb (<=4 KB), le_512_kb (<=512 KB), le_1_mb (<=1 MB), le_2_mb (<=2 MB), le_4_mb (<=4 MB), le_overflow (>4 MB). | uid, instance_id, topic, message_type |
| Gauge | rocketmq_consumer_ready_messages | message | Pesan siap yang menunggu di server untuk ditarik oleh konsumen. | uid, instance_id, topic, consumer_group |
| Gauge | rocketmq_consumer_inflight_messages | message | Pesan yang sedang diproses oleh konsumen (belum mengembalikan hasil). | uid, instance_id, topic, consumer_group |
| Gauge | rocketmq_consumer_queueing_latency | ms | Lama waktu pesan siap tertua menunggu. Menunjukkan ketepatan waktu penarikan. | uid, instance_id, topic, consumer_group |
| Gauge | rocketmq_consumer_lag_latency | ms | Lama waktu pesan tertua yang belum diakui telah siap. Menunjukkan ketepatan waktu pemrosesan. | uid, instance_id, topic, consumer_group |
| Counter | rocketmq_send_to_dlq_messages | message | Pesan dead-letter per menit. Sebuah pesan menjadi dead letter setelah melebihi jumlah maksimum upaya pengiriman ulang. Berdasarkan kebijakan dead-letter kelompok, pesan-pesan ini disimpan ke topik tertentu atau dibuang. | uid, instance_id, topic, consumer_group |
| Gauge | rocketmq_storage_size | byte | Total penyimpanan yang digunakan oleh instans, termasuk semua file. | uid, instance_id |
Metrik produsen
| Jenis | Nama metrik | Unit | Deskripsi | Label |
|---|---|---|---|---|
| Histogram | rocketmq_send_cost_time | ms | Distribusi latensi untuk panggilan API kirim yang berhasil. Bucket: le_1_ms, le_5_ms, le_10_ms, le_20_ms, le_50_ms, le_200_ms, le_500_ms, le_overflow. | uid, instance_id, topic, client_id, invocation_status |
Metrik konsumen
| Jenis | Nama metrik | Unit | Deskripsi | Label |
|---|---|---|---|---|
| Histogram | rocketmq_process_time | ms | Distribusi waktu pemrosesan pesan PushConsumer (termasuk pesan yang berhasil dan gagal). rocketmq_process_time = waktu akhir pemrosesan - waktu mulai pemrosesan. Bucket: le_1_ms, le_5_ms, le_10_ms, le_100_ms, le_10000_ms, le_60000_ms, le_overflow. | uid, instance_id, consumer_group, topic, client_id, invocation_status |
| Gauge | rocketmq_consumer_cached_messages | message | Pesan dalam antrian buffer lokal PushConsumer. | uid, instance_id, consumer_group, topic, client_id |
| Gauge | rocketmq_consumer_cached_bytes | byte | Ukuran total pesan dalam antrian buffer lokal PushConsumer. | uid, instance_id, consumer_group, topic, client_id |
| Histogram | rocketmq_await_time | ms | Waktu pesan menunggu dalam antrian buffer lokal PushConsumer sebelum pemrosesan dimulai. rocketmq_await_time = waktu mulai pemrosesan - waktu kedatangan. Bucket: le_1_ms, le_5_ms, le_20_ms, le_100_ms, le_1000_ms, le_5000_ms, le_10000_ms, le_overflow. | uid, instance_id, consumer_group, topic, client_id |
Penagihan
Metrik Dasbor diklasifikasikan sebagai metrik dasar dalam ARMS Prometheus Service. Metrik dasar tidak dikenai biaya. Tidak ada biaya tambahan untuk menggunakan fitur dasbor.
Untuk informasi lebih lanjut, lihat Metrik dasar dan Pay-as-you-go.
FAQ
Bagaimana cara mengakses data metrik dasbor secara terprogram?
Semua metrik ApsaraMQ for RocketMQ disimpan dalam instans Managed Service for Prometheus Anda. Untuk mendapatkan titik akhir akses data:
Masuk ke Konsol ARMS. Di panel navigasi kiri, klik Integration Center.
Cari
RocketMQdan pilih Alibaba Cloud RocketMQ (5.0) Service. Selesaikan integrasi dengan mengikuti Integrate monitoring data of an Alibaba Cloud service.Setelah provisioning selesai, klik Provisioning di panel navigasi kiri.
Klik tab Cloud Service Region Environment, lalu klik nama lingkungan target.
Di tab Component Management, di area Basic Information, klik wilayah layanan cloud di sebelah Prometheus Instance.
Di tab Settings, temukan metode akses data yang tersedia (titik akhir HTTP API, Remote Write, dll.).
Bagaimana cara mengintegrasikan metrik ke Grafana yang dikelola sendiri?
Setelah mendapatkan alamat HTTP API dari langkah-langkah di atas, tambahkan sebagai sumber data Prometheus dalam instans Grafana Anda. Untuk petunjuk langkah demi langkah, lihat Integrate Prometheus data into Grafana using an HTTP API address.
Apa yang dimaksud dengan TPS Max?
TPS Max adalah nilai transaksi-per-detik puncak dalam jendela 1 menit. Sistem mengambil sampel TPS sekali per detik (60 sampel per menit) dan melaporkan nilai tertinggi.
Contoh: Sebuah instans mengirim 60 pesan normal (masing-masing 4 KB) dalam 1 menit.
Jika ke-60 pesan dikirim pada detik pertama, TPS per detik = 60, 0, 0, ..., 0. TPS Max = 60.
Jika 40 pesan dikirim pada detik pertama dan 20 pada detik kedua, TPS per detik = 40, 20, 0, ..., 0. TPS Max = 40.