Перейти к основному содержимому
Перейти к основному содержимому

system.dead_letter_queue

Содержит информацию о сообщениях, полученных через потоковый движок и распарсенных с ошибками. В настоящее время реализовано для Kafka и RabbitMQ.

Логирование включается, если указать dead_letter_queue для специфичной для движка настройки handle_error_mode.

Период сброса данных устанавливается в параметре flush_interval_milliseconds секции настроек сервера dead_letter_queue. Чтобы принудительно сбросить данные, используйте запрос SYSTEM FLUSH LOGS.

ClickHouse не удаляет данные из таблицы автоматически. См. Введение для получения дополнительной информации.

Колонки:

  • table_engine (Enum8) - Тип потока. Возможные значения: Kafka и RabbitMQ.
  • event_date (Date) - Дата потребления сообщения.
  • event_time (DateTime) - Дата и время потребления сообщения.
  • event_time_microseconds (DateTime64) - Время потребления сообщения с точностью до микросекунд.
  • database (LowCardinality(String)) - База данных ClickHouse, к которой принадлежит потоковая таблица.
  • table (LowCardinality(String)) - Имя таблицы ClickHouse.
  • error (String) - Текст ошибки.
  • raw_message (String) - Тело сообщения.
  • kafka_topic_name (String) - Имя темы Kafka.
  • kafka_partition (UInt64) - Раздел Kafka темы.
  • kafka_offset (UInt64) - Смещение Kafka сообщения.
  • kafka_key (String) - Ключ Kafka сообщения.
  • rabbitmq_exchange_name (String) - Имя обмена RabbitMQ.
  • rabbitmq_message_id (String) - Идентификатор сообщения RabbitMQ.
  • rabbitmq_message_timestamp (DateTime) - Временная метка сообщения RabbitMQ.
  • rabbitmq_message_redelivered (UInt8) - Флаг повторной доставки RabbitMQ.
  • rabbitmq_message_delivery_tag (UInt64) - Тег доставки 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.