Содержит информацию о сообщениях, полученных через потоковый движок и распарсенных с ошибками. В настоящее время реализовано для 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.