Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi
Apigee X. info
Gejala
Data Analytics tidak ada di UI Edge karena server Qpidd tidak mentransfer pesan Analytics ke PostgreSQL. Di Edge, komponen edge-qpid-server sesuai dengan server Qpidd.
Qpidd mempertahankan dua antrean untuk setiap grup analisis:
ax-q-axgroup001-consumer-group-001
Antrean ini menyimpan pesan analisis yang dikirim dari Pemroses Pesan dan Router. Pesan ditarik dari sini oleh
edge-qpid-serveryang mengurai pesan dan memasukkannya ke PostgreSQL. Setelah berhasil diproses, pesan akan dihapus dari antrean.ax-q-axgroup001-consumer-group-001-dl
Antrean ini adalah antrean pesan yang tidak terkirim. Tindakan ini berfungsi sebagai tujuan untuk pesan yang
edge-qpid-servergagal diproses dan dengan demikian tidak ingin lagi menerima pesan. Kolom ini biasanya diisi saat jumlah pengiriman maksimum terlampaui, atau jika PostgreSQL menolak penyisipan data baru karena error runtime.
Pesan Error
Penyebab utamanya bisa jadi karena berbagai error runtime dari komponen edge-qpid-server. Biasanya, jika edge-qpid-server menerima error runtime dari PostgreSQL, akan membuat antrean pesan yang tidak terkirim jika belum ada, lalu mengirim pesan berikut ke sana:
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.
Kemungkinan Penyebab
| Penyebab | Deskripsi | Petunjuk Pemecahan Masalah yang Berlaku Untuk |
|---|---|---|
| Pesan yang macet di antrean pesan yang dihentikan pengirimannya qpidd | edge-qpid-server tidak dapat memahami pesan yang dibacanya dari broker Qpidd atau tidak dapat menyimpan pesan ke PostgreSQL.
|
Pengguna Edge Private Cloud |
Langkah-Langkah Diagnosis Umum
Jalankan perintah berikut untuk melihat statistik antrean Qpidd:
qpid-stat -q
Output menampilkan kumpulan antrean yang terdaftar di broker. Jika antrean dengan nama yang diakhiri dengan "-dl" berisi pesan, berarti ada pesan yang macet di antrean pesan yang dihentikan pengirimannya.
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
Penyebab: Pesan macet di antrean pesan yang tidak terkirim qpidd
Diagnosis
Kondisi ini dapat terjadi dalam skenario berikut:
- Upgrade telah dilakukan pada masa lalu, dan selama waktu tersebut PostgreSQL tidak berfungsi.
- Penonaktifan sementara PostgreSQL karena masalah jaringan.
edge-qpid-servermencoba mengirim pesan ke PostgreSQL, tetapi PostgreSQL menampilkan error runtime.
Resolusi
Catat nama antrean dari Langkah-Langkah Diagnostik Umum. Contoh:
ax-q-axgroup-001-consumer-group-001ax-q-axgroup-001-consumer-group-001-dl
Jalankan perintah
qpid-tooluntuk memasukkan perintahqpidinteraktif:qpid-tool
Perintah ini akan menampilkan hal berikut:
Management Tool for QPID qpid:
Jalankan
list brokeruntuk mendapatkan daftar broker aktif:list broker
Perintah ini akan menampilkan hal berikut:
Object Summary: ID Created Destroyed Index ======================================= 125 21:00:00 - amqp-broker
Dengan kolom
IDmenentukan ID broker.Catat ID broker. Dalam contoh ini, nilainya adalah 125.
Jalankan perintah berikut untuk memindahkan pesan dari antrean pesan yang tidak terkirim kembali ke antrean sebenarnya:
call 125 queueMoveMessages ax-q-axgroup-001-consumer-group-001-dl ax-q-axgroup-001-consumer-group-001 100000 {}Perintah ini akan menampilkan hal berikut:
OK (0) - {}Jika tidak ada output, berarti tidak ada yang perlu dilakukan, yang berarti tidak ada pesan yang perlu dipindahkan. Jika Anda tidak melihat
OK(0), Anda harus menghubungi Dukungan Apigee Edge.Keluar dari terminal qpid-tool.
quit
Tunggu 5 menit, lalu jalankan langkah-langkah diagnosis lagi dari Langkah-Langkah Diagnosis Umum. Pastikan pesan dalam antrean sebenarnya sedang diproses dan pastikan jumlah pesan yang tidak terkirim tetap 0.
Jika masalah masih berlanjut, buka bagian berikutnya.
Mengumpulkan Informasi Diagnostik yang Wajib
Jika masalah berlanjut bahkan setelah mengikuti petunjuk di atas, kumpulkan informasi diagnostik berikut. Hubungi dan bagikan kepada Dukungan Apigee Edge:
- Log Qpidd:
/opt/apigee/var/log/apigee-qpidd/apigee-qpidd.log - Log Postgresql:
/opt/apigee/var/log/apigee-postgresql/apigee-postgresql.log - Log edge-qpid-server:
/opt/apigee/var/log/edge-qpid-server/logs/system.log - Log edge-postgres-server:
/opt/apigee/var/log/edge-postgres-server/logs/system.log Statistik antrean Qpidd:
qpid-stat -q
Grup Analytics yang ditampilkan oleh perintah curl berikut:
curl -u sysadminEmail:password http://mgmt:8080/v1/analytics/groups/ax