Skip to main content
Когда clickhouse-server зависает при запуске или остановке, обычные порты не принимают подключений, и невозможно узнать, что делает сервер. Порт интроспекции — это TCP-слушатель собственного протокола, который запускается до того, как сервер начинает подключать таблицы, и останавливается только после завершения отключения таблиц. В эти периоды оператор может подключиться к нему с помощью стандартного клиента clickhouse-client и выполнять такие запросы, как SHOW PROCESSLIST, SELECT * FROM system.stack_trace или SYSTEM INSTRUMENT ADD 'QueryMetricLog::startQuery' SLEEP ENTRY 0.5.

Конфигурация

Порт интроспекции — это конечная точка компонуемого протокола, помеченная <introspection>true</introspection>. По умолчанию порт интроспекции не настроен:
Поскольку это обычная компонуемая конечная точка протокола, она поддерживает всё, что поддерживает конечная точка: host, port, description, список разрешённых networks, default_database, а также обёртку в слои tls и proxy1. Флаг introspection является свойством конечной точки — записи, содержащей port, — и не наследуется по ссылкам impl, поэтому один слой можно использовать как для конечной точки интроспекции, так и для обычной. Стек должен завершаться слоем tcp, поскольку описанная ниже семантика реализована обработчиком собственного протокола. Пометка конечной точки, стек которой содержит слой http, mysql, postgres, prometheus или interserver, при запуске отклоняется с ошибкой INVALID_CONFIG_PARAMETER, а не приводит к появлению порта, который перестаёт отвечать именно тогда, когда он нужен.

Поведение

  • Разрешены запросы SELECT, SHOW, DESCRIBE, EXPLAIN, EXISTS, KILL QUERY, SYSTEM, SET и USE. Все остальные, включая DDL и запросы, изменяющие данные, отклоняются с ошибкой QUERY_IS_PROHIBITED, поскольку порт открыт, когда сервер ещё не полностью инициализирован либо уже завершает работу.
  • SYSTEM RELOAD CONFIG и SYSTEM RELOAD USERS отклоняются с ошибкой QUERY_IS_PROHIBITED до полного запуска сервера, поскольку перезагрузка конфигурации во время запуска может нарушить порядок инициализации.
  • Запросы через эти порты обходят max_concurrent_queries и планировщик рабочих нагрузок, как и SHOW PROCESSLIST.
  • Соединения обслуживаются выделенным пулом потоков, поэтому исчерпание обычного пула соединений не влияет на эти порты. Размер пула задаётся параметром max_connections.
  • Соединения принимаются, даже если сервер отказывает в обычных соединениях из-за перегрузки CPU.
  • Применяются стандартные механизмы аутентификации и авторизации: подключение к этому порту не предоставляет дополнительных прав доступа. Однако оно снимает указанные выше ограничения параллелизма, поэтому привяжите его к адресу, доступному только операторам.
  • На эти порты не распространяется действие SYSTEM START LISTEN / SYSTEM STOP LISTEN (включая ALL и CUSTOM), и при перезагрузке конфигурации они не перенастраиваются.
Последнее изменение 26 августа 2026 г.