Dengan mengintegrasikan Managed Service for Prometheus dan Grafana dari Alibaba Cloud untuk penyimpanan dan visualisasi metrik, Message Queue for Apache RocketMQ menyediakan fitur Dashboard. Fitur ini memberikan tampilan terpusat dan komprehensif atas berbagai metrik untuk membantu Anda menilai status operasional layanan secara cepat. Topik ini menjelaskan kasus penggunaan, latar belakang, metrik, penagihan, serta metode kueri Dashboard.
Kasus penggunaan
Skenario 1: Gunakan peringatan tepat waktu untuk mendeteksi dan memecahkan masalah anomali konsumsi pesan secara real time.
Skenario 2: Verifikasi status pengiriman pesan dengan menyelidiki jalur pengiriman saat status pesanan tidak normal.
Skenario 3: Analisis tren lalu lintas pesan, pola distribusi, dan volumenya untuk merencanakan pertumbuhan bisnis di masa depan.
Skenario 4: Lihat dan analisis topologi ketergantungan aplikasi untuk mengoptimalkan atau merefaktor arsitektur Anda.
Latar belakang
Dalam siklus hidup pesan Message Queue for Apache RocketMQ, indikator kinerja utama seperti consumer lag, buffering, dan latency pemrosesan secara langsung mencerminkan kinerja aplikasi Anda dan kondisi kesehatan broker. Oleh karena itu, metrik utama untuk Message Queue for Apache RocketMQ paling relevan dalam skenario berikut.
Antrean pesan tertunda (message backlog)
Gambar berikut menunjukkan status pesan dalam antrian tertentu dari suatu topik.

Gambar di atas menunjukkan status pesan dalam antrian tertentu dari suatu topik. Message Queue for Apache RocketMQ mengumpulkan statistik jumlah pesan dan waktu yang dibutuhkan pada berbagai tahap pemrosesan. Metrik ini secara langsung mencerminkan laju pemrosesan pesan dan akumulasi dalam antrian. Dengan mengamati metrik ini, Anda dapat mendeteksi lebih awal apakah konsumsi layanan Anda mengalami anomali. Definisi metrik dan rumus perhitungannya adalah sebagai berikut:
Kategori | Metric | Deskripsi | Rumus perhitungan |
Metrik jumlah pesan | inflight messages | Jumlah pesan yang sedang diproses oleh client konsumen tetapi belum dikonfirmasi (acknowledged). | Offset pesan terakhir yang ditarik – Offset pesan terakhir yang telah dikonfirmasi |
ready messages | Jumlah pesan di broker Message Queue for Apache RocketMQ yang siap dikonsumsi. | Offset pesan maksimum – Offset pesan terakhir yang ditarik | |
consumer lag | Total jumlah pesan yang menunggu konsumsi atau sedang diproses. | Jumlah inflight messages + Jumlah ready messages | |
Metrik latency pesan | Ready time |
| N/A |
Ready message queuing time | Waktu yang berlalu sejak ready time dari pesan ready tertua hingga saat ini. Metrik ini mencerminkan ketepatan waktu penarikan pesan oleh konsumen. | Waktu saat ini – Ready time dari pesan ready tertua | |
consumer lag time | Waktu yang berlalu sejak ready time dari pesan yang belum dikonfirmasi paling awal hingga saat ini. Metrik ini mencerminkan ketepatan waktu pemrosesan pesan oleh konsumen. | Waktu saat ini – Ready time dari pesan yang belum dikonfirmasi paling awal |
Konsumsi PushConsumer

