Sistem pesan terdistribusi menghasilkan metrik dari produsen, konsumen, dan instans broker yang sulit dikorelasikan secara manual. ApsaraMQ for RocketMQ menyediakan dasbor bawaan yang didukung oleh Alibaba Cloud Managed Service for Prometheus dan Grafana untuk menggabungkan metrik tersebut dalam satu tampilan. Gunakan dasbor ini untuk mendeteksi keterlambatan konsumsi, melacak tren akumulasi pesan, memverifikasi pengiriman pesan, dan memperkirakan penagihan—tanpa perlu berpindah antar alat.
Kasus penggunaan
Deteksi anomali konsumsi: Dapatkan peringatan ketika konsumen tertinggal atau gagal, serta identifikasi kelompok dan topik yang terdampak.
Verifikasi pengiriman pesan: Pastikan pesan dikirim sesuai harapan saat status pesanan online tertentu tidak normal.
Analisis tren traffic: Lacak laju produksi dan konsumsi seiring waktu untuk memprediksi kapasitas dan merencanakan puncak traffic.
Tinjauan topologi dependensi: Petakan dependensi aplikasi hulu dan hilir untuk membimbing peningkatan arsitektur.
Prasyarat
Sebelum memulai, pastikan Anda telah:
Membuat peran terkait layanan AliyunServiceRoleForOns (nama kebijakan: AliyunServiceRolePolicyForOns), yang memberikan akses ApsaraMQ for RocketMQ ke Cloud Monitor dan Application Real-Time Monitoring Service (ARMS) untuk fitur pemantauan, peringatan, dan dasbor. Untuk detailnya, lihat Peran terkait layanan.
Penagihan
Metrik dasbor merupakan metrik dasar dalam ARMS Managed Service for Prometheus. Metrik dasar tidak dikenai biaya, sehingga penggunaan dasbor tidak menimbulkan biaya tambahan.
Untuk informasi lebih lanjut, lihat Metrik dan Pay-as-you-go.
Cara kerja akumulasi pesan
Memahami cara ApsaraMQ for RocketMQ melacak status pemrosesan pesan sangat penting untuk menginterpretasikan metrik dasbor—terutama consumer lag, yang merupakan indikator utama kesehatan konsumsi.

Diagram berikut menunjukkan status setiap pesan dalam antrian. Broker menghitung jumlah pesan dan durasi pemrosesan pada setiap tahap. Metrik ini menunjukkan seberapa cepat konsumen menarik dan mengakui pesan, serta apakah terjadi akumulasi.
Metrik jumlah pesan
| Metric | Description | Formula |
|---|---|---|
| Inflight messages | Pesan yang telah ditarik oleh konsumen tetapi belum diakui. | Offset tarik terbaru - Offset akui terbaru |
| Ready messages | Pesan yang disimpan di broker dan tersedia untuk dikonsumsi. | Offset maksimum - Offset tarik terbaru |
| Consumer lag | Total pesan yang belum diproses, mencakup pesan inflight dan ready. Consumer lag yang meningkat menunjukkan konsumen tertinggal dari produsen. | Inflight messages + Ready messages |
Metrik waktu
| Metric | Description | Formula |
|---|---|---|
| Ready time | Waktu saat pesan tersedia untuk dikonsumsi. Bervariasi tergantung jenis pesan (lihat di bawah). | N/A |
| Ready message queue time | Lama waktu pesan ready paling awal menunggu. Mengindikasikan seberapa cepat konsumen menarik pesan. | Waktu saat ini - Ready time pesan ready paling awal |
| Consumer lag time | Lama waktu pesan yang belum diakui paling awal menunggu. Mengindikasikan kecepatan pemrosesan keseluruhan. | Waktu saat ini - Ready time pesan yang belum diakui paling awal |
Ready time berdasarkan jenis pesan:
Pesan Normal atau Ordered: Waktu saat broker menyimpan pesan.
Pesan Terjadwal: Waktu pengiriman terjadwal. Untuk pesan tertunda, yaitu waktu saat periode penundaan berakhir.
Pesan Transaksional: Waktu saat transaksi dikomit.
Lihat dasbor
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.
Buka dasbor dengan salah satu metode berikut:
Pada halaman Instance Details, klik tab Dashboard.
Di panel navigasi sebelah kiri, klik Dashboard.
Di panel navigasi sebelah kiri, klik Topics. Klik nama topik untuk membuka halaman Topic Details, lalu klik tab Dashboard.
Di panel navigasi sebelah kiri, klik Groups. Klik nama grup untuk membuka halaman Group Details, lalu klik tab Dashboard.
Metrik dasbor
Metrik dikelompokkan ke dalam empat kategori: produsen, konsumen, top 20 instans, dan penagihan.
Semua metrik dikumpulkan setiap 1 menit. Data tersedia untuk 15 hari terakhir, dengan rentang kueri maksimal 24 jam.
Metrik produsen
| Metric | Description | Unit |
|---|---|---|
| Message production rate | Laju produksi dan laju pemanggilan API untuk suatu topik. | messages/s, calls/s |
| Peak message production rate | Laju produksi maksimum. | messages/s |
| Total messages produced | Total pesan yang diproduksi dalam instans. | messages |
| Message production call success rate | Persentase pemanggilan pengiriman yang berhasil untuk suatu topik. | % |
| Message production call latency | Latensi pengiriman untuk suatu topik. | ms |
Metrik konsumen
| Metric | Description | Unit |
|---|---|---|
| Average consumption success rate | Tingkat keberhasilan konsumsi rata-rata untuk semua pesan dalam instans. | % |
| Accumulated messages (Ready + Inflight) | Total pesan terakumulasi dalam instans, mencakup pesan ready dan inflight. | messages |
| Inflight messages | Pesan yang sedang diproses oleh konsumen namun belum diakui. | messages |
| Ready messages | Pesan yang tersedia di broker untuk dikonsumsi. Mencerminkan skala pesan yang belum diproses. | messages |
| Ready message queue time | Waktu sejak pesan ready paling awal tersedia. Ikhtisar menampilkan rata-rata instans; grafik spesifik menampilkan nilai per kelompok-topik. Pantau secara ketat untuk beban kerja yang sensitif terhadap latensi. | ms |
| Message consumption rate | Laju konsumsi pesan oleh suatu kelompok. | messages/s |
| Peak message consumption rate | Laju konsumsi maksimum. | messages/s |
| Total messages consumed | Total pesan yang dikonsumsi dalam instans. | messages |
| Consumption accumulation | Pesan terakumulasi untuk suatu kelompok, mencakup pesan ready dan inflight. | messages |
| Message processing latency | Waktu dari saat kelompok mulai mengonsumsi pesan hingga selesai. | ms |
| Consumer local wait time | Waktu tunggu pesan di client konsumen sebelum pemrosesan dimulai. | ms |
| Consumption success rate | Tingkat keberhasilan konsumsi pesan. | % |
| Consumer client access protocol ratio | Distribusi pesan yang dikonsumsi berdasarkan jenis protokol (TCP vs. HTTP). | -- |
Ikhtisar top 20 instans
| Metric | Unit |
|---|---|
| Top 20 topics by message production rate | messages/s |
| Top 20 groups by message consumption rate | messages/s |
| Top 20 groups by ready messages | messages |
| Top 20 groups by ready message queue time | ms |
| Top 20 groups by accumulated messages (Ready + Inflight) | messages |
| Top 20 groups by inflight messages | messages |
| Top 20 groups by consumption processing latency | ms |
| Top 20 groups by consumer local wait time | ms |
| Top 20 topics by message production call failure rate | % |
| Top 20 groups by message consumption failure rate | % |
Metrik penagihan
Gunakan metrik penagihan untuk memperkirakan komponen biaya terkait instans Anda, seperti TPS puncak dan volume pemanggilan API.
Nilai metrik penagihan mencakup pengali untuk pesan besar dan fitur lanjutan:
Pengali pesan besar: Satuan penagihan adalah 4 KB. Pesan 16 KB dihitung sebagai 16 / 4 = 4 pemanggilan API.
Pengali fitur lanjutan: Pesan ordered, terjadwal, tertunda, dan transaksional dihitung sebagai 5x pemanggilan API dibandingkan pesan normal.
| Metric | Description | Unit |
|---|---|---|
| Peak production TPS | TPS produksi maksimum. Gunakan untuk memperkirakan spesifikasi TPS puncak dalam penagihan. | calls/s |
| Peak consumption TPS | TPS konsumsi maksimum. Gunakan untuk memperkirakan spesifikasi TPS puncak dalam penagihan. | calls/s |
| Peak TPS | TPS gabungan produksi dan konsumsi maksimum. Gunakan untuk memperkirakan spesifikasi TPS puncak dalam penagihan. | calls/s |
| Total API calls | Total pemanggilan API. Gunakan untuk memperkirakan volume pemanggilan API dalam penagihan. | calls |
| Average message size | Ukuran rata-rata semua pesan yang diproduksi. | bytes |
| Production and consumption TPS | TPS gabungan produksi dan konsumsi. | calls/s |
| Daily API calls | Total harian pemanggilan API produksi dan konsumsi. | calls |
Referensi metrik Prometheus
Perhitungan TPS, jumlah pesan, dan total pesan menggunakan pesan normal 4 KB sebagai satuan dasar. Pengali ukuran dan fitur lanjutan diterapkan di atas satuan dasar ini.
Semua metrik menggunakan tipe Gauge—pengukuran instan yang dapat naik atau turun.
Label umum
| Label | Description |
|---|---|
instance_id | ID instans ApsaraMQ for RocketMQ |
topic | Nama topik |
message_type | Jenis pesan: normal, fifo, transaction, atau delay |
uid | ID akun Alibaba Cloud |
protocol_type | Protokol: tcp atau http |
client_group / group_id | Identifikasi kelompok konsumen |
Metrik sisi server
| Metric name | Unit | Description | Labels |
|---|---|---|---|
rocketmq_instance_requests_threshold | count/s | Ambang batas pembatasan kecepatan instans. | uid, instance_id |
rocketmq_instance_requests_max | count/s | TPS maksimum per menit, tidak termasuk permintaan yang dibatasi. Dihitung sebagai nilai tertinggi dari 60 sampel per detik dalam satu menit. | uid, instance_id |
Metrik produsen
| Metric name | Unit | Description | Labels |
|---|---|---|---|
rocketmq_producer_requests | count | Pemanggilan API yang dikenai biaya untuk mengirim pesan. | uid, instance_id, topic, message_type |
rocketmq_producer_messages | messages | Jumlah pesan yang dikirim. | uid, instance_id, topic, message_type |
rocketmq_producer_message_size_bytes | bytes | Ukuran total pesan yang dikirim. | uid, instance_id, topic, message_type |
rocketmq_producer_send_success_rate | % | Tingkat keberhasilan pengiriman. | uid, instance_id, topic |
rocketmq_producer_failure_api_calls | count | Pemanggilan API pengiriman yang gagal. | uid, instance_id, topic |
rocketmq_producer_send_rt_milliseconds_avg | ms | Latensi pengiriman rata-rata. | uid, instance_id, topic |
rocketmq_producer_send_rt_milliseconds_min | ms | Latensi pengiriman minimum. | uid, instance_id, topic |
rocketmq_producer_send_rt_milliseconds_max | ms | Latensi pengiriman maksimum. | uid, instance_id, topic |
rocketmq_producer_send_rt_milliseconds_p95 | ms | Latensi pengiriman P95. | uid, instance_id, topic |
rocketmq_producer_send_rt_milliseconds_p99 | ms | Latensi pengiriman P99. | uid, instance_id, topic |
Metrik konsumen
| Metric name | Unit | Description | Labels |
|---|---|---|---|
rocketmq_consumer_requests | count | Pemanggilan API untuk mengonsumsi pesan. | uid, instance_id, topic, client_group, protocol_type |
rocketmq_consumer_send_back_requests | count | Pemanggilan API untuk mengembalikan pesan yang gagal dikonsumsi. | uid, instance_id, topic, group_id |
rocketmq_consumer_send_back_messages | messages | Pesan yang dikembalikan oleh konsumen setelah konsumsi gagal. | uid, instance_id, topic, group_id |
rocketmq_consumer_messages | messages | Jumlah pesan yang dikonsumsi. | uid, instance_id, topic, client_group, protocol_type |
rocketmq_consumer_message_size_bytes | bytes | Ukuran pesan yang dikonsumsi, diakumulasi selama satu menit. | uid, instance_id, topic, client_group, protocol_type |
rocketmq_consumer_ready_and_inflight_messages | messages | Consumer lag: pesan ready ditambah pesan inflight. | uid, instance_id, topic, group_id |
rocketmq_consumer_ready_messages | messages | Pesan ready. Dihitung sebagai maxOffset - lastPullOffset. | uid, instance_id, topic, group_id |
rocketmq_consumer_inflight_messages | messages | Pesan inflight. Dihitung sebagai lastPullOffset - committedOffset. | uid, instance_id, topic, group_id |
rocketmq_consumer_queue_time_milliseconds | ms | Waktu antrian pesan. | uid, instance_id, topic, group_id |
rocketmq_consumer_message_await_time_milliseconds_avg | ms | Waktu tunggu lokal konsumen rata-rata. | uid, instance_id, topic, group_id |
rocketmq_consumer_message_await_time_milliseconds_min | ms | Waktu tunggu lokal konsumen minimum. | uid, instance_id, topic, group_id |
rocketmq_consumer_message_await_time_milliseconds_max | ms | Waktu tunggu lokal konsumen maksimum. | uid, instance_id, topic, group_id |
rocketmq_consumer_message_await_time_milliseconds_p95 | ms | Waktu tunggu lokal konsumen P95. | uid, instance_id, topic, group_id |
rocketmq_consumer_message_await_time_milliseconds_p99 | ms | Waktu tunggu lokal konsumen P99. | uid, instance_id, topic, group_id |
rocketmq_consumer_message_process_time_milliseconds_avg | ms | Latensi pemrosesan pesan rata-rata. | uid, instance_id, topic, group_id |
rocketmq_consumer_message_process_time_milliseconds_min | ms | Latensi pemrosesan pesan minimum. | uid, instance_id, topic, group_id |
rocketmq_consumer_message_process_time_milliseconds_max | ms | Latensi pemrosesan pesan maksimum. | uid, instance_id, topic, group_id |
rocketmq_consumer_message_process_time_milliseconds_p95 | ms | Latensi pemrosesan pesan P95. | uid, instance_id, topic, group_id |
rocketmq_consumer_message_process_time_milliseconds_p99 | ms | Latensi pemrosesan pesan P99. | uid, instance_id, topic, group_id |
rocketmq_consumer_consume_success_rate | % | Tingkat keberhasilan konsumsi. | uid, instance_id, topic, group_id |
rocketmq_consumer_failure_api_calls | count | Pemanggilan API konsumsi yang gagal. | uid, instance_id, topic, group_id |
rocketmq_consumer_to_dlq_messages | messages | Pesan yang dikirim ke dead-letter queue (DLQ). | uid, instance_id, topic, group_id |
FAQ
Bagaimana cara mendapatkan data metrik mentah dari dasbor?
Metrik dasbor disimpan di ARMS Managed Service for Prometheus. Untuk mengakses data mentah:
Masuk ke Konsol ARMS dengan akun Alibaba Cloud Anda.
Di panel navigasi sebelah kiri, klik Integration Center.
Cari
RocketMQdan pilih Alibaba Cloud RocketMQ (4.0) Service. Untuk detail penyiapan, lihat Integrasikan data pemantauan layanan Alibaba Cloud.Setelah integrasi berhasil, klik Provisioning di panel navigasi sebelah kiri.
Pada daftar Cloud Service Area Environment, klik nama lingkungan target.
Pada tab Component Management, di bagian Basic Information, klik tautan wilayah untuk Prometheus Instance.
Pada tab Settings, temukan metode akses data yang tersedia.
Bagaimana cara mengintegrasikan metrik dasbor ke sistem Grafana yang dikelola sendiri?
Selesaikan langkah-langkah integrasi yang dijelaskan dalam Cara mendapatkan metrik di dasbor? untuk menghubungkan data pemantauan ApsaraMQ for RocketMQ ke Managed Service for Prometheus. Kemudian ambil URL API HTTP dari pengaturan lingkungan dan gunakan untuk menghubungkan instans Grafana yang dikelola sendiri. Untuk detailnya, lihat Gunakan URL API HTTP untuk menghubungkan instans Prometheus ke sistem Grafana yang dikelola sendiri.
Bagaimana cara menghitung TPS rata-rata dan TPS maksimum?
TPS rata-rata = Total permintaan dalam satu menit / 60 detik
TPS maksimum = Nilai tertinggi dari 60 sampel TPS per detik yang diambil dalam satu menit
Contoh: Sebuah instans menghasilkan 60 pesan normal 4 KB dalam satu menit.
TPS rata-rata = 60 calls / 60 s = 1 call/s
Jika semua 60 pesan dikirim pada detik pertama, nilai TPS per detik adalah 60, 0, 0, ..., 0. TPS maksimum = 60 calls/s.
Jika 40 pesan dikirim pada detik pertama dan 20 pada detik kedua, nilainya adalah 40, 20, 0, ..., 0. TPS maksimum = 40 calls/s.