Логирование
В процессе работы ADQM генерирует текстовые лог-файлы, которые могут быть полезны при анализе причин возникновения различных ошибок. Дополнительно можно включить ведение других специализированных логов (например, собирать информацию о выполнении запросов, зависимых представлениях, потоках, трассировках стека), которые будут сохраняться в системные таблицы ADQM.
Лог-файлы
По умолчанию ADQM записывает следующие логи в каталог /var/log/clickhouse-server:
-
clickhouse-server.log — основной лог сервера ADQM (уровень детализации записей настраивается специальным параметром — см. описание параметров логирования ниже);
-
clickhouse-server.err.log — лог ошибок (содержит записи уровней
warning
,error
,critical
иfatal
).
Изменить каталог хранения лог-файлов можно через параметр Log path в секции Directories на странице конфигурации сервиса ADQMDB интерфейса ADCM.

На этой же странице в секции Log settings (секция доступна при включенной опции Show advanced) можно настроить параметры логирования:
-
Logging level — уровень детализации сообщений, записываемых в лог-файл clickhouse-server.log. Возможные значения:
trace
,debug
,information
,notice
,warning
,error
,critical
,fatal
,none
.Уровень логирования для clickhouse-server.err.log отдельно не конфигурируется.
-
Log file size, MB — размер лог-файла (в МБ). Как только файл достигает указанного размера, он архивируется и переименовывается, a на его месте создается новый лог-файл.
-
Log files count — количество архивных лог-файлов, которые хранятся в ADQM.
ВАЖНО
После того, как необходимые параметры установлены, не забудьте нажать Save и выполнить действие Reconfig and restart для сервиса ADQMDB, чтобы сохранить информацию об изменениях конфигурации и перезапустить сервис.
|
Чтобы просмотреть содержимое лог-файла, можно использовать следующую команду:
$ sudo less /var/log/clickhouse-server/clickhouse-server.log
Пример вывода на экран:
2023.09.08 10:59:14.549245 [ 31027 ] {} <Information> Application: Will watch for the process with pid 31036 2023.09.08 10:59:14.549357 [ 31036 ] {} <Information> Application: Forked a child process to watch 2023.09.08 10:59:14.549768 [ 31036 ] {} <Information> SentryWriter: Sending crash reports is disabled 2023.09.08 10:59:14.549851 [ 31036 ] {} <Trace> Pipe: Pipe capacity is 1.00 MiB 2023.09.08 10:59:14.674600 [ 31036 ] {} <Information> : Starting ClickHouse 22.3.7.28 with revision 54460, build id: 6F5FF3E355A49AA523CB708AFAC0EB6C5EE73278, PID 31036 2023.09.08 10:59:14.674685 [ 31036 ] {} <Information> Application: starting up 2023.09.08 10:59:14.674703 [ 31036 ] {} <Information> Application: OS name: Linux, version: 3.10.0-1160.66.1.el7.x86_64, architecture: x86_64 2023.09.08 10:59:14.678336 [ 31036 ] {} <Trace> AsynchronousMetrics: Scanning /sys/class/thermal 2023.09.08 10:59:14.678369 [ 31036 ] {} <Trace> AsynchronousMetrics: Scanning /sys/block 2023.09.08 10:59:14.678516 [ 31036 ] {} <Trace> AsynchronousMetrics: Scanning /sys/devices/system/edac 2023.09.08 10:59:14.678536 [ 31036 ] {} <Trace> AsynchronousMetrics: Scanning /sys/class/hwmon 2023.09.08 10:59:14.981938 [ 31036 ] {} <Warning> Application: Calculated checksum of the binary: 1841F46AA9C864447AE24AC0D983E86C. There is no information about the reference checksum. 2023.09.08 10:59:14.991365 [ 31036 ] {} <Debug> Application: rlimit on number of file descriptors is 500000 2023.09.08 10:59:14.991394 [ 31036 ] {} <Debug> Application: Initializing DateLUT. 2023.09.08 10:59:14.991397 [ 31036 ] {} <Trace> Application: Initialized DateLUT with time zone 'UTC'. 2023.09.08 10:59:14.991426 [ 31036 ] {} <Debug> Application: Setting up /var/lib/clickhouse/tmp/ to store temporary data in it 2023.09.08 10:59:14.993872 [ 31036 ] {} <Debug> Application: Initiailizing interserver credentials. 2023.09.08 10:59:14.994558 [ 31036 ] {} <Debug> ConfigReloader: Loading config '/etc/clickhouse-server/config.xml' 2023.09.08 10:59:14.995658 [ 31036 ] {} <Debug> ConfigReloader: Loaded config '/etc/clickhouse-server/config.xml', performing update on configuration ...
В случае успешного запуска сервера ADQM, лог содержит следующие строки:
-
<Information> Application: starting up
— сервер запускается. -
<Information> Application: Ready for connections.
— сервер запущен и готов принимать соединения.
Если в конфигурации ошибка и сервер не запустился, в логе будет строка с маркером <Error>
и описанием ошибки. Например:
... 2023.09.08 10:59:14.991426 [ 31036 ] {} <Error> Application: DB::Exception: A setting 'query_profiler_cpu_time_period_ns' appeared at top level in config /etc/clickhouse-server/config.xml. But it is user-level setting that should be located in users.xml inside <profiles> section for specific profile. You can add it to <profiles><default> if you want to change default value of this setting. You can also disable the check - specify <skip_check_for_incorrect_settings>1</skip_check_for_incorrect_settings> in the main configuration file. ...
Если сообщения об ошибке нет в конце файла, просмотрите весь файл начиная со строки <Information> Application: starting up
.
Лог-таблицы
ADQM поддерживает несколько системных таблиц для хранения различных типов логов. Чтобы начать логирование, необходимо активировать соответствующий параметр в секции Log settings на странице конфигурации сервиса ADQMDB — после этого ADQM создаст системную таблицу с тем же именем, что и параметр, и начнет записывать в нее соответствующий системный лог. Параметры для включения поддерживаемых типов логирования перечислены в следующей таблице, которая также содержит описание данных, хранящихся в логах.
Параметр включения логирования | Лог-таблица | Описание данных лог-таблицы |
---|---|---|
query_log |
Информация о выполняемых запросах (например, время начала выполнения запроса, длительность обработки, сообщения об ошибках) |
|
trace_log |
Трассировки стека, собранные профилировщиком запросов (полезны для глубокого анализа производительности) |
|
query_views_log |
Информация о зависимых представлениях, выполняемых при обработке запросов, принятых с настройкой |
|
query_thread_log |
Информация о потоках выполнения запросов, принятых с настройкой |
|
part_log |
Информация о событиях, связанных с данными таблиц семейства MergeTree (например, вставка/объединение/удаление кусков данных, загрузка данных с реплики, перемещение данных между дисками) |
|
crash_log |
Информация о трассировках стека для фатальных ошибок |
|
metric_log |
История значений метрик из таблиц |
|
asynchronous_metric_log |
История значений метрик из таблицы |
|
asynchronous_insert_log |
Информация об асинхронных вставках |
ПРИМЕЧАНИЕ
Данные таблиц с системными логами хранятся в файловой системе и не удаляются автоматически. Если удалить таблицу из файловой системы, ADQM снова создаст пустую таблицу во время следующей записи данных в лог. Если схема системной таблицы изменилась при обновлении сервера ADQM, текущая таблица переименовывается и создается новая таблица. |
В секции Log settings можно установить следующие настройки, общие для всех лог-таблиц:
-
Database — база данных, в которой хранятся таблицы;
-
Flush interval, milliseconds — интервал сброса данных из буфера памяти в таблицы (в миллисекундах);
-
TTL, days — время жизни логов (в днях).