Untuk informasi lebih lanjut tentang cara kerjanya, lihat PushConsumer.
Dalam skenario konsumsi PushConsumer, metrik berikut terkait dengan antrian cache lokal:
Jumlah pesan dalam antrian cache lokal: Total jumlah pesan dalam antrian cache lokal.
Ukuran pesan dalam antrian cache lokal: Total ukuran semua pesan dalam antrian cache lokal.
Waktu tunggu pesan: Durasi pesan disimpan sementara dalam antrian cache lokal.
Detail metrik
Semua metrik terkait TPS, pengiriman dan penerimaan pesan, atau jumlah pesan dihitung berdasarkan pesan normal berukuran 4 KB. Pengali untuk ukuran pesan dan jenis pesan lanjutan diterapkan. Untuk informasi lebih lanjut, lihat Spesifikasi perhitungan.
Tabel berikut menjelaskan bidang-bidang metrik.
Field | Nilai |
Jenis metrik |
|
Label |
|
Metrik broker
Jenis metrik | Nama metrik | Unit | Deskripsi | Label |
Gauge | rocketmq_instance_requests_max | count/s | TPS messaging maksimum (pengiriman dan penerimaan) untuk instans per menit. Permintaan yang dibatasi kecepatannya (throttled) tidak termasuk. Nilai ini merupakan maksimum dari 60 sampel TPS yang diambil setiap detik selama interval satu menit. |
|
Gauge | rocketmq_instance_requests_in_max | count/s | TPS pengiriman pesan maksimum untuk instans per menit. Permintaan yang dibatasi kecepatannya (throttled) tidak termasuk. Nilai ini merupakan maksimum dari 60 sampel TPS yang diambil setiap detik selama interval satu menit. |
|
Gauge | rocketmq_instance_requests_out_max | count/s | TPS konsumsi pesan maksimum untuk instans per menit. Permintaan yang dibatasi kecepatannya (throttled) tidak termasuk. Nilai ini merupakan maksimum dari 60 sampel TPS yang diambil setiap detik selama interval satu menit. |
|
Gauge | rocketmq_topic_requests_max | count/s | TPS maksimum untuk mengirim pesan ke suatu topik dalam instans per menit. Permintaan yang dibatasi kecepatannya (throttled) tidak termasuk. Nilai ini merupakan maksimum dari 60 sampel TPS yang diambil setiap detik selama interval satu menit. |
|
Gauge | rocketmq_group_requests_max | count/s | TPS konsumsi pesan maksimum untuk kelompok konsumen dalam instans per menit. Permintaan yang dibatasi kecepatannya (throttled) tidak termasuk. Nilai ini merupakan maksimum dari 60 sampel TPS yang diambil setiap detik selama interval satu menit. |
|
Gauge | rocketmq_instance_requests_in_threshold | count/s | Ambang batas pembatasan kecepatan untuk pengiriman pesan dalam instans. |
|
Gauge | rocketmq_instance_requests_out_threshold | count/s | Ambang batas pembatasan kecepatan untuk konsumsi pesan dalam instans. |
|
Gauge | rocketmq_throttled_requests_in | count | Jumlah upaya pengiriman pesan yang dibatasi kecepatannya. |
|
Gauge | rocketmq_throttled_requests_out | count | Jumlah upaya konsumsi pesan yang dibatasi kecepatannya. |
|
Gauge | rocketmq_instance_elastic_requests_max | count/s | TPS elastis maksimum untuk pengiriman dan konsumsi pesan dalam instans. |
|
Counter | rocketmq_requests_in_total | count | Total jumlah panggilan API untuk pengiriman pesan. |
|
Counter | rocketmq_requests_out_total | count | Total jumlah panggilan API untuk konsumsi pesan. |
|
Counter | rocketmq_messages_in_total | message | Total jumlah pesan yang dikirim dari produsen ke broker. |
|
Counter | rocketmq_messages_out_total | message | Total jumlah pesan yang dikirimkan dari broker ke konsumen. Ini mencakup pesan yang sedang diproses, berhasil diproses, atau gagal diproses. |
|
Counter | rocketmq_throughput_in_total | byte | Throughput pesan dari produsen ke broker. |
|
Counter | rocketmq_throughput_out_total | byte | Throughput pesan dari broker ke konsumen. Ini mencakup pesan yang sedang diproses, berhasil diproses, atau gagal diproses. |
|
Counter | rocketmq_internet_throughput_out_total | byte | Trafik internet arah keluar yang digunakan untuk pengiriman pesan. |
|
Histogram | rocketmq_message_size | byte | Histogram ukuran pesan, dicatat saat pengiriman berhasil. Bucket distribusi:
|
|
Gauge | rocketmq_consumer_ready_messages | message | Jumlah pesan di broker yang siap dikonsumsi. Metrik ini mencerminkan jumlah pesan yang belum diproses oleh konsumen. |
|
Gauge | rocketmq_consumer_inflight_messages | message | Jumlah pesan inflight, yaitu pesan yang sedang diproses oleh client konsumen tetapi belum dikonfirmasi. |
|
Gauge | rocketmq_consumer_queueing_latency | ms | Waktu antrean pesan ready, dihitung sebagai durasi dari ready time pesan ready tertua hingga saat ini. Metrik ini menunjukkan ketepatan waktu penarikan pesan oleh konsumen. |
|
Gauge | rocketmq_consumer_lag_latency | ms | Latensi pemrosesan konsumsi, dihitung sebagai durasi dari ready time pesan yang belum dikonsumsi paling awal hingga saat ini. Metrik ini menunjukkan ketepatan waktu pemrosesan pesan oleh konsumen. |
|
Counter | rocketmq_send_to_dlq_messages | message | Jumlah pesan yang menjadi dead letter per menit. Pesan menjadi dead letter setelah gagal dikirimkan dan melebihi jumlah maksimum upaya pengiriman ulang. Pesan-pesan tersebut kemudian dibuang atau diarahkan ke topik dead-letter berdasarkan kebijakan dead-letter kelompok konsumen. |
|
Gauge | rocketmq_storage_size | byte | Jumlah storage space yang digunakan oleh instans, termasuk semua file. |
|
Metrik produsen
Jenis metrik | Nama metrik | Unit | Deskripsi | Label |
Histogram | rocketmq_send_cost_time | ms | Histogram latency panggilan API pengiriman pesan yang berhasil. Bucket distribusi:
|
|
Metrik konsumen
Jenis metrik | Nama metrik | Unit | Deskripsi | Label |
Histogram | rocketmq_process_time | ms | Histogram waktu pemrosesan pesan untuk PushConsumer, termasuk upaya yang berhasil maupun gagal. Nilai ini dihitung sebagai: Bucket distribusi:
|
|
Gauge | rocketmq_consumer_cached_messages | message | Jumlah pesan dalam antrian cache lokal PushConsumer. |
|
Gauge | rocketmq_consumer_cached_bytes | byte | Total ukuran pesan dalam antrian cache lokal PushConsumer. |
|
Histogram | rocketmq_await_time | ms | Histogram waktu tunggu pesan dalam antrian cache lokal PushConsumer. Nilai ini dihitung sebagai: Bucket distribusi:
|
|
Penagihan
Metrik dashboard untuk Message Queue for Apache RocketMQ merupakan metrik dasar dalam Managed Service for Prometheus. Metrik dasar tidak dikenai biaya. Oleh karena itu, fitur dashboard juga gratis.
Untuk informasi lebih lanjut, lihat Pay-as-you-go.
Prasyarat
Peran terkait layanan harus dibuat.
Nama role: AliyunServiceRoleForOns
Nama kebijakan role: AliyunServiceRolePolicyForOns
Izin: Mengizinkan Message Queue for Apache RocketMQ untuk mengasumsikan role ini guna mengakses layanan Alibaba Cloud lainnya, seperti CloudMonitor dan Managed Service for Prometheus, untuk mengaktifkan fitur seperti pemantauan, peringatan, dan Dashboard.
Untuk informasi lebih lanjut, lihat Service-linked roles.
Lihat Dashboard
Anda dapat melihat Dashboard pada halaman-halaman berikut di Konsol Message Queue for Apache RocketMQ:
Dashboard: menampilkan metrik untuk semua topik dan kelompok konsumen dalam suatu instans.
Instance Details: menampilkan ikhtisar produsen, metrik penagihan, dan metrik pembatasan kecepatan untuk instans tertentu.
Topic Details: menampilkan metrik terkait produksi pesan dan client produsen untuk topik tertentu.
Group Details: menampilkan metrik terkait consumer lag dan client konsumen untuk kelompok konsumen tertentu.
Masuk ke ApsaraMQ for RocketMQ console. Di panel navigasi kiri, klik Instances.
Di bilah navigasi atas, pilih wilayah, misalnya China (Hangzhou). Di halaman Instances, klik nama instans yang ingin Anda kelola.
Gunakan salah satu metode berikut untuk melihat Dashboard.
Instance Details: Di halaman Instance Details, klik tab Dashboard.
Dashboard: Di panel navigasi kiri, klik Dashboard.
Topic Details: Di panel navigasi kiri, klik Topics. Di daftar topik, klik nama topik target. Di halaman Topic Details, klik tab Dashboard.
Group Details: Di panel navigasi kiri, klik Groups. Di daftar kelompok, klik nama kelompok target. Di halaman Group Details, klik tab Dashboard.
FAQ
Bagaimana cara mendapatkan data metrik dashboard?
Masuk ke ARMS console menggunakan Akun Alibaba Cloud Anda.
Di panel navigasi kiri, klik Integration Center.
Di halaman Integration Center, masukkan
RocketMQdi kotak pencarian dan klik ikon pencarian.Dalam hasil pencarian, pilih layanan cloud yang ingin Anda integrasikan, misalnya Aliyun RocketMQ (5.0) Service. Untuk informasi lebih lanjut tentang integrasi, lihat Langkah 1: Integrasikan data pemantauan layanan cloud.
Setelah integrasi berhasil, klik Integration Management di panel navigasi kiri.
Di halaman Integration Management, klik tab Cloud Service Region Environment.
Di daftar Cloud Service Region Environment, klik nama lingkungan target untuk membuka halaman detailnya.
Di bagian Basic Information pada tab Component Management, klik wilayah layanan cloud di samping Prometheus instance.
Di tab Settings, Anda dapat memperoleh URL untuk berbagai metode akses data.
Bagaimana cara mengintegrasikan dengan Grafana yang dikelola sendiri?
Semua data metrik untuk Message Queue for Apache RocketMQ disimpan di Managed Service for Prometheus Alibaba Cloud Anda. Anda dapat mengikuti langkah-langkah dalam Bagaimana cara mendapatkan data metrik dashboard? untuk menghubungkan ke layanan cloud dan memperoleh nama lingkungan serta alamat API HTTP. Selanjutnya, Anda dapat menggunakan API tersebut untuk mengimpor data metrik dashboard Message Queue for Apache RocketMQ ke instans Grafana yang Anda kelola sendiri. Untuk informasi lebih lanjut, lihat Gunakan alamat API HTTP untuk menghubungkan Grafana atau aplikasi yang dikelola sendiri guna mengakses data Prometheus.
Bagaimana cara menafsirkan max TPS instans?
Max TPS adalah nilai transaksi per detik (TPS) tertinggi yang dicatat selama periode satu menit, berdasarkan sampel yang diambil setiap detik.
Contoh:
Suatu instans menghasilkan 60 pesan normal, masing-masing berukuran 4 KB, dalam waktu satu menit. Laju produksi adalah 60 pesan/menit.
Jika ke-60 pesan tersebut dikirim dalam detik pertama, nilai TPS setiap detik dalam menit tersebut adalah 60, 0, 0, ..., 0.
Max TPS instans tersebut adalah 60.
Jika 40 pesan dikirim pada detik pertama dan 20 pesan dikirim pada detik kedua, nilai TPS-nya adalah 40, 20, 0, 0, ..., 0.
Max TPS instans tersebut adalah 40.