Alibaba Cloud'un Managed Service for Prometheus ve Managed Service for Grafana hizmetlerinin ölçüm depolama ve görselleştirme yeteneklerinden yararlanarak Message Queue for Apache RocketMQ 5,0 bir pano özelliği sunar. Bu özellik, çok boyutlu ölçümlerin merkezi olarak toplanmasına, izlenmesine ve görselleştirilmesine olanak tanıyarak işinizin çalışma durumunu hızlıca değerlendirmenize yardımcı olur. Bu konu, panonun kullanım senaryolarını, arka plan bilgilerini, ölçüm ayrıntılarını, faturalandırmayı ve sorgulama yöntemlerini açıklar.
Kullanım senaryoları
Çevrimiçi mesaj tüketimi istisnalarını giderin, zamanında uyarılar alın ve mesajların zamanında işlenmemesi durumunda sorunları hızla tespit edin.
Çevrimiçi siparişlerle ilgili sorunlarla karşılaştığınızda mesaj teslimatını işlem hattı üzerinden inceleyin.
İş trendi analizini ve planlamayı desteklemek amacıyla mesaj trafiği eğilimlerini, dağıtım desenlerini veya mesaj hacmini analiz edin.
Sistem mimarinizi yükseltmek veya optimize etmek için uygulamalarınızın yukarı ve aşağı akış bağımlılık topolojisini görüntüleyin ve analiz edin.
Arka plan
Alibaba Cloud Message Queue for Apache RocketMQ içindeki mesaj gönderme ve alma sürecinde, kuyruk birikimi, arabellek durumu ve mesaj işlemenin her aşamasında harcanan süre, hizmetlerinizin performansını ve sunucunun çalışma durumunu doğrudan yansıtır. Bu nedenle, Alibaba Cloud Message Queue for Apache RocketMQ için temel ölçümler öncelikle aşağıdaki iş senaryolarıyla ilgilidir.
Tüketici gecikmesi senaryoları
Aşağıdaki şekilde, bir konunun belirli bir kuyruğundaki mesajların durumu gösterilmektedir.

Yukarıdaki şekil, belirli bir konu için bir kuyruktaki mesajların durumunu gösterir. Message Queue for Apache RocketMQ farklı işleme aşamalarındaki mesaj sayısını ve harcanan süreyi istatistiksel olarak toplar. Bu ölçümler, kuyruktaki mesajların işleme hızını ve birikimini doğrudan yansıtır. Bu ölçümleri gözlemleyerek hizmet tüketiminizin anormal olup olmadığına dair ön değerlendirme yapabilirsiniz. Bu ölçümlerin kesin tanımları ve hesaplama formülleri aşağıdaki gibidir:
Kategori | Ölçüm | Açıklama | Formül |
Mesaj sayısı ölçümleri | işlemdeki mesajlar | Bir tüketici istemcisi tarafından işlenmekte ancak henüz onaylanmamış mesajlar. | En son çekilen mesajın ofseti - En son onaylanan mesajın ofseti |
hazır mesajlar | Message Queue for Apache RocketMQ 5,0 broker'ında hazır olan, görünür ve tüketim için kullanılabilir durumdaki mesajlar. Tüketici grubu için etiket filtreleme yapılandırılmışsa, hazır mesajlar yalnızca filtre koşullarıyla eşleşen mesajları içerir. | Maksimum mesaj ofseti - En son çekilen mesajın ofseti | |
tüketici gecikmesi | Tamamen işlenmemiş toplam mesaj sayısı. | İşlemdeki mesaj sayısı + Hazır mesaj sayısı | |
Mesaj gecikmesi ölçümleri | Hazır olma zamanı |
| Yok |
Hazır mesaj kuyruk süresi | Şu anki zaman ile en erken hazır mesajın hazır olma zamanı arasındaki zaman farkı. Bu süre, tüketicinin mesaj çekme işleminin zamanındalığını yansıtır. | Şu anki zaman - En erken hazır mesajın hazır olma zamanı | |
Tüketici gecikme süresi | Şu anki zaman ile onaylanmamış en eski mesajın hazır olma zamanı arasındaki zaman farkı. Bu süre, tüketicinin mesaj işleme işleminin zamanındalığını yansıtır. | Şu anki zaman - Onaylanmamış en eski mesajın hazır olma zamanı |
Tüketici gecikmesi azalmaya devam edip 0'a yaklaştığında ve tüketici gecikme süresi kısalıp 0'a yaklaştığında, tüketim hızı üretim hızını aşmış demektir ve birikim temizlenmektedir. Her iki ölçüm de 0'a yaklaştığında, tüketici grubu üretim hızına yetişmiş ve birikim normale dönmüştür.
Push consumer senaryoları
Push consumer, mesaj getirme, iş parçacığı ve yeniden deneme mantığını kapsüller. Başlatma sırasında bir mesaj dinleyicisi kaydedin; SDK geri kalanını halleder.

Prensip hakkında daha fazla bilgi için bkz. Push consumers.
Bir push consumer senaryosunda, yerel arabellek kuyruğunun durumunu aşağıdaki ölçümler belirler:
Yerel arabellek kuyruğundaki mesaj sayısı: Yerel arabellek kuyruğundaki toplam mesaj sayısı.
Yerel arabellek kuyruğundaki mesaj boyutu: Yerel arabellek kuyruğundaki tüm mesajların toplam boyutu.
Mesaj bekleme süresi: Mesajların yerel arabellek kuyruğunda geçici olarak depolandığı süre.
Ölçüm ayrıntıları
Mesaj TPS, API çağrı sayıları ve mesaj sayıları 4 KB'lık normal bir mesaja dayanır. Nihai değeri hesaplamak için bu tabanı, gerçek mesaj boyutu ve türüne karşılık gelen faktörlerle çarpın. Hesaplama kuralları hakkında daha fazla bilgi için bkz. How computing specifications work.
Aşağıdaki tabloda ölçümlerle ilgili alanlar açıklanmaktadır.
Alan | Değer |
Ölçüm türü |
|
Etiket |
|
Broker ölçümleri
Ölçüm türü | Ölçüm adı | Birim | Açıklama | Etiketler |
Gösterge | rocketmq_instance_requests_max | sayı/sn | Örnekte dakikada mesaj gönderme ve almanın maksimum TPS değeri. Bu ölçüm, kısıtlanan istekleri hariç tutar. Sistem, 1 dakikalık bir süre boyunca saniyede bir örnek toplar. 60 örnek arasından maksimum değer kullanılır. |
|
Gösterge | rocketmq_instance_requests_in_max | sayı/sn | Örnekte dakikada mesaj göndermenin maksimum TPS değeri. Bu ölçüm, kısıtlanan istekleri hariç tutar. Sistem, 1 dakikalık bir süre boyunca saniyede bir örnek toplar. 60 örnek arasından maksimum değer kullanılır. |
|
Gösterge | rocketmq_instance_requests_out_max | sayı/sn | Örnekte dakikada mesaj tüketmenin maksimum TPS değeri. Bu ölçüm, kısıtlanan istekleri hariç tutar. Sistem, 1 dakikalık bir süre boyunca saniyede bir örnek toplar. 60 örnek arasından maksimum değer kullanılır. |
|
Gösterge | rocketmq_topic_requests_max | sayı/sn | Örnekte bir konuya dakikada mesaj göndermenin maksimum TPS değeri. Bu ölçüm, kısıtlanan istekleri hariç tutar. Sistem, 1 dakikalık bir süre boyunca saniyede bir örnek toplar. 60 örnek arasından maksimum değer kullanılır. |
|
Gösterge | rocketmq_group_requests_max | sayı/sn | Örnekteki bir tüketici grubunda dakikada mesaj tüketmenin maksimum TPS değeri. Bu ölçüm, kısıtlanan istekleri hariç tutar. Sistem, 1 dakikalık bir süre boyunca saniyede bir örnek toplar. 60 örnek arasından maksimum değer kullanılır. |
|
Gösterge | rocketmq_instance_requests_in_threshold | sayı/sn | Örnekte mesaj gönderme için kısıtlama eşiği. |
|
Gösterge | rocketmq_instance_requests_out_threshold | sayı/sn | Örnekte mesaj tüketme için kısıtlama eşiği. |
|
Gösterge | rocketmq_throttled_requests_in | sayı | Mesaj gönderme için kısıtlanan isteklerin sayısı. |
|
Gösterge | rocketmq_throttled_requests_out | sayı | Mesaj tüketme için kısıtlanan isteklerin sayısı. |
|
Gösterge | rocketmq_instance_elastic_requests_max | sayı/sn | Örnekte mesaj gönderme ve almanın maksimum esnek TPS değeri. |
|
Sayaç | rocketmq_requests_in_total | sayı | Mesaj göndermeyle ilgili API çağrılarının sayısı. |
|
Sayaç | rocketmq_requests_out_total | sayı | Mesaj tüketmeyle ilgili API çağrılarının sayısı. |
|
Sayaç | rocketmq_messages_in_total | mesaj | Üreticilerden broker'a gönderilen mesajların sayısı. |
|
Sayaç | rocketmq_messages_out_total | mesaj | Broker'dan tüketicilere teslim edilen mesajların sayısı. Bu, işlenmekte olan, başarıyla işlenen veya işlenemeyen mesajları içerir. |
|
Sayaç | rocketmq_throughput_in_total | bayt | Üreticilerden broker'a olan mesaj aktarım hızı. |
|
Sayaç | rocketmq_throughput_out_total | bayt | Broker'dan tüketicilere olan mesaj aktarım hızı. Mesaj sayısı, işlenmekte olan, başarıyla işlenen veya işlenemeyen mesajları içerir. |
|
Sayaç | rocketmq_internet_throughput_out_total | bayt | Mesaj gönderme ve alma tarafından tüketilen giden genel ağ trafiği. |
|
Histogram | rocketmq_message_size | bayt | Başarılı gönderim üzerine kaydedilen mesaj boyutu dağılımı. Dağıtım grupları aşağıdaki gibidir:
|
|
Gösterge | rocketmq_consumer_ready_messages | mesaj | Hazır mesajların sayısı. Broker'da hazır olan ve tüketim için kullanılabilen mesajların sayısı. Bu ölçüm, tüketicilerin henüz çekmediği mesaj hacmini yansıtır. |
|
Gösterge | rocketmq_consumer_inflight_messages | mesaj | Tüketici istemcilerinin işlediği ancak henüz onaylanmamış mesajların sayısı. Tüketici istemcisinin işlediği ancak henüz bir tüketim sonucu döndürmediği toplam mesaj sayısı. |
|
Gösterge | rocketmq_consumer_queueing_latency | ms | Hazır mesajların kuyrukta beklemeye bağlı gecikmesi. Şu anki zaman ile en erken hazır mesajın hazır olma zamanı arasındaki zaman farkı. Bu ölçüm, tüketicilerin mesajları ne kadar zamanında çektiğini gösterir. |
|
Gösterge | rocketmq_consumer_lag_latency | ms | Tüketim işleme gecikmesi. Şu anki zaman ile tüketilmemiş en eski mesajın hazır olma zamanı arasındaki zaman farkı. Bu ölçüm, tüketicilerin mesajları ne kadar zamanında işlediğini gösterir. |
|
Sayaç | rocketmq_send_to_dlq_messages | mesaj | Dakikada ölü mektup kuyruğuna (DLQ) gönderilen mesajların sayısı. Bir mesaj, yapılandırılan maksimum yeniden teslim denemesinden daha fazla kez tüketimde başarısız olursa DLQ'ya gönderilir. Tüketici grubu için yapılandırılan ölü mektup ilkesine bağlı olarak, bu teslim edilemeyen mesajlar belirtilen bir konuya kaydedilir veya atılır. |
|
Gösterge | rocketmq_storage_size | bayt | Örneğin kullandığı depolama alanı miktarı; tüm dosyaların boyutunu içerir. |
|
Üretici ölçümleri
Ölçüm türü | Ölçüm adı | Birim | Açıklama | Etiketler |
Histogram | rocketmq_send_cost_time | ms | Başarılı mesaj gönderme API çağrılarının aldığı sürenin dağılımı. Dağıtım grupları aşağıdaki gibidir:
|
|
Tüketici ölçümleri
Ölçüm türü | Ölçüm adı | Birim | Açıklama | Etiket |
Histogram | rocketmq_process_time | ms | Bir push consumer'ın mesajları işlemesi için geçen sürenin dağılımı. Bu, başarılı ve başarısız işleme girişimlerini içerir.
Dağıtım aralıkları aşağıdaki gibidir:
|
|
Gösterge | rocketmq_consumer_cached_messages | mesaj | Bir push consumer'ın yerel önbellek kuyruğundaki mesajların sayısı. |
|
Gösterge | rocketmq_consumer_cached_bytes | bayt | Bir push consumer'ın yerel önbellek kuyruğundaki mesajların toplam boyutu. |
|
Histogram | rocketmq_await_time | ms | Bir push consumer'ın yerel önbellek kuyruğunda mesajların beklediği sürenin dağılımı.
Dağıtım aralıkları aşağıdaki gibidir:
|
|
Faturalandırma
ApsaraMQ for RocketMQ için pano ölçümleri, Alibaba Cloud Managed Service for Prometheus içindeki temel ölçümlerdir. Temel ölçümler için ücret alınmaz. Bu nedenle, pano özelliği de ücretsizdir.
Daha fazla bilgi için bkz. Metrics ve Pay-as-you-go.
Ön koşullar
-
Hizmete bağlı rol oluşturun
Rol adı: AliyunServiceRoleForOns
İlke adı: AliyunServiceRolePolicyForOns
İzinler: Message Queue for Apache RocketMQ hizmetinin, izleme, uyarı ve pano özelliklerini etkinleştirmek için Cloud Monitor ve Application Real-Time Monitoring Service (ARMS) gibi hizmetlerinizе erişmek üzere bu rolü kullanmasına olanak tanır.
Daha fazla bilgi için bkz. Service-linked roles.
Panoları görüntüleme
ApsaraMQ for RocketMQ aşağıdaki sayfalardan panoları görüntülemenize olanak tanır:
Dashboard sayfası: Bir örnekteki tüm konular ve gruplar için ölçümleri görüntüleyin.
Instance Details sayfası: Belirli bir örnek için üreticiye genel bakış, faturalandırma ölçümleri ve kısıtlama ölçümlerini gösterir.
Topic Details sayfası: Belirli bir konu için üretim ölçümlerini ve üretici istemci ölçümlerini gösterir.
Group Details sayfası: Belirli bir grup için mesaj birikimi ölçümlerini ve tüketici istemci ölçümlerini gösterir.
ApsaraMQ for RocketMQ konsolunda oturum açın. Sol gezinme bölmesinde Instances seçeneğine tıklayın.
Üst gezinme çubuğunda China (Hangzhou) gibi bir bölge seçin. Instances sayfasında yönetmek istediğiniz örneğin adına tıklayın.
-
Panoyu aşağıdaki yollardan biriyle görüntüleyin.
Instance Details sayfası: Instance Details sayfasında Dashboard sekmesine tıklayın.
Dashboard sayfası: Soldaki gezinme bölmesinde Overview seçeneğine tıklayın.
Topic Details sayfası: Soldaki gezinme bölmesinde Topics seçeneğine tıklayın. Konu listesinde hedef konunun adına tıklayın. Ardından, Topic Details sayfasında Dashboard sekmesine tıklayın.
Group Details sayfası: Soldaki gezinme bölmesinde Groups seçeneğine tıklayın. Grup listesinde hedef grubun adına tıklayın. Ardından, Group Details sayfasında Dashboard sekmesine tıklayın.
Pano SSS
Pano ölçüm verilerini nasıl elde ederim?
Ana hesabınızı kullanarak ARMS konsolunda oturum açın.
Soldaki gezinme bölmesinde Integration Center seçeneğine tıklayın.
Integration Center sayfasında, arama kutusuna
RocketMQgirin ve arama simgesine tıklayın.Arama sonuçlarında entegre edilecek bulut hizmetini seçin, örneğin Alibaba Cloud RocketMQ (5.0) Service. Daha fazla bilgi için bkz. Step 1: Integrate cloud service monitoring data.
Entegrasyon başarılı olduktan sonra, soldaki gezinme bölmesinde Integration Management seçeneğine tıklayın.
Integration Management sayfasında Cloud Service Region Environment sekmesine tıklayın.
Cloud Service Region Environment listesinde, bulut hizmeti ortamı ayrıntıları sayfasına gitmek için hedef ortamın adına tıklayın.
Component Management sekmesinde, Basic Information bölümünde Prometheus Instance öğesinden sonraki bulut hizmeti bölgesine tıklayın.
Settings sekmesinde farklı veri erişim yöntemlerini elde edebilirsiniz.
Pano ölçüm verilerini kendi yönettiğim bir Grafana örneğine nasıl entegre ederim?
ApsaraMQ for RocketMQ için tüm ölçüm verileri Managed Service for Prometheus örneğinize kaydedilir. Bulut hizmetini entegre etmek ve ortam adını ve HTTP API adresini almak için Pano ölçüm verilerini nasıl elde ederim? bölümündeki adımları izleyin. Ardından, ApsaraMQ for RocketMQ için pano ölçüm verilerini kendi yönettiğiniz Grafana örneğine entegre etmek üzere API'yi kullanabilirsiniz. Daha fazla bilgi için bkz. Use an HTTP API address to connect Grafana or a self-managed application to Prometheus for data access.
Bir örnek için maksimum TPS değeri ne anlama gelir?
Maksimum TPS: Değer, saniyede bir örnek alınarak 1 dakikalık bir süre boyunca hesaplanır. Sonuç, bu 60 örnek arasından alınan maksimum değerdir.
Örneğin:
Bir örneğin 1 dakikada 60 mesaj ürettiğini varsayalım (tümü normal mesajlardır ve her biri 4 KB boyutundadır). Örneğin üretim hızı dakikada 60 mesajdır.
-
Tüm 60 mesaj ilk saniyede gönderilirse, örneğin o dakika boyunca saniye başına TPS değerleri 60, 0, 0, ..., 0 olur.
Maksimum örnek TPS = 60 TPS.
-
40 mesaj ilk saniyede ve 20 mesaj ikinci saniyede gönderilirse, örneğin o dakika boyunca saniye başına TPS değerleri 40, 20, 0, 0, ..., 0 olur.
Maksimum örnek TPS = 40 TPS.
Neden üretim hızı tüketici gecikmesinden çok daha yüksektir?
Üretim hızı konu düzeyinde hesaplanır ve etiketten bağımsız olarak tüm mesajları sayar. Tüketici gecikmesi ise tüketici grubu düzeyinde hesaplanır ve etiket filtrelemeden etkilenir: yalnızca tüketici grubunun filtre koşullarıyla eşleşen mesajlar sayılır. Bir konudaki mesajların çoğu tüketici grubunun etiket filtreleme koşullarıyla eşleşmezse, tüketici gecikmesi üretim hızından çok daha düşük olabilir.
Grup ayrıntıları sayfası panosundaki konu açılır listesi neden yalnızca bazı konuları veya yalnızca None değerini gösteriyor?
Group Details sayfası panosundaki konu açılır listesi, yakın zamanda mesaj gönderen konuları yalnızca gösterir. Bir konu yakın zamanda herhangi bir mesaj göndermemişse, oluşturulduktan sonra bile listede görünmez. Başka bir abone olunan konunun ölçümlerini görüntülemek için, açılır listede konu adını manuel olarak girin ve Enter tuşuna basın.