Analytics verileri Qpidd geçersiz harf sırasında takılı kaldı

Apigee Edge belgelerini görüntülüyorsunuz.
. Git: Apigee X belgeleri.
bilgi

Belirti

Qpidd sunucusu analiz mesajlarını PostgreSQL'e aktarmadığı için Edge kullanıcı arayüzünde analiz verileri eksik. Edge'de edge-qpid-server bileşeni, Qpidd sunucusuna karşılık gelir.

Qpidd, her analiz grubu için iki sıra tutar:

  • ax-q-axgroup001-consumer-group-001

    Bu sırada, İleti İşlemcileri ve Yönlendiricilerden gönderilen analiz mesajları tutulur. Mesajlar, mesajları ayrıştırıp PostgreSQL'e ekleyen edge-qpid-server tarafından buradan alınır. İletiler başarıyla işlendikten sonra sıradan kaldırılır.

  • ax-q-axgroup001-consumer-group-001-dl

    Bu sıra, geçersiz bir sıradır. edge-qpid-server tarafından işleyemediği için artık almak istemediği iletiler için hedef işlevi görür. Bu alan genellikle maksimum yayınlama sayısı aşıldığında veya PostgreSQL, çalışma zamanı hataları nedeniyle yeni verilerin eklenmesini reddettiyse doldurulur.

Hata Mesajı

Temel neden, edge-qpid-server bileşenindeki çeşitli çalışma zamanı hataları olabilir. edge-qpid-server, genellikle PostgreSQL'den bir çalışma zamanı hatası alırsa halihazırda yoksa geçersiz kuyruğu oluşturur ve ardından aşağıdaki mesajı oraya gönderir:

yyyy-MM-dd HH:mm:ss,SSS ax-q-axgroup001-consumer-group-001-persistpool-thread-6 WARN c.a.a.m.MessageConsumer - MessageConsumer.process() : Sending message batch to the DLQ.

Olası Nedenler

Neden Açıklama Şunlar için Geçerli Sorun Giderme Talimatları:
Qpidd'nin geçersiz kuyruğunda takılan iletiler edge-qpid-server, Qpidd aracısından okuduğu mesajları anlayamadı veya PostgreSQL'e mesaj gönderemedi. Edge Private Cloud Kullanıcıları

Genel Teşhis Adımları

Qpidd sırası istatistiklerini görüntülemek için aşağıdaki komutu çalıştırın:

qpid-stat -q

Çıkış, acentede kayıtlı sıra grubunu döndürür. Adı "-dl" ile biten sıra varsa iletileriniz doldurulmuşsa, geçersiz iletiler sırasına takılı kalan iletiler vardır.

Queues
  queue                                     dur  autoDel  excl  msg   msgIn  msgOut  bytes  bytesIn  bytesOut   cons  bind
  ========================================================================================================================
  ax-q-axgroup-001-consumer-group-001       Y                   0     185    185     0       13.8m   13.8m      6      2
  ax-q-axgroup-001-consumer-group-001-dl    Y                   0     70     70      0        3.9m    3.9m      0      2

Neden: İletiler qpidd'nin geçersiz harf sırasında takılı kaldı

Teşhis

Bu durum aşağıdaki senaryolarda gerçekleşebilir:

  1. Geçmişte, PostgreSQL'in çalışmadığı bir yükseltme işlemi yapılmıştı.
  2. Ağ sorunları nedeniyle geçici bir PostgreSQL kesintisi.
  3. edge-qpid-server, PostgreSQL'e mesaj göndermeyi denedi ancak PostgreSQL, çalışma zamanı hatası döndürdü.

Çözünürlük

  1. Ortak Teşhis Adımları'ndaki sıraların adlarını not edin. Örneğin:

    • ax-q-axgroup-001-consumer-group-001
    • ax-q-axgroup-001-consumer-group-001-dl
  2. Etkileşimli bir qpidistem girmek için qpid-tool komutunu çalıştırın:

    qpid-tool

    Bu komut aşağıdakini döndürür:

    Management Tool for QPID
    qpid:
  3. Etkin aracıların listesini almak için list broker komutunu çalıştırın:

    list broker

    Bu komut aşağıdakini döndürür:

    Object Summary:
    ID   Created   Destroyed  Index
    =======================================
    125  21:00:00  -          amqp-broker

    Burada ID sütunu acentenin kimliğini belirtir.

  4. Aracının kimliğini not edin. Örnekte 125'tir.

  5. İletileri geçersiz iletiler sırasından asıl sıraya taşımak için aşağıdaki komutu çalıştırın:

    call 125 queueMoveMessages ax-q-axgroup-001-consumer-group-001-dl ax-q-axgroup-001-consumer-group-001 100000 {}

    Bu komut aşağıdakini döndürür:

    OK (0) - {}

    Çıkış yoksa, yapılacak bir şey de yoktur, yani taşınacak bir mesaj yoktu. OK(0) seçeneğini görmüyorsanız Apigee Edge Destek Ekibi ile iletişime geçmeniz gerekir.

  6. qpid-tool terminalinden çıkın.

    quit
  7. 5 dakika bekleyip Ortak Teşhis Adımları'ndaki teşhis adımlarını tekrar çalıştırın. Asıl sıradaki iletilerin işlendiğini doğrulayın ve geçersiz ileti sayısının 0'da kaldığından emin olun.

Sorun devam ederse bir sonraki bölüme geçin.

Teşhis Bilgileri Toplanmalıdır

Yukarıdaki talimatları uygulamanıza rağmen sorun devam ederse lütfen aşağıdaki teşhis bilgilerini toplayın. Apigee Edge Destek Ekibi ile iletişime geçip paylaşın:

  • Qpidd günlükleri: /opt/apigee/var/log/apigee-qpidd/apigee-qpidd.log
  • Postgresql günlükleri: /opt/apigee/var/log/apigee-postgresql/apigee-postgresql.log
  • Edge-qpid-server günlükleri: /opt/apigee/var/log/edge-qpid-server/logs/system.log
  • Uç-postgres-sunucu günlükleri:/opt/apigee/var/log/edge-postgres-server/logs/system.log
  • Qpidd sırası istatistikleri:

    qpid-stat -q
  • Aşağıdaki curl komutu tarafından döndürülen Analytics grubu:

    curl -u sysadminEmail:password http://mgmt:8080/v1/analytics/groups/ax