Anda sedang melihat dokumentasi Apigee Edge.
Buka
dokumentasi Apigee X. info
Gejala
Data analisis tidak ada di UI Edge karena server Qpidd tidak mentransfer pesan analisis 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 didorong dari Prosesor dan Router Pesan. Pesan diambil dari sini oleh
edge-qpid-server
yang mengurai pesan dan menyisipkannya ke PostgreSQL. Setelah pesan berhasil diproses, pesan akan dihapus dari antrean.ax-q-axgroup001-consumer-group-001-dl
Antrean ini adalah antrean yang sudah mati. ID ini berfungsi sebagai tujuan untuk pesan yang gagal diproses oleh
edge-qpid-server
, sehingga tidak ingin diterima lagi. Kolom ini biasanya diisi saat jumlah pengiriman maksimum terlampaui, atau jika PostgreSQL menolak penyisipan data baru karena error runtime.
Pesan Error
Penyebab utamanya dapat disebabkan oleh berbagai error runtime dari komponen edge-qpid-server
. Biasanya jika edge-qpid-server
menerima error runtime dari PostgreSQL, kode ini akan membuat antrean huruf mati jika belum ada, lalu mengirimkan pesan berikut di 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 Berlaku Untuk |
---|---|---|
Pesan macet dalam antrean surat qpidd yang sudah tidak berlaku | edge-qpid-server tidak dapat memahami pesan yang dibaca dari broker Qpidd atau tidak dapat mempertahankan pesan ke PostgreSQL.
|
Pengguna Edge Private Cloud |
Langkah Diagnosis Umum
Jalankan perintah berikut untuk melihat statistik antrean Qpidd:
qpid-stat -q
Output-nya akan menampilkan kumpulan antrean yang terdaftar di pialang. Jika antrean dengan nama yang diakhiri dengan "-dl" memiliki pesan yang terisi, maka ada pesan yang tertahan di antrean yang mati tersebut.
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 dalam antrean huruf qpidd yang mati
Diagnosis
Kondisi ini dapat terjadi dalam skenario berikut:
- Upgrade pernah dilakukan, dan selama periode tersebut PostgreSQL tidak berfungsi.
- Gangguan sementara PostgreSQL karena masalah jaringan.
edge-qpid-server
mencoba mengirim pesan ke PostgreSQL, tetapi PostgreSQL menampilkan error runtime.
Resolusi
Catat nama antrean dari Langkah-Langkah Diagnosis Umum. Contoh:
ax-q-axgroup-001-consumer-group-001
ax-q-axgroup-001-consumer-group-001-dl
Jalankan perintah
qpid-tool
untuk memasukkan dialogqpid
interaktif:qpid-tool
Perintah ini menampilkan hal berikut:
Management Tool for QPID qpid:
Jalankan
list broker
untuk mendapatkan daftar broker aktif:list broker
Perintah ini menampilkan hal berikut:
Object Summary: ID Created Destroyed Index ======================================= 125 21:00:00 - amqp-broker
Kolom
ID
menentukan ID broker.Catat ID broker. Dalam contoh ini adalah 125.
Jalankan perintah berikut untuk memindahkan pesan dari antrean surat yang mati kembali ke antrean yang sebenarnya:
call 125 queueMoveMessages ax-q-axgroup-001-consumer-group-001-dl ax-q-axgroup-001-consumer-group-001 100000 {}
Perintah ini menampilkan hal berikut:
OK (0) - {}
Jika tidak ada output, berarti tidak ada yang perlu dilakukan, sehingga tidak ada pesan yang akan dipindahkan. Jika Anda tidak melihat
OK(0)
, sebaiknya hubungi Dukungan Apigee Edge.Keluar dari terminal qpid-tool.
quit
Tunggu 5 menit, lalu jalankan kembali langkah-langkah diagnosis dari Langkah Diagnosis Umum. Pastikan pesan pada antrean yang sebenarnya sedang diproses dan pastikan jumlah pesan yang dihentikan pengirimannya tetap di angka 0.
Jika masalah masih berlanjut, lanjutkan ke bagian berikutnya.
Harus Mengumpulkan Informasi Diagnostik
Jika masalah terus berlanjut bahkan setelah mengikuti petunjuk di atas, kumpulkan informasi diagnostik berikut. Hubungi dan bagikan dengan 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 server edge-qpid:
/opt/apigee/var/log/edge-qpid-server/logs/system.log
- Log server edge-postgres:
/opt/apigee/var/log/edge-postgres-server/logs/system.log
Statistik antrean Qpidd:
qpid-stat -q
Grup analisis yang ditampilkan oleh perintah curl berikut:
curl -u sysadminEmail:password http://mgmt:8080/v1/analytics/groups/ax