Dağıtık bir sistemde tek bir istek tamamlanmadan önce onlarca hizmetten geçebilir. Bir mesaj takıldığında, bir tüketici zaman aşımına uğradığında veya gecikme süresi aniden arttığında, üretici-aracı-tüketici zinciri boyunca kök nedeni belirlemek için mesaj akışının görünür olması gerekir.
ApsaraMQ for RocketMQ, mesajlaşma için OpenTelemetry anlamsal kurallarını takip eden izleme verileri oluşturur. Bu verileri Simple Log Service veya Application Real-Time Monitoring Service (ARMS) hizmetine aktararak mesaj teslimatını izleyebilir, uçtan uca gecikme süresini ölçebilir ve hataları teşhis edebilirsiniz.
Sınırlamalar
İzlemeyi yapılandırmadan önce aşağıdaki kısıtlamaları gözden geçirin:
Yalnızca Java SDK: İzleme verilerini yalnızca Java SDK kullanan istemciler raporlayabilir. Sürüm ayrıntıları için bkz. Sürüm notları.
İşlemsel mesajlar: İşlemsel mesajlar için yalnızca üretimle ilgili veriler izlenir.
Yalnızca push tüketiciler: Yalnızca push tüketiciler tarafından tüketilen mesajlar izleme verisi oluşturur. Bkz. Tüketici türleri.
İzleme verilerini dışa aktarma
ApsaraMQ for RocketMQ, OpenTelemetry uyumlu izleme verilerini bir izleme analizi sunucusuna aktarır. Bir Alibaba Cloud yönetilen hizmeti kullanabilir veya kendi arka ucunuzu oluşturabilirsiniz.
Simple Log Service
Simple Log Service; mesaj gönderme gecikmesini, gönderme başarı oranını, tüketim başarı oranını ve uçtan uca gecikme süresini izlemek için panolar sağlar. Mesaj ID veya trace ID kullanarak tek tek isteklere inebilirsiniz.
-
Demo panoları:
İzleme ölçümleri panosu -- Mesaj gönderme gecikmesini, başarı oranlarını ve uçtan uca gecikme süresini görüntüleyin.
Analiz panosu -- Mesaj ID veya trace ID kullanarak belirli istekleri inceleyin.
Simple Log Service hakkında daha fazla bilgi için bkz. Kullanım notları.
ARMS
Application Real-Time Monitoring Service (ARMS), Tracing Analysis bileşeni aracılığıyla dağıtılmış izleme olanağı sunar.
ARMS Tracing Analysis hakkında daha fazla bilgi için bkz. Tracing Analysis nedir?
İzlemenin çalışma şekli
ApsaraMQ for RocketMQ, bir mesajın yaşam döngüsündeki her aşamayı bir span olarak kaydeder. Her span; zamanlama verilerini, mesaj meta verilerini ve işlem türünü yakalar.
Span türleri
Üç span türü mesaj yaşam döngüsünü yakalar:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Receive span'lerini etkinleştirme
Receive span'leri varsayılan olarak devre dışıdır. Bunları etkinleştirmek için aşağıdaki JVM parametresini ekleyin:
-Dotel.instrumentation.messaging.experimental.receive-telemetry.enabled=true
Span ilişkileri
Span'ler arasındaki ilişki, receive span'lerinin etkin olup olmadığına bağlıdır:
Receive span'leri devre dışı (varsayılan): Process span'i, send span'inin doğrudan alt öğesidir.
Receive span'leri etkin: Process span'i, receive span'inin alt öğesidir ve send span'ine bağlıdır.

Mesajlaşma nitelikleri
Her span, mesajlaşma span'leri için OpenTelemetry anlamsal kuralları tarafından tanımlanan nitelikleri içerir.
Standart nitelikler
messaging.message.id: Mesaj için benzersiz tanımlayıcı.
messaging.destination: Mesajın teslim edildiği konu veya kuyruk.
messaging.operation: İşlem türü: send, receive veya acknowledge.
RocketMQ'ya özel nitelikler
ApsaraMQ for RocketMQ aşağıdaki nitelikleri ekler. Tam liste için bkz. Apache RocketMQ nitelikleri.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|