شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید . اطلاعات
علامت
به دلیل عدم انتقال پیامهای تحلیلی توسط سرور Qpidd به PostgreSQL، دادههای Analytics در رابط کاربری Edge وجود ندارد. در 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 |
مراحل تشخیص رایج
برای مشاهده آمار صف 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 گیر کردهاند
تشخیص
این شرایط می تواند تحت سناریوهای زیر رخ دهد:
- یک ارتقا در گذشته انجام شده بود که در این مدت PostgreSQL از کار افتاده بود.
- قطع موقت PostgreSQL به دلیل مشکلات شبکه.
-
edge-qpid-server
سعی کرد پیامی به PostgreSQL ارسال کند اما PostgreSQL یک خطای زمان اجرا را برگرداند.
قطعنامه
نام صف ها را از مراحل تشخیص رایج یادداشت کنید. به عنوان مثال:
-
ax-q-axgroup-001-consumer-group-001
-
ax-q-axgroup-001-consumer-group-001-dl
-
دستور
qpid-tool
را اجرا کنید تا یک فرمان تعاملیqpid
وارد کنید:qpid-tool
این دستور موارد زیر را برمی گرداند:
Management Tool for QPID qpid:
برای به دست آوردن لیستی از کارگزاران فعال
list broker
اجرا کنید:list broker
این دستور موارد زیر را برمی گرداند:
Object Summary: ID Created Destroyed Index ======================================= 125 21:00:00 - amqp-broker
جایی که ستون
ID
شناسه کارگزار را مشخص می کند.به شناسه کارگزار توجه کنید. در مثال 125 است.
دستور زیر را اجرا کنید تا پیام ها از صف حرف مرده به صف واقعی برگردند:
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 تماس بگیرید.از ترمینال qpid-tool خارج شوید.
quit
5 دقیقه صبر کنید و سپس مراحل تشخیص را از Common Diagnosis Steps دوباره اجرا کنید. بررسی کنید که پیامهای موجود در صف واقعی پردازش میشوند و مطمئن شوید که تعداد پیامهای حروف مرده روی 0 باقی میماند.
اگر مشکل همچنان ادامه داشت، به بخش بعدی بروید.
باید اطلاعات تشخیصی را جمع آوری کرد
اگر حتی پس از پیروی از دستورالعملهای بالا، مشکل همچنان ادامه داشت، لطفاً اطلاعات تشخیصی زیر را جمعآوری کنید. تماس بگیرید و با پشتیبانی Apigee Edge به اشتراک بگذارید:
- گزارشهای 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:
/opt/apigee/var/log/edge-postgres-server/logs/system.log
آمار صف Qpidd:
qpid-stat -q
گروه Analytics با دستور curl زیر برگردانده می شود:
curl -u sysadminEmail:password http://mgmt:8080/v1/analytics/groups/ax