الوصف
يحتوي على معلومات حول الرسائل المستلمة عبر محرك تدفّق والتي تم تحليلها مع حدوث أخطاء. وهو مُنفَّذ حاليًا لكل من Kafka وRabbitMQ.
يُفعَّل التسجيل من خلال تحديد dead_letter_queue في إعداد handle_error_mode الخاص بالمحرك.
تُحدَّد فترة تفريغ البيانات في المعامل flush_interval_milliseconds ضمن قسم إعدادات الخادم dead_letter_queue. ولإجبار التفريغ، استخدم استعلام SYSTEM FLUSH LOGS.
لا يحذف ClickHouse البيانات من الجدول تلقائيًا. راجع المقدمة لمزيد من التفاصيل.
الأعمدة
table_engine(Enum8('Kafka' = 1, 'RabbitMQ' = 2)) — نوع التدفق. القيم الممكنة: 'Kafka'، 'RabbitMQ'.event_date(Date) — تاريخ استهلاك الرسالة.event_time(DateTime) — تاريخ ووقت استهلاك الرسالة.event_time_microseconds(DateTime64(6)) — وقت بدء الاستعلام بدقة الميكروثانية.database(LowCardinality(String)) — قاعدة بيانات ClickHouse التي ينتمي إليها جدول Kafka.table(LowCardinality(String)) — اسم جدول ClickHouse.error(String) — نص الخطأ.raw_message(String) — جسم الرسالة.kafka_topic_name(String) — اسم Kafka topic.kafka_partition(UInt64) — Kafka partition الخاص بالـ topic.kafka_offset(UInt64) — Kafka offset الخاص بالرسالة.kafka_key(String) — مفتاح Kafka الخاص بالرسالة.rabbitmq_exchange_name(String) — اسم exchange في RabbitMQ.rabbitmq_message_id(String) — معرّف رسالة RabbitMQ.rabbitmq_message_timestamp(DateTime) — الطابع الزمني لرسالة RabbitMQ.rabbitmq_message_redelivered(UInt8) — علامة إعادة تسليم الرسالة في RabbitMQ.rabbitmq_message_delivery_tag(UInt64) — delivery tag الخاص بـ RabbitMQ.rabbitmq_channel_id(String) — معرّف قناة RabbitMQ.
مثال
SELECT * FROM system.dead_letter_queue LIMIT 1 \G;Row 1:
──────
table_engine: Kafka
event_date: 2025-05-01
event_time: 2025-05-01 10:34:53
event_time_microseconds: 2025-05-01 10:34:53.910773
database: default
table: kafka
error: Cannot parse input: expected '\t' before: 'qwertyuiop': (at row 1)
:
Row 1:
Column 0, name: key, type: UInt64, ERROR: text "qwertyuiop" is not like UInt64
raw_message: qwertyuiop
kafka_topic_name: TSV_dead_letter_queue_err_1746095689
kafka_partition: 0
kafka_offset: 0
kafka_key:
rabbitmq_exchange_name:
rabbitmq_message_id:
rabbitmq_message_timestamp: 1970-01-01 00:00:00
rabbitmq_message_redelivered: 0
rabbitmq_message_delivery_tag: 0
rabbitmq_channel_id:
Row 2:
──────
table_engine: Kafka
event_date: 2025-05-01
event_time: 2025-05-01 10:34:53
event_time_microseconds: 2025-05-01 10:34:53.910944
database: default
table: kafka
error: Cannot parse input: expected '\t' before: 'asdfghjkl': (at row 1)
:
Row 1:
Column 0, name: key, type: UInt64, ERROR: text "asdfghjkl" is not like UInt64
raw_message: asdfghjkl
kafka_topic_name: TSV_dead_letter_queue_err_1746095689
kafka_partition: 0
kafka_offset: 0
kafka_key:
rabbitmq_exchange_name:
rabbitmq_message_id:
rabbitmq_message_timestamp: 1970-01-01 00:00:00
rabbitmq_message_redelivered: 0
rabbitmq_message_delivery_tag: 0
rabbitmq_channel_id:
Row 3:
──────
table_engine: Kafka
event_date: 2025-05-01
event_time: 2025-05-01 10:34:53
event_time_microseconds: 2025-05-01 10:34:53.911092
database: default
table: kafka
error: Cannot parse input: expected '\t' before: 'zxcvbnm': (at row 1)
:
Row 1:
Column 0, name: key, type: UInt64, ERROR: text "zxcvbnm" is not like UInt64
raw_message: zxcvbnm
kafka_topic_name: TSV_dead_letter_queue_err_1746095689
kafka_partition: 0
kafka_offset: 0
kafka_key:
rabbitmq_exchange_name:
rabbitmq_message_id:
rabbitmq_message_timestamp: 1970-01-01 00:00:00
rabbitmq_message_redelivered: 0
rabbitmq_message_delivery_tag: 0
rabbitmq_channel_id:
(test.py:78, dead_letter_queue_test)انظر أيضًا
- Kafka - محرك Kafka
- system.kafka_consumers — وصف لجدول نظامي
kafka_consumersالذي يحتوي على معلومات، مثل الإحصاءات والأخطاء، عن مستهلكي Kafka.