بيانات "إحصاءات Google" عالقة في قائمة انتظار الأحرف المفقودة في Qbidd

أنت تعرض مستندات Apigee Edge.
انتقل إلى مستندات Apigee X.
معلومات

المشكلة

لا تتوفّر بيانات "إحصاءات Google" في واجهة مستخدم Edge لأنّ خادم Qpidd لا ينقل رسائل الإحصاءات إلى PostgreSQL. في Edge، يتجاوب المكوِّن edge-qpid-server مع خادم Qpidd.

يحتفظ Qpidd بقائمتي انتظار لكل مجموعة إحصاءات:

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

    تحتوي قائمة الانتظار هذه على رسائل الإحصاءات المرسلة من معالِجات معالجة الرسائل وأجهزة التوجيه. يتم سحب الرسائل من هنا بواسطة edge-qpid-server الذي يحلّل الرسائل ويدرجها في PostgreSQL. بعد معالجة الرسائل بنجاح، تتم إزالتها من قائمة الانتظار.

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

    هذه القائمة هي قائمة انتظار الأحرف الميتة. يعمل كوجهة للرسائل التي تعذّر على "edge-qpid-server" معالجتها وبالتالي لم يعُد يريد تلقّيها. تتم تعبئة هذا الحقل عادةً عند تجاوز الحد الأقصى لعدد عمليات التسليم، أو إذا رفض PostgreSQL إدراج البيانات الجديدة بسبب أخطاء في وقت التشغيل.

رسالة الخطأ

قد يرجع السبب الأساسي إلى أخطاء مختلفة في وقت التشغيل من المكوِّن edge-qpid-server. إذا تلقّى edge-qpid-server خطأ في وقت التشغيل من PostgreSQL عادةً، يتم إنشاء قائمة انتظار الأحرف المتوقّفة إذا لم يكن متوفّرًا، ثم يرسل الرسالة التالية هناك:

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.

الأسباب المحتملة

السبب الوصف تعليمات استكشاف الأخطاء وإصلاحها التي تنطبق على
رسائل عالقة في قائمة انتظار حروف qpidd الفائتة تعذّر على edge-qpid-server فهم الرسائل التي يقرأها من وسيط Qpidd أو تعذَّر عليه الاحتفاظ بالرسائل إلى PostgreSQL. مستخدمو Edge Private Cloud

خطوات التشخيص الشائعة

شغّل الأمر التالي لعرض إحصاءات قائمة انتظار Qpidd:

qpid-stat -q

وترجع الإخراج مجموعة الانتظار المسجلة لدى الوسيط. إذا كانت قائمة الانتظار التي ينتهي اسمها بـ "-dl" تحتوي على رسائل ممتلئة، تكون هناك رسائل عالقة في قائمة انتظار الأحرف المعطلة.

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

السبب: الرسائل عالقة في قائمة انتظار أحرف لامعة في qpidd

التشخيص

يمكن أن يحدث هذا الشرط في ظل السيناريوهات التالية:

  1. تمت عملية ترقية في الماضي، وخلال هذه الفترة تعطل PostgreSQL.
  2. انقطاع مؤقت في PostgreSQL بسبب مشاكل في الشبكة
  3. حاولَت "edge-qpid-server" إرسال رسالة إلى PostgreSQL، إلا أنّ PostgreSQL عرَضَ خطأ في وقت التشغيل.

الدقة

  1. دوِّن أسماء قوائم الانتظار من خطوات التشخيص الشائعة. على سبيل المثال:

    • ax-q-axgroup-001-consumer-group-001
    • ax-q-axgroup-001-consumer-group-001-dl
  2. شغِّل الأمر qpid-tool لإدخال طلب qpidتفاعلي:

    qpid-tool

    يعرض هذا الطلب ما يلي:

    Management Tool for QPID
    qpid:
  3. شغِّل list broker للحصول على قائمة بالوسطاء النشطين:

    list broker

    يعرض هذا الطلب ما يلي:

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

    يحدّد العمود ID رقم تعريف الوسيط.

  4. دوِّن رقم تعريف الوسيط. في المثال، هي 125.

  5. شغّل الأمر التالي لنقل الرسائل من قائمة انتظار الأحرف المعطلة إلى قائمة الانتظار الفعلية:

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

    يعرض هذا الطلب ما يلي:

    OK (0) - {}

    إذا لم يتم العثور على نتائج، هذا يعني أنّه لا يوجد شيء يمكن نقله، أي عدم نقل أي رسائل. إذا لم يظهر لك OK(0)، يجب التواصل مع Apigee Edge Support.

  6. أغلِق الوحدة الطرفية qpid-tool.

    quit
  7. انتظِر لمدة 5 دقائق، ثم نفِّذ خطوات التشخيص مرة أخرى من خطوات التشخيص الشائعة. تحقق من أن الرسائل الموجودة في قائمة الانتظار الفعلية تتم معالجتها وتأكد من بقاء عدد رسائل الأحرف المعطلة عند 0.

إذا استمرت المشكلة، انتقِل إلى القسم التالي.

يجب جمع معلومات التشخيص

في حال استمرار المشكلة حتى بعد اتباع التعليمات أعلاه، يُرجى جمع معلومات التشخيص التالية. يمكنك التواصل مع فريق Apigee Edge Support ومشاركة المحتوى معهم:

  • سجلّات Qpidd: /opt/apigee/var/log/apigee-qpidd/apigee-qpidd.log
  • سجلّات Postgresql: /opt/apigee/var/log/apigee-postgresql/apigee-postgresql.log
  • سجلات خادم Edge-qpid: /opt/apigee/var/log/edge-qpid-server/logs/system.log
  • سجلات Edge-postgres-server:/opt/apigee/var/log/edge-postgres-server/logs/system.log
  • إحصاءات قائمة انتظار Qpidd:

    qpid-stat -q
  • يتم عرض مجموعة "إحصاءات Google" باستخدام أمر curl التالي:

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