الانتقال إلى المحتوى الرئيسي

الوصف

يحتوي على معلومات حول الرسائل المستلمة عبر محرك تدفّق والتي تم تحليلها مع حدوث أخطاء. وهو مُنفَّذ حاليًا لكل من 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.

مثال

Query
SELECT * FROM system.dead_letter_queue LIMIT 1 \G;
Response
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.
آخر تعديل في ٢٥ يونيو ٢٠٢٦