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

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

Belirti

Qpidd sunucusunun analiz mesajlarını PostgreSQL'e aktarmaması nedeniyle, Edge kullanıcı arayüzünde analiz verileri eksiktir. Edge'de edge-qpid-server bileşeni, Qpidd sunucusuna karşılık gelir.

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

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

    Bu sıra, Mesaj İşlemciler ve Yönlendiricilerden aktarılan analiz mesajlarını içerir. Mesajlar buradan edge-qpid-server tarafından alınır. Bu araç, mesajları ayrıştırıp PostgreSQL'e ekler. İ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 sıradadır. Bu hedef, edge-qpid-server ürününün işleyemediği ve bu nedenle artık almak istemediği iletiler için hedef görevi görür. Bu alan, genellikle maksimum yayınlanma sayısı aşıldığında veya PostgreSQL, çalışma zamanı hataları nedeniyle yeni veri eklemeyi reddettiğinde doldurulur.

Hata Mesajı

Temel neden edge-qpid-server bileşenindeki çeşitli çalışma zamanı hatalarından kaynaklanıyor olabilir. edge-qpid-server PostgreSQL'den bir çalışma zamanı hatası alırsa genellikle, zaten mevcut değilse geçersiz harf sırası oluşturur ve 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 Şunun İçin Geçerli Sorun Giderme Talimatları:
İletiler qpidd'in geçersiz harf sırasında takıldı edge-qpid-server, Qpidd aracısından okuduğu iletileri anlayamadı veya PostgreSQL'e gönderilen iletileri sürdüremedi. Edge Özel Bulut 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ış, aracıda kayıtlı sıra grubunu döndürür. Adı "-dl" ile biten sıradaki iletiler doldurulmuşsa geçersiz iletiler var demektir.

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'in geçersiz harf sırasında takıldı

Teşhis

Bu durum aşağıdaki senaryolarda ortaya çıkabilir:

  1. Geçmişte PostgreSQL çökmüş olan bir yeni sürüme geçme işlemi yapılmıştı.
  2. Ağ sorunları nedeniyle PostgreSQL'in geçici olarak kesintiye uğraması.
  3. edge-qpid-server, PostgreSQL'e mesaj göndermeye çalıştı ancak PostgreSQL bir çalışma zamanı hatası döndürdü.

Çözünürlük

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

    • ax-q-axgroup-001-consumer-group-001
    • ax-q-axgroup-001-consumer-group-001-dl
  2. qpid-tool komutunu çalıştırarak etkileşimli bir qpidistem girin:

    qpid-tool

    Bu comamnd şunu 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 comamnd şunu döndürür:

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

    Burada ID sütunu, aracının kimliğini belirtir.

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

  5. İletileri geçersiz kuyruğundan asıl sıraya geri 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 comamnd şunu döndürür:

    OK (0) - {}

    Sonuç olmadığında, taşınacak ileti olmadığı için bir şey yapılması gerekmezdi. OK(0) kodunu görmüyorsanız Apigee Edge Destek Ekibi ile iletişime geçmeniz gerekir.

  6. Qpid aracı terminalinden çıkın.

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

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

Teşhis Bilgileri Toplanmalı

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çin ve bu bilgileri 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
  • Edge-postgres-server 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