คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X ข้อมูล
ลักษณะปัญหา
ไม่มีข้อมูล Analytics ใน Edge UI เนื่องจากเซิร์ฟเวอร์ Qpidd ไม่ได้โอนข้อความ Analytics ไปยัง PostgreSQL ใน Edge คอมโพเนนต์ edge-qpid-server
จะสอดคล้องกับเซิร์ฟเวอร์ Qpidd
Qpidd จะดูแลคิว 2 คิวสำหรับกลุ่มการวิเคราะห์แต่ละกลุ่ม ได้แก่
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
การวินิจฉัย
เงื่อนไขนี้อาจเกิดขึ้นภายใต้สถานการณ์ต่อไปนี้
- การอัปเกรดเกิดขึ้นในอดีต ซึ่งในช่วงเวลาที่ 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
quit
รอ 5 นาที จากนั้นเรียกใช้ขั้นตอนการวิเคราะห์อีกครั้งจากขั้นตอนการวินิจฉัยทั่วไป ตรวจสอบว่าระบบกำลังประมวลผลข้อความในคิวจริง และตรวจสอบว่าจำนวนจดหมายที่ส่งไม่ได้ยังคงเป็น 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-server:
/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
กลุ่ม Analytics ที่แสดงโดยคําสั่ง curl ต่อไปนี้
curl -u sysadminEmail:password http://mgmt:8080/v1/analytics/groups/ax