Описание
Содержит метрики, которые периодически рассчитываются в фоновом режиме. Например, объём используемой оперативной памяти.
Метрика может быть либо скалярной (одно число в столбце value), либо типа «ключ-значение»: с разбивкой по сущностям, например по ядрам CPU, блочным устройствам, сетевым интерфейсам или дискам. Метрики типа «ключ-значение» представлены одной строкой с Map в столбце key_values (например, CPUFrequencyMHz сопоставляет номер каждого ядра CPU с его частотой), а в их столбце value указано NaN.
Столбцы
metric(String) — Название метрики.value(Float64) — Значение метрики. Для метрик ключ-значение (с разбивкой по ядрам CPU, блочным устройствам, дискам и т. д.) равно NaN, а значения находятся в столбцеkey_values.key_values(Map(LowCardinality(String), Float64)) — Значения метрики ключ-значение, например по номеру ядра CPU или имени блочного устройства. Для скалярных метрик пусто.description(String - Описание метрики)
Пример
SELECT metric, value, key_values
FROM system.asynchronous_metrics
WHERE metric IN ('MemoryResident', 'OSUserTime', 'DiskTotal', 'BlockReadBytes', 'NetworkReceiveBytes')
ORDER BY metric┌─metric──────────────┬─────────────value─┬─key_values──────────────────────────────────────┐
│ BlockReadBytes │ nan │ {'nvme0n1':67420160} │
│ DiskTotal │ nan │ {'backups':34359738368,'default':5199475388416} │
│ MemoryResident │ 970743808 │ {} │
│ NetworkReceiveBytes │ nan │ {'docker0':0,'ens66':334554363} │
│ OSUserTime │ 32.11807291562506 │ {} │
└─────────────────────┴───────────────────┴─────────────────────────────────────────────────┘Отдельный элемент метрики типа ключ-значение можно извлечь с помощью индексирования Map:
SELECT key_values['default'] AS default_disk_total
FROM system.asynchronous_metrics
WHERE metric = 'DiskTotal'Описания метрик
Приведённые ниже описания сгенерированы из исходного кода C++ с помощью utils/generate-async-metrics-docs. Единственным источником истины является строковый литерал рядом с регистрацией каждой метрики в src/Common/AsynchronousMetrics.cpp, src/Interpreters/ServerAsynchronousMetrics.cpp и src/Coordination/KeeperAsynchronousMetrics.cpp. Имена метрик, содержащие переменную часть (сейчас только группа пула HTTP-соединений), показаны с плейсхолдером *name*; запущенный server сообщает их с подставленным конкретным именем.
AsynchronousHeavyMetricsCalculationTimeSpent
Время в секундах, затраченное на вычисление асинхронных ресурсоёмких метрик (связанных с таблицами); это накладные расходы асинхронных метрик.
AsynchronousHeavyMetricsUpdateInterval
Интервал обновления ресурсоёмких метрик (связанных с таблицами)
AsynchronousMetricsCalculationTimeSpent
Время в секундах, затрачиваемое на вычисление асинхронных метрик (это накладные расходы на асинхронные метрики).
AsynchronousMetricsUpdateInterval
Интервал обновления метрик
AsyncLoggingQueueSize
Количество асинхронных сообщений в очереди, ожидающих логирования, с группировкой по имени канала логирования.
BlockActiveTime
Время в секундах, в течение которого запросы ввода-вывода находились в очереди для каждого блочного устройства. Ключи — это имена блочных устройств. Это общесистемная метрика; она включает все процессы на хост-машине, а не только clickhouse-server. Источник: /sys/block. См. https://www.kernel.org/doc/Documentation/block/stat.txt
BlockActiveTimePerOp
Аналогично метрике BlockActiveTime, но значение делится на количество операций IO для расчёта времени на одну операцию. Ключами являются имена блочных устройств. Это общесистемная метрика; она включает все процессы на хост-машине, а не только clickhouse-server. Источник: /sys/block. См. https://www.kernel.org/doc/Documentation/block/stat.txt
BlockDiscardBytes
Количество байтов, отброшенных на каждом блочном устройстве. Эти операции актуальны для SSD. Операции discard не используются ClickHouse, но могут использоваться другими процессами в системе. Ключи — это имена блочных устройств. Это общесистемная метрика; она включает все процессы на хост-машине, а не только clickhouse-server. Источник: /sys/block. См. https://www.kernel.org/doc/Documentation/block/stat.txt
BlockDiscardMerges
Количество операций discard, запрошенных у каждого блочного устройства и объединённых планировщиком ввода-вывода ОС. Эти операции важны для SSD. ClickHouse не использует операции discard, но их могут использовать другие процессы в системе. Ключами являются имена блочных устройств. Это общесистемная метрика: она включает все процессы на хосте, а не только clickhouse-server. Источник: /sys/block. См. https://www.kernel.org/doc/Documentation/block/stat.txt
BlockDiscardOps
Количество операций discard, запрошенных у каждого блочного устройства. Эти операции актуальны для SSD. Операции discard не используются ClickHouse, но могут использоваться другими процессами в системе. Ключи — это имена блочных устройств. Это общесистемная метрика; она включает все процессы на хост-машине, а не только clickhouse-server. Источник: /sys/block. См. https://www.kernel.org/doc/Documentation/block/stat.txt
BlockDiscardTime
Время в секундах, затраченное на операции discard, запрошенные у каждого блочного устройства, в сумме по всем операциям. Эти операции актуальны для SSD. Операции discard не используются ClickHouse, но могут использоваться другими процессами в системе. Ключи — это имена блочных устройств. Это общесистемная метрика; она включает все процессы на хост-машине, а не только clickhouse-server. Источник: /sys/block. См. https://www.kernel.org/doc/Documentation/block/stat.txt
BlockInFlightOps
Это значение подсчитывает количество запросов ввода-вывода, отправленных драйверу устройства, но ещё не завершённых, для каждого блочного устройства. Оно не включает запросы ввода-вывода, находящиеся в очереди, но ещё не отправленные драйверу устройства. Ключами являются имена блочных устройств. Это общесистемная метрика; она включает все процессы на хост-машине, а не только clickhouse-server. Источник: /sys/block. См. https://www.kernel.org/doc/Documentation/block/stat.txt
BlockQueueTime
Это значение подсчитывает количество миллисекунд, в течение которых запросы IO ожидали на каждом блочном устройстве. Если ожидают несколько запросов IO, это значение увеличивается на произведение количества миллисекунд и количества ожидающих запросов. Ключами являются имена блочных устройств. Это общесистемная метрика; она включает все процессы на хост-машине, а не только clickhouse-server. Источник: /sys/block. См. https://www.kernel.org/doc/Documentation/block/stat.txt
BlockQueueTimePerOp
Аналогично метрике BlockQueueTime, но значение делится на количество операций IO для расчёта времени на одну операцию. Ключи — имена блочных устройств. Это общесистемная метрика; она включает все процессы на хост-машине, а не только clickhouse-server. Источник: /sys/block. См. https://www.kernel.org/doc/Documentation/block/stat.txt
BlockReadBytes
Количество байтов, прочитанных с каждого блочного устройства. Оно может быть меньше количества байтов, прочитанных из файловой системы, из-за использования кэша страниц ОС, который снижает объём IO. Ключами являются имена блочных устройств. Это общесистемная метрика, она включает все процессы на хост-машине, а не только clickhouse-server. Источник: /sys/block. См. https://www.kernel.org/doc/Documentation/block/stat.txt
BlockReadMerges
Количество операций чтения, запрошенных у каждого блочного устройства и объединённых планировщиком ввода-вывода ОС. Ключи — имена блочных устройств. Это общесистемная метрика; она включает все процессы на хост-машине, а не только clickhouse-server. Источник: /sys/block. См. https://www.kernel.org/doc/Documentation/block/stat.txt
BlockReadOps
Количество операций чтения, запрошенных у каждого блочного устройства. Ключи — это имена блочных устройств. Это общесистемная метрика; она включает все процессы на хост-машине, а не только clickhouse-server. Источник: /sys/block. См. https://www.kernel.org/doc/Documentation/block/stat.txt
BlockReadTime
Время в секундах, затраченное на операции чтения с каждого блочного устройства, суммарно по всем операциям. Ключами являются имена блочных устройств. Это общесистемная метрика; она включает все процессы на хост-машине, а не только clickhouse-server. Источник: /sys/block. См. https://www.kernel.org/doc/Documentation/block/stat.txt
BlockWriteBytes
Количество байтов, записанных на каждое блочное устройство. Оно может быть меньше количества байтов, записанных в файловую систему, из-за использования кэша страниц ОС, который позволяет сократить ввод-вывод. Запись на блочное устройство может происходить позже, чем соответствующая запись в файловую систему, из-за кэширования со сквозной записью. Ключами являются имена блочных устройств. Это общесистемная метрика: она включает все процессы на хосте, а не только clickhouse-server. Источник: /sys/block. См. https://www.kernel.org/doc/Documentation/block/stat.txt
BlockWriteMerges
Количество операций записи, запрошенных у каждого блочного устройства и объединённых планировщиком ввода-вывода ОС. Ключами являются имена блочных устройств. Это общесистемная метрика; она включает все процессы на хост-машине, а не только clickhouse-server. Источник: /sys/block. См. https://www.kernel.org/doc/Documentation/block/stat.txt
BlockWriteOps
Количество операций записи, запрошенных у каждого блочного устройства. Ключи — это имена блочных устройств. Это общесистемная метрика; она включает все процессы на хост-машине, а не только clickhouse-server. Источник: /sys/block. См. https://www.kernel.org/doc/Documentation/block/stat.txt
BlockWriteTime
Время в секундах, затраченное на операции записи, запрошенные у каждого блочного устройства, в сумме по всем операциям. Ключи — это имена блочных устройств. Это общесистемная метрика: она включает все процессы на хост-машине, а не только clickhouse-server. Источник: /sys/block. См. https://www.kernel.org/doc/Documentation/block/stat.txt
CGroupMaxCPU
Максимальное число ядер CPU по данным CGroups.
CGroupMemoryTotal
Общий объём памяти в cgroup, в байтах. Если указано 0, ограничение совпадает с OSMemoryTotal.
CGroupMemoryUsed
Объём памяти, используемой в cgroup, в байтах. В cgroup v2 это anon + sock + невытесняемая память ядра; в cgroup v1 — RSS. В обоих случаях кэш страниц ОС (файловый кэш) не учитывается.
CGroupMemoryUsedWithoutPageCache
Объём памяти, используемой в cgroup, в байтах, без учёта кэша страниц ClickHouse в пространстве пользователя. Это CGroupMemoryUsed за вычетом размера кэша страниц в пространстве пользователя. Если кэш страниц в пространстве пользователя отключён, это значение равно CGroupMemoryUsed.
CGroupSystemTime
Доля времени, в течение которого ядро CPU выполняло код ядра ОС (system).
CGroupSystemTimeNormalized
Значение аналогично CGroupSystemTime, но делится на количество доступных ядер CPU, поэтому оно находится в интервале [0..1] независимо от числа ядер. Это позволяет усреднять значения этой метрики по нескольким серверам в кластере, даже если количество ядер различается, и при этом получать среднюю метрику использования ресурсов. Если указана квота CPU в Cgroup, деленная на свой период, ее можно использовать вместо фактического количества ядер CPU; в этом случае значение этой метрики в отдельные моменты может превышать 1.
CGroupUserTime
Доля времени, в течение которого ядро CPU выполняло код в пользовательском пространстве. Сюда также входит время, когда CPU был недозагружен по внутренним причинам самого CPU (загрузки памяти, простои конвейера, неверные предсказания ветвлений, выполнение другого SMT-потока).
CGroupUserTimeNormalized
Значение похоже на CGroupUserTime, но делится на число доступных ядер CPU, чтобы оставаться в интервале [0..1] независимо от количества ядер. Это позволяет усреднять значения этой метрики по нескольким серверам в кластере, даже если число ядер различается, и при этом получать среднюю метрику использования ресурсов. При наличии соответствующей настройки вместо фактического числа ядер CPU можно использовать квоту CPU в Cgroup, делённую на её период; в этом случае значение этой метрики в отдельные моменты может превышать 1.
CompiledExpressionCacheBytesMax
Настроенный максимальный размер кэша скомпилированных выражений в байтах. Доступный запас = это значение минус CompiledExpressionCacheBytes (CurrentMetric).
CompiledExpressionCacheCountMax
Настроенное максимальное количество записей в кэше скомпилированных выражений. Доступный запас = это значение минус CompiledExpressionCacheCount (CurrentMetric).
CPUFrequencyMHz
Текущая частота каждого ядра CPU в МГц с указанием номера ядра CPU. Большинство современных процессоров динамически регулируют частоту для энергосбережения и Turbo Boost.
DeadBlobsQueueEstimate
Расчётное количество blob-объектов, поставленных в очередь на удаление из объектного хранилища диска (очередь удалённых blob-объектов менеджера blob-объектов), сгруппированное по имени диска. Диски без репликации blob-объектов возвращают 0.
DictionaryMaxUpdateDelay
Максимальная задержка обновления словаря (в секундах)
DictionaryTotalFailedUpdates
Число ошибок с момента последней успешной загрузки во всех словарях.
DiskAvailable
Количество доступных байтов на каждом диске (виртуальной файловой системе), сгруппированное по имени диска. Удалённые файловые системы могут не предоставлять эту информацию; в таком случае может отображаться большое значение, например 16 EiB.
DiskGetObjectThrottlerAvailable
Количество запросов GetObject, которые в данный момент можно отправить, не достигнув ограничения скорости запросов на каждом диске (виртуальной файловой системе), с ключом по имени диска. Локальные файловые системы могут не предоставлять эту информацию.
DiskGetObjectThrottlerRPS
Лимит ограничения скорости запросов GetObject на каждом диске, в запросах в секунду (виртуальная файловая система), с ключом в виде имени диска. Локальные файловые системы могут не предоставлять эту информацию.
DiskPutObjectThrottlerAvailable
Количество запросов PutObject, которые в данный момент можно отправить, не достигнув ограничения скорости запросов на каждом диске (виртуальной файловой системе), с ключом в виде имени диска. Локальные файловые системы могут не предоставлять эту информацию.
DiskPutObjectThrottlerRPS
Лимит ограничения скорости запросов PutObject на каждом диске, в запросах в секунду (виртуальная файловая система), с ключом по имени диска. Локальные файловые системы могут не предоставлять эту информацию.
DiskTotal
Общий размер в байтах всех дисков (виртуальных файловых систем), сгруппированный по именам дисков. Удалённые файловые системы могут не предоставлять эту информацию; для них может отображаться большое значение, например 16 EiB.
DiskUnreserved
Количество доступных байтов на каждом диске (виртуальной файловой системе) без резервирования для слияний, загрузок и перемещений, сгруппированное по имени диска. Удалённые файловые системы могут не предоставлять эту информацию; в таком случае может отображаться большое значение, например 16 EiB.
DiskUsed
Количество использованных байтов на каждом диске (виртуальной файловой системе), сгруппированных по имени диска. Удалённые файловые системы не всегда предоставляют эту информацию.
EDACCorrectable
Количество исправимых ошибок памяти ECC с привязкой к номеру контроллера памяти. Высокое значение этого показателя указывает на неисправную оперативную память, которую необходимо немедленно заменить, поскольку при большом числе исправленных ошибок возможны и скрытые ошибки, приводящие к повреждению данных. Источник: /sys/devices/system/edac/mc/
EDACUncorrectable
Количество неисправимых ошибок памяти ECC с разбивкой по номеру контроллера памяти. Ненулевое значение этого показателя указывает на неисправность оперативной памяти, которую необходимо немедленно заменить, так как это может привести к повреждению данных. Источник: /sys/devices/system/edac/mc/
ExecutableUserDefinedFunctionMemoryResidentBytes
Суммарный размер резидентного набора (VmRSS) всех работающих процессов пользовательских функций executable и executable_pool, а также их дочерних процессов, в байтах. Бездействующие воркеры executable_pool также включаются. Общие страницы учитываются один раз для каждого процесса, поэтому эта сумма представляет собой верхнюю границу и может превышать уникальный объём физической памяти, занимаемой процессами UDF.
ExecutableUserDefinedFunctionProcesses
Количество работающих процессов, запущенных для пользовательских функций executable и executable_pool, включая их дочерние процессы.
FilesystemCacheBytes
Общее количество байтов в виртуальной файловой системе cache. Этот кэш хранится на диске.
FilesystemCacheCapacity
Общая ёмкость виртуальной файловой системы cache. Этот кэш хранится на диске.
FilesystemCacheFiles
Общее число кэшированных сегментов файлов в виртуальной файловой системе cache. Этот кэш хранится на диске.
FilesystemLogsPathAvailableBytes
Количество доступных байт на томе, где смонтирован каталог журналов ClickHouse. Если это значение приближается к нулю, следует настроить ротацию журналов в конфигурационном файле.
FilesystemLogsPathAvailableINodes
Количество доступных инод на томе, на котором смонтирован каталог журналов ClickHouse.
FilesystemLogsPathTotalBytes
Размер тома, на который смонтирован каталог журналов ClickHouse, в байтах. Для журналов рекомендуется выделить не менее 10 ГБ.
FilesystemLogsPathTotalINodes
Общее количество инодов на томе, где смонтирован каталог журналов ClickHouse.
FilesystemLogsPathUsedBytes
Занятые байты на томе, где смонтирован каталог журналов ClickHouse.
FilesystemLogsPathUsedINodes
Количество занятых инодов на томе, где смонтирован каталог журналов ClickHouse.
FilesystemMainPathAvailableBytes
Доступные байты на томе, где смонтирован основной путь ClickHouse.
FilesystemMainPathAvailableINodes
Количество доступных инодов на томе, где смонтирован основной путь ClickHouse. Если оно близко к нулю, это указывает на неправильную конфигурацию, и вы получите ошибку 'no space left on device', даже если диск не заполнен.
FilesystemMainPathTotalBytes
Размер тома, на котором смонтирован основной путь ClickHouse, в байтах.
FilesystemMainPathTotalINodes
Общее количество инодов на томе, где смонтирован основной путь ClickHouse. Если оно меньше 25 миллионов, это указывает на ошибку конфигурации.
FilesystemMainPathUsedBytes
Количество использованных байт на томе, где смонтирован основной путь ClickHouse.
FilesystemMainPathUsedINodes
Количество используемых инодов на томе, где смонтирован основной путь ClickHouse. Это значение в основном соответствует числу файлов.
GRPCRejectedConnections
Количество отклонённых подключений по протоколу GRPC.
GRPCThreads
Количество потоков в сервере протокола GRPC.
HashTableStatsCacheEntries
Количество записей в кэше размеров хеш-таблиц. Этот кэш используется для предиктивной оптимизации GROUP BY.
HashTableStatsCacheHits
Количество случаев, когда размер хеш-таблицы был спрогнозирован верно.
HashTableStatsCacheMisses
Количество случаев, когда размер хеш-таблицы был предсказан неверно.
HTTPConnectionPoolgroup_nameTCPRcvBufTotalBytes
Общий объём памяти ядра, выделенной под TCP-буфер приёма (sk_rmem_alloc), для всех сокетов пула HTTP-соединений.
HTTPConnectionPoolgroup_nameTCPSndBufTotalBytes
Общий объём памяти ядра, выделенной под буферы отправки TCP (sk_wmem_alloc) для всех сокетов пула HTTP-соединений.
HTTPRejectedConnections
Количество отклонённых соединений через HTTP-интерфейс (без TLS).
HTTPSecureRejectedConnections
Количество отклонённых соединений на интерфейсе HTTPS.
HTTPSecureThreads
Количество потоков на сервере HTTPS-интерфейса.
HTTPThreads
Количество потоков в сервере HTTP-интерфейса (без TLS).
InterserverRejectedConnections
Количество отклонённых соединений по протоколу обмена между репликами (без TLS).
InterserverSecureRejectedConnections
Количество отклонённых соединений для протокола связи между репликами (с TLS).
InterserverSecureThreads
Количество потоков на сервере, используемых протоколом связи между репликами (с TLS).
InterserverThreads
Количество потоков в сервере протокола связи между репликами (без TLS).
jemalloc.active
Внутренняя метрика низкоуровневого аллокатора памяти (jemalloc). См. https://jemalloc.net/jemalloc.3.html
jemalloc.allocated
Внутренняя метрика низкоуровневого аллокатора памяти (jemalloc). См. https://jemalloc.net/jemalloc.3.html
jemalloc.arenas.all.dirty_purged
Внутренняя метрика низкоуровневого аллокатора памяти (jemalloc). См. https://jemalloc.net/jemalloc.3.html
jemalloc.arenas.all.muzzy_purged
Внутренняя метрика низкоуровневого аллокатора памяти (jemalloc). См. https://jemalloc.net/jemalloc.3.html
jemalloc.arenas.all.pactive
Внутренняя метрика низкоуровневого аллокатора памяти (jemalloc). См. https://jemalloc.net/jemalloc.3.html
jemalloc.arenas.all.pdirty
Внутренняя метрика низкоуровневого аллокатора памяти (jemalloc). См. https://jemalloc.net/jemalloc.3.html
jemalloc.arenas.all.pmuzzy
Внутренняя метрика низкоуровневого аллокатора памяти (jemalloc). См. https://jemalloc.net/jemalloc.3.html
jemalloc.arenas.dirty_decay_ms
Внутренняя метрика низкоуровневого аллокатора памяти (jemalloc). См. https://jemalloc.net/jemalloc.3.html
jemalloc.background_thread.num_runs
Внутренняя метрика низкоуровневого аллокатора памяти jemalloc. См. https://jemalloc.net/jemalloc.3.html
jemalloc.background_thread.num_threads
Внутренняя метрика низкоуровневого аллокатора памяти (jemalloc). См. https://jemalloc.net/jemalloc.3.html
jemalloc.background_thread.run_intervals
Внутренняя метрика низкоуровневого аллокатора памяти (jemalloc). См. https://jemalloc.net/jemalloc.3.html
jemalloc.cache_arena.pactive
Внутренняя метрика низкоуровневого аллокатора памяти (jemalloc). См. https://jemalloc.net/jemalloc.3.html
jemalloc.cache_arena.pdirty
Внутренняя метрика низкоуровневого аллокатора памяти (jemalloc). См. https://jemalloc.net/jemalloc.3.html
jemalloc.epoch
Внутренний инкрементный номер обновления статистики jemalloc (аллокатора памяти Джейсона Эванса), используемый во всех остальных метриках jemalloc.
jemalloc.fragmentation
Разность между jemalloc.active и jemalloc.allocated — показатель внутренней фрагментации в аллокаторе памяти (активные страницы, не полностью занятые выделенной памятью).
jemalloc.jit_arena.active_bytes
Объём активных байтов в выделенной JIT-арене jemalloc. Включает как (a) состояние кучи LLVM (TargetMachine и его специфичный для целевой платформы Subtarget, IR-модули, результаты анализа проходов оптимизации, таблицы перемещений RuntimeDyld), так и (b) выровненные по границам страниц зарезервированные блоки, которые JITModuleMemoryManager выделяет через posix_memalign для исполняемых секций и секций данных (вызов перехватывается je_posix_memalign, поэтому выделение выполняется через jemalloc). CompiledExpressionCacheBytes (CurrentMetric) — подмножество этого значения: эта метрика отслеживает только ёмкость зарезервированных блоков страниц для исполняемых секций и секций данных, а не фактический объём байтов кода и данных, используемых внутри этих блоков.
jemalloc.jit_arena.dirty_bytes
«Грязные» байты в JIT-арене, которые могут быть очищены и возвращены операционной системе.
jemalloc.jit_arena.pactive
Внутренняя метрика низкоуровневого аллокатора памяти (jemalloc). См. https://jemalloc.net/jemalloc.3.html
jemalloc.jit_arena.pdirty
Внутренняя метрика низкоуровневого аллокатора памяти (jemalloc). См. https://jemalloc.net/jemalloc.3.html
jemalloc.mapped
Внутренняя метрика низкоуровневого аллокатора памяти (jemalloc). См. https://jemalloc.net/jemalloc.3.html
jemalloc.mergetree_arena.active_bytes
Активные байты, суммированные по выделенному пулу jemalloc-арен MergeTree (арен jemalloc.mergetree_arena.count). Содержит долгоживущее состояние кучи MergeTree: метаданные на уровне части (SerializationInfoByName, дерево MergeTreeDataPartChecksums, делегаты Poco::LRUCache<String, ColumnSize> внутри каждой IMergeTreeDataPart, map ColumnSize/IndexSize для каждой части, MinMaxIndex, VersionMetadataOnDisk и сам объект MergeTreeDataPart{Compact,Wide}), метаданные, общие для частей таблицы (NamesAndTypesList, column_name_to_position, map serializations и ColumnsSubstreams, см. SharedPartColumns.h), а также метаданные на уровне таблицы (клоны StorageInMemoryMetadata / ColumnsDescription / VirtualColumnsDescription, создаваемые через setProperties, агрегацию serialization_hints и shared_part_columns_cache). В эту метрику входят как активные части, так и устаревшие части, ожидающие очистки. Не пересекается с ареной кэша и JIT-ареной. Столбцы system.parts.primary_key_bytes_in_memory[_allocated] и system.parts.index_granularity_bytes_in_memory[_allocated] для каждой части являются подмножествами этой метрики (если их значения ненулевые). Первичный индекс выделяется здесь даже при владении им PrimaryIndexCache (намеренно: его перенос на границе кэша может завершиться ошибкой после коммита части), поэтому PrimaryIndexCacheBytes пересекается с этой метрикой.
jemalloc.mergetree_arena.count
Количество выделенных арен jemalloc для долгоживущих метаданных MergeTree; регулируется настройкой сервера jemalloc_merge_tree_arenas. Значение 0 означает, что выделенный пул арен отключён, а метаданные выделяются в аренах по умолчанию для каждого CPU; 1 — одна общая арена; N > 1 — пул, разделённый по CPU. См. jemalloc.mergetree_arena.active_bytes.
jemalloc.mergetree_arena.dirty_bytes
«Грязные» байты, суммированные по выделенному пулу арен jemalloc MergeTree, которые могут быть очищены и возвращены операционной системе.
jemalloc.mergetree_arena.pactive
Суммарное количество активных страниц в выделенном пуле арен jemalloc для MergeTree.
jemalloc.mergetree_arena.pdirty
Суммарное количество грязных страниц в выделенном пуле арен jemalloc для MergeTree.
jemalloc.metadata
Внутренняя метрика низкоуровневого аллокатора памяти (jemalloc). См. https://jemalloc.net/jemalloc.3.html
jemalloc.metadata_thp
Внутренняя метрика низкоуровневого аллокатора памяти (jemalloc). См. https://jemalloc.net/jemalloc.3.html
jemalloc.prof.active
Внутренняя метрика низкоуровневого аллокатора памяти (jemalloc). См. https://jemalloc.net/jemalloc.3.html
jemalloc.prof.lg_sample
Внутренняя метрика низкоуровневого аллокатора памяти (jemalloc). См. https://jemalloc.net/jemalloc.3.html
jemalloc.prof.thread_active_init
Внутренняя метрика низкоуровневого аллокатора памяти (jemalloc). См. https://jemalloc.net/jemalloc.3.html
jemalloc.resident
Внутренняя метрика низкоуровневого аллокатора памяти (jemalloc). См. https://jemalloc.net/jemalloc.3.html
jemalloc.retained
Внутренняя метрика низкоуровневого аллокатора памяти (jemalloc). См. https://jemalloc.net/jemalloc.3.html
Jitter
Разница между моментом, на который было запланировано пробуждение потока для вычисления асинхронных метрик, и моментом его фактического пробуждения. Косвенный показатель общей задержки и отзывчивости системы.
KeeperApproximateDataSize
Приблизительный размер данных ClickHouse Keeper в байтах.
KeeperAvgLatency
Средняя задержка при обработке запросов в ClickHouse Keeper.
KeeperCommitLogsCacheEntries
Количество декодированных записей журнала, предварительно буферизованных модулем предварительного чтения журнала изменений перед потоком коммита
KeeperCommitLogsCacheSize
Общий размер декодированных записей журнала, буферизованных перед потоком коммита модулем предварительного чтения журнала изменений
KeeperEphemeralsCount
Число эфемерных узлов в ClickHouse Keeper.
KeeperFollowers
Количество узлов follower в ClickHouse Keeper.
KeeperIsExceedingMemorySoftLimitHit
1, если ClickHouse Keeper превышает мягкое ограничение памяти, иначе 0.
KeeperIsFollower
1, если ClickHouse Keeper работает как follower, иначе 0.
KeeperIsLeader
1, если ClickHouse Keeper — лидер, иначе 0.
KeeperIsObserver
1, если ClickHouse Keeper работает в режиме наблюдателя, иначе 0.
KeeperIsStandalone
1, если ClickHouse Keeper работает в автономном режиме, в противном случае — 0.
KeeperLastCommittedLogIdx
Индекс последней зафиксированной записи журнала в ClickHouse Keeper.
KeeperLastLeaderElectionTime
Длительность в миллисекундах последнего локально наблюдаемого периода отсутствия лидера, завершившегося избранием лидером данного экземпляра ClickHouse Keeper. Смены лидера, при которых не фиксируется выборочное состояние отсутствия лидера, не записываются. 0, если данный экземпляр не является активным лидером или для него нет записи о завершённом периоде.
Длительность в миллисекундах последнего завершённого периода отсутствия лидера, локально зафиксированного этим лидером ClickHouse Keeper. 0, если этот экземпляр не является активным лидером или не имеет записей о завершённом периоде отсутствия лидера.
KeeperLastLogIdx
Индекс последней записи журнала, хранящейся в ClickHouse Keeper.
KeeperLastLogTerm
Терм Raft для последней записи журнала, сохранённой в ClickHouse Keeper.
KeeperLastSnapshotIdx
Индекс последней записи журнала в последнем созданном снимке.
KeeperLatestLogsCacheEntries
Количество записей, хранящихся в кэше в памяти для последних записей журнала
KeeperLatestLogsCacheSize
Общий размер кэша в оперативной памяти для последних записей журнала
Размер последнего снимка Keeper
Несжатый размер в байтах последнего снимка, созданного ClickHouse Keeper.
KeeperMaxFileDescriptorCount
Максимальное число открытых файловых дескрипторов в ClickHouse Keeper. -1, если значение невозможно определить.
KeeperMaxLatency
Максимальная задержка при обработке запросов в ClickHouse Keeper.
KeeperMinLatency
Минимальная задержка запросов ClickHouse Keeper.
KeeperOpenFileDescriptorCount
Количество открытых файловых дескрипторов в ClickHouse Keeper. -1, если значение невозможно определить.
KeeperPacketsReceived
Количество пакетов, полученных службой ClickHouse Keeper.
KeeperPacketsSent
Количество пакетов, отправленных компонентом ClickHouse Keeper.
KeeperPathsWatched
Количество различных путей, за которыми наблюдают клиенты ClickHouse Keeper.
KeeperSessionWithWatches
Количество клиентских сеансов ClickHouse Keeper, для которых установлены наблюдения.
KeeperSyncedFollowers
Количество follower-узлов ClickHouse Keeper, которые также находятся в синхронизированном состоянии.
KeeperTargetCommitLogIdx
Индекс, до которого в ClickHouse Keeper можно зафиксировать записи журнала.
KeeperTCPRejectedConnections
Количество отклонённых соединений по протоколу Keeper TCP (без TLS).
KeeperTCPSecureRejectedConnections
Количество отклонённых соединений по протоколу Keeper TCP (с TLS).
KeeperTCPSecureThreads
Количество потоков на сервере протокола Keeper TCP (с TLS).
KeeperTCPThreads
Количество потоков на сервере TCP-протокола Keeper (без TLS).
KeeperWatchCount
Количество зарегистрированных наблюдений в ClickHouse Keeper.
KeeperZnodeCount
Количество узлов (записей с данными) в ClickHouse Keeper.
KeeperZxid
Текущий номер транзакции (zxid) в ClickHouse Keeper.
LoadAverage1
Средняя нагрузка на всю систему, вычисленная с экспоненциальным сглаживанием за 1 минуту. Нагрузка показывает количество потоков всех процессов (сущностей планирования ядра ОС), которые в данный момент выполняются на CPU, ожидают IO либо готовы к выполнению, но в этот момент не запланированы. Это число включает все процессы, а не только clickhouse-server. Оно может быть больше числа ядер CPU, если система перегружена и многие процессы готовы к выполнению, но ожидают CPU или IO.
LoadAverage15
Средняя нагрузка на всю систему, вычисленная с экспоненциальным сглаживанием за 15 минут. Нагрузка показывает количество потоков всех процессов (сущностей планирования ядра ОС), которые в данный момент выполняются на CPU, ожидают IO либо готовы к выполнению, но в этот момент не запланированы. Это число включает все процессы, а не только clickhouse-server. Оно может быть больше числа ядер CPU, если система перегружена и многие процессы готовы к выполнению, но ожидают CPU или IO.
LoadAverage5
Средняя нагрузка на всю систему, вычисленная с экспоненциальным сглаживанием за 5 минут. Нагрузка показывает количество потоков всех процессов (сущностей планирования ядра ОС), которые в данный момент выполняются на CPU, ожидают IO либо готовы к выполнению, но в этот момент не запланированы. Это число включает все процессы, а не только clickhouse-server. Оно может быть больше числа ядер CPU, если система перегружена и многие процессы готовы к выполнению, но ожидают CPU или IO.
LongestRunningMerge
Время в секундах, прошедшее с начала самого длительного из фоновых слияний, выполняющихся в данный момент.
MaxPartCountForPartition
Максимальное количество частей в одной партиции среди всех партиций всех таблиц семейства MergeTree. Значения выше 300 указывают на неверную конфигурацию, перегрузку или массовую загрузку данных.
MemoryCode
Объём виртуальной памяти, сопоставленной со страницами машинного кода серверного процесса, в байтах.
MemoryDataAndStack
Объём виртуальной памяти, отображённой для использования стеком и выделенной памятью, в байтах. Не указано, включает ли он стеки отдельных потоков и большую часть выделенной памяти, то есть памяти, выделенной с помощью системного вызова 'mmap'. Эта метрика существует лишь для полноты. Для мониторинга рекомендую использовать метрику MemoryResident.
MemoryResident
Объём физической памяти, используемой серверным процессом, в байтах.
MemoryResidentMax
Максимальный объём физической памяти, используемой серверным процессом, в байтах.
MemoryResidentWithoutPageCache
Объём физической памяти, используемой процессом сервера, в байтах, без учёта кэша страниц в пространстве пользователя. Это даёт более точное представление о фактическом использовании памяти при использовании кэша страниц в пространстве пользователя. Когда кэш страниц в пространстве пользователя отключён, это значение равно MemoryResident.
Объём памяти, используемой процессом сервера и также совместно используемой другими процессами, в байтах. ClickHouse не использует разделяемую память, но ОС по своим причинам может помечать часть памяти как разделяемую. За этой метрикой почти нет смысла следить, и она существует только для полноты.
MemoryThreadStacksCount
Количество VMA стеков pthread, помеченных [anon:clickhouse_stack] в /proc/self/smaps. Обновляется при сборе тяжёлых метрик. Требуется Linux 5.17 или новее; в более старых ядрах метрика отсутствует (см. запись MEMORY_THREAD_STACKS_METRIC_UNAVAILABLE в system.warnings).
Количество областей виртуальной памяти задачи, помеченных VM_MEMORY_STACK (за исключением недоступных защитных областей). Обновляется при сборе тяжёлых метрик.
MemoryThreadStacksResident
Приблизительный размер резидентного набора стеков pthread, вычисляемый как сумма значений Rss: для VMA из /proc/self/smaps, помеченных [anon:clickhouse_stack] с помощью prctl(PR_SET_VMA_ANON_NAME). Обновляется с периодичностью сбора тяжёлых метрик. Требуется Linux 5.17 или более поздней версии; на более старых ядрах отсутствует (см. запись MEMORY_THREAD_STACKS_METRIC_UNAVAILABLE в system.warnings).
Приблизительный размер резидентного набора стеков pthread, вычисляемый как сумма резидентных страниц областей виртуальной памяти задачи, помеченных VM_MEMORY_STACK (за исключением недоступных защитных областей). Обновляется с периодичностью сбора тяжёлых метрик.
MemoryThreadStacksVirtual
Приблизительный виртуальный размер стеков pthread, рассчитанный как сумма значений Size: для областей VMA в /proc/self/smaps, помеченных [anon:clickhouse_stack]. Обновляется с периодичностью сбора тяжёлых метрик. Требуется Linux 5.17 или новее; в более старых ядрах отсутствует (см. запись MEMORY_THREAD_STACKS_METRIC_UNAVAILABLE в system.warnings).
Приблизительный виртуальный размер стеков pthread, рассчитанный как сумма размеров областей виртуальной памяти задачи, помеченных VM_MEMORY_STACK (за исключением недоступных защитных областей). Обновляется с периодичностью сбора тяжёлых метрик.
MemoryVirtual
Размер виртуального адресного пространства, выделенного процессу сервера, в байтах. Размер виртуального адресного пространства обычно значительно превышает объём физической памяти и не должен использоваться для её оценки. Большие значения этой метрики совершенно нормальны и имеют только технический смысл.
MissingBlobsQueueEstimate
Расчётное количество blob-объектов, ожидающих репликации в другие расположения на диске (очередь отсутствующих blob-объектов менеджера blob-объектов), с ключом по имени диска. Диски без репликации blob-объектов возвращают 0.
MySQLRejectedConnections
Количество отклонённых соединений при использовании протокола совместимости MySQL.
MySQLThreads
Количество потоков на сервере протокола совместимости с MySQL.
NetworkReceiveBytes
Количество байтов, полученных через каждый сетевой интерфейс. Ключи — имена сетевых интерфейсов. Это общесистемная метрика; она включает все процессы на хост-машине, а не только clickhouse-server.
NetworkReceiveDrop
Количество байтов отброшенных пакетов, полученных через каждый сетевой интерфейс. Ключи — это имена сетевых интерфейсов. Это общесистемная метрика; она включает все процессы на хост-машине, а не только clickhouse-server.
NetworkReceiveErrors
Количество ошибок при приёме данных через каждый сетевой интерфейс. Ключами являются имена сетевых интерфейсов. Это общесистемная метрика; она включает все процессы на хост-машине, а не только clickhouse-server.
NetworkReceivePackets
Количество сетевых пакетов, полученных через каждый сетевой интерфейс. Ключи — это имена сетевых интерфейсов. Это общесистемная метрика; она включает все процессы на хост-машине, а не только clickhouse-server.
NetworkSendBytes
Количество байтов, отправленных через каждый сетевой интерфейс. Ключи — имена сетевых интерфейсов. Это общесистемная метрика; она включает все процессы на хост-машине, а не только clickhouse-server.
NetworkSendDrop
Количество случаев отбрасывания пакетов при отправке через каждый сетевой интерфейс. Ключи — это имена сетевых интерфейсов. Это общесистемная метрика; она включает все процессы на хост-машине, а не только clickhouse-server.
NetworkSendErrors
Количество ошибок (например, повторных передач TCP) при отправке через каждый сетевой интерфейс. Ключами являются имена сетевых интерфейсов. Это общесистемная метрика; она включает все процессы на хост-машине, а не только clickhouse-server.
NetworkSendPackets
Количество сетевых пакетов, отправленных через каждый сетевой интерфейс. Ключи — имена сетевых интерфейсов. Это общесистемная метрика; она включает все процессы на хост-машине, а не только clickhouse-server.
NetworkTCPReceiveQueue
Суммарный размер очередей приёма сетевых сокетов, используемых на сервере, для TCPv4 и TCPv6.
NetworkTCPSocketRemoteAddresses
Общее число уникальных удалённых адресов сетевых сокетов, используемых на сервере, как для TCPv4, так и для TCPv6.
NetworkTCPSockets
Общее количество сетевых сокетов, используемых на сервере по TCPv4 и TCPv6, во всех состояниях.
NetworkTCPSockets_описание
Общее количество сетевых сокетов на сервере в указанном состоянии для протоколов TCPv4 и TCPv6.
NetworkTCPTransmitQueue
Общий размер очередей передачи сетевых сокетов, используемых на сервере, для TCPv4 и TCPv6.
NetworkTCPUnrecoveredRetransmits
Общий объём текущих повторных передач по сетевым сокетам, используемым на сервере, которые на данный момент не были восстановлены, для TCPv4 и TCPv6.
NumberOfDatabases
Общее число баз данных на сервере.
NumberOfDetachedByUserParts
Общее количество частей таблиц MergeTree, отсоединённых пользователями с помощью запроса ALTER TABLE DETACH (в отличие от неожиданных, повреждённых или проигнорированных частей). Сервер не обращает внимания на отсоединённые части, поэтому их можно удалить.
NumberOfDetachedParts
Общее количество отсоединённых частей таблиц MergeTree. Часть может быть отсоединена пользователем с помощью запроса ALTER TABLE DETACH или самим сервером, если она повреждена, неожиданна или больше не нужна. Сервер не использует отсоединённые части, и их можно удалить.
NumberOfPendingMutations
Общее количество мутаций, которые ещё ожидают применения.
NumberOfPendingMutationsOverExecutionTime
Общее количество мутаций, у которых остались части данных, не обработанные за время, превышающее значение настройки max_pending_mutations_execution_time_to_warn.
NumberOfTables
Общее количество таблиц во всех базах данных на сервере, за исключением баз данных, которые не могут содержать таблицы MergeTree. Исключаются движки баз данных, которые формируют набор таблиц на лету, например Lazy, MySQL, PostgreSQL, SQlite.
NumberOfTablesSystem
Общее количество таблиц в системной базе данных на сервере, хранящихся в таблицах семейства MergeTree.
Переключения контекста ОС
Количество переключений контекста в системе на хосте. Это системная метрика: она учитывает все процессы на хосте, а не только clickhouse-server.
OSCPUOverload
Относительный дефицит CPU, рассчитываемый следующим образом: сколько потоков ожидают CPU относительно числа потоков, использующих CPU. Если он больше нуля, серверу будет полезно больше ресурсов CPU. Если он значительно больше нуля, сервер может перестать отвечать. Метрика накапливается между обновлениями асинхронных метрик.
OSGuestNiceTime
Доля времени, в течение которого выполнялся виртуальный CPU для гостевых операционных систем под управлением ядра Linux, когда гостевая ОС работала с повышенным приоритетом (см. man procfs). Это общесистемная метрика: она включает все процессы на хост-машине, а не только clickhouse-server. Эта метрика не имеет особого значения для ClickHouse, но всё же присутствует для полноты. Значение для одного ядра CPU находится в интервале [0..1]. Значение для всех ядер CPU вычисляется как сумма по всем ядрам [0..num cores].
OSGuestNiceTimeCPU
Доля времени, в течение которого каждое ядро CPU выполняло виртуальный CPU для гостевых операционных систем с более высоким приоритетом; аналогично OSGuestNiceTime, но без суммирования по ядрам. Ключи — номера ядер CPU, а значение для каждого ядра находится в интервале [0..1]. Это общесистемная метрика: она включает все процессы на хост-машине, а не только clickhouse-server.
OSGuestNiceTimeNormalized
Значение похоже на OSGuestNiceTime, но делится на количество ядер CPU, чтобы находиться в диапазоне [0..1] независимо от числа ядер. Это позволяет усреднять значения этой метрики по нескольким серверам в кластере, даже если число ядер различается, и при этом получать среднее значение метрики использования ресурсов. При соответствующей настройке вместо фактического количества ядер CPU может использоваться квота CPU для Cgroup, делённая на её период; в этом случае значение этой метрики в отдельные моменты может превышать 1.
OSGuestTime
Доля времени, затраченного на выполнение виртуального CPU для гостевых операционных систем под управлением ядра Linux (см. man procfs). Это общесистемная метрика: она включает все процессы на хост-машине, а не только clickhouse-server. Для ClickHouse эта метрика несущественна, но всё же присутствует для полноты. Значение для одного ядра CPU находится в интервале [0..1]. Значение для всех ядер CPU вычисляется как сумма по всем ядрам [0..num cores].
OSGuestTimeCPU
Доля времени, в течение которого каждое ядро CPU выполняло виртуальный CPU для гостевых операционных систем; то же, что OSGuestTime, но без суммирования по ядрам. Ключи — номера ядер CPU, а значение для каждого ядра находится в интервале [0..1]. Это общесистемная метрика: она включает все процессы на хост-машине, а не только clickhouse-server.
OSGuestTimeNormalized
Значение похоже на OSGuestTime, но делится на количество ядер CPU, чтобы независимо от их числа находиться в интервале [0..1]. Это позволяет усреднять значения этой метрики по нескольким серверам в кластере, даже если число ядер различается, и при этом по-прежнему получать метрику среднего использования ресурсов. Если указано, вместо фактического числа ядер CPU можно использовать квоту CPU Cgroup, делённую на её период; в этом случае значение этой метрики в отдельные моменты может превышать 1.
OSIdleTime
Доля времени, в течение которого ядро CPU бездействовало (то есть не было готово даже выполнять процесс, ожидающий ввода-вывода), с точки зрения ядра ОС. Это общесистемная метрика: она учитывает все процессы на хосте, а не только clickhouse-server. Сюда не входит время, когда CPU недоиспользовался по причинам, связанным с его внутренней работой (задержки доступа к памяти, простои конвейера, ошибочные предсказания переходов, выполнение на другом SMT-потоке). Значение для одного ядра CPU находится в интервале [0..1]. Значение для всех ядер CPU вычисляется как сумма по всем ядрам [0..num cores].
OSIdleTimeCPU
Доля времени, в течение которого каждое ядро CPU бездействовало; аналогично OSIdleTime, но без суммирования по ядрам. Ключи — номера ядер CPU, а значение для каждого ядра находится в интервале [0..1]. Это общесистемная метрика: она включает все процессы на хост-машине, а не только clickhouse-server.
OSIdleTimeNormalized
Значение похоже на OSIdleTime, но делится на количество ядер CPU, чтобы находиться в интервале [0..1] независимо от числа ядер. Это позволяет усреднять значения этой метрики по нескольким серверам в кластере, даже если число ядер различается, и при этом всё равно получать метрику среднего использования ресурсов. Если задано, вместо фактического количества ядер CPU может использоваться квота CPU в Cgroup, делённая на её период; в этом случае значение этой метрики в отдельные моменты может превышать 1.
Прерывания ОС
Количество прерываний на хосте. Это метрика всей системы: она учитывает все процессы на хосте, а не только clickhouse-server.
OSIOWaitTime
Отношение времени, в течение которого ядро CPU не выполняло код, а ядро ОС не запускало на этом CPU никакой другой процесс, поскольку процессы ожидали операций ввода-вывода. Это общесистемная Метрика: она включает все процессы на хост-машине, а не только clickhouse-server. Значение для одного ядра CPU находится в интервале [0..1]. Значение для всех ядер CPU вычисляется как сумма по всем ядрам [0..num cores].
OSIOWaitTimeCPU
Доля времени, в течение которого каждое ядро CPU ожидало операций ввода-вывода; аналогично OSIOWaitTime, но без суммирования по ядрам. Ключами являются номера ядер CPU, а значение для каждого ядра находится в интервале [0..1]. Это общесистемная метрика: она включает все процессы на хост-машине, а не только clickhouse-server.
OSIOWaitTimeNormalized
Это значение аналогично OSIOWaitTime, но делится на количество ядер CPU, поэтому оно измеряется в интервале [0..1] независимо от их числа. Это позволяет усреднять значения этой метрики по нескольким серверам в кластере, даже если количество ядер различается, и при этом получать среднюю метрику использования ресурсов. При необходимости вместо фактического количества ядер CPU можно использовать квоту CPU в Cgroup, делённую на её период; в таком случае значение этой метрики в отдельные моменты может превышать 1.
OSIrqTime
Отношение времени, затраченного на обработку аппаратных прерываний процессором. Это общесистемная метрика: она включает все процессы на хосте, а не только clickhouse-server. Высокое значение этой метрики может указывать на неправильную конфигурацию оборудования или очень высокую сетевую нагрузку. Значение для одного ядра CPU находится в интервале [0..1]. Значение для всех ядер CPU вычисляется как сумма по всем ядрам [0..num cores].
OSIrqTimeCPU
Доля времени, затраченного на обработку аппаратных прерываний на каждом ядре CPU; то же, что OSIrqTime, но без суммирования по ядрам. Ключи — номера ядер CPU, а значение для каждого ядра находится в интервале [0..1]. Это общесистемная метрика: она включает все процессы на хост-машине, а не только clickhouse-server.
OSIrqTimeNormalized
Значение похоже на OSIrqTime, но делится на количество ядер CPU, чтобы оставаться в интервале [0..1] независимо от их числа. Это позволяет усреднять значения этой Метрики по нескольким серверам в кластере, даже если количество ядер различается, и при этом получать метрику среднего использования ресурсов. Если задана квота CPU в Cgroup, разделённая на её период, её можно использовать вместо фактического количества ядер CPU; в этом случае значение этой Метрики в отдельные моменты может превышать 1.
Доступная память ОС
Объём памяти, доступный для использования программами, в байтах. Эта метрика очень похожа на OSMemoryFreePlusCached. Это системная метрика: она включает все процессы на хосте, а не только clickhouse-server.
OSMemoryBuffers
Объём памяти, используемой буферами ядра ОС, в байтах. Как правило, он должен быть небольшим, а большие значения могут указывать на некорректную конфигурацию ОС. Это общесистемная метрика: она включает все процессы на хосте, а не только clickhouse-server.
OSMemoryCached
Объем памяти, используемой кэшем страниц ОС, в байтах. Обычно кэш страниц ОС использует почти всю доступную память, поэтому высокие значения этой метрики — это нормально и ожидаемо. Это общесистемная метрика: она включает все процессы на хосте, а не только clickhouse-server.
OSMemoryFreePlusCached
Объём свободной памяти и памяти, используемой кэшем страниц ОС в хост-системе, в байтах. Эта память доступна для использования программами. Значение должно быть очень близко к OSMemoryAvailable. Это общесистемная метрика: она включает все процессы на хост-машине, а не только clickhouse-server.
OSMemoryFreeWithoutCached
Объём свободной памяти в хост-системе в байтах. Сюда не входит память, используемая кэшем страниц ОС. Однако память кэша страниц также доступна для использования программами, поэтому значение этой метрики может вводить в заблуждение. Вместо неё используйте метрику OSMemoryAvailable. Для удобства мы также предоставляем метрику OSMemoryFreePlusCached, которая должна быть в некоторой степени похожа на OSMemoryAvailable. См. также https://www.linuxatemyram.com/. Это системная метрика: она включает все процессы на хост-машине, а не только clickhouse-server.
OSMemorySwapCached
Объём памяти в swap, также загруженной в оперативную память. В системах продакшн swap должен быть отключён. Если значение этой метрики велико, это указывает на неверную конфигурацию. Это общесистемная метрика: она включает все процессы на хосте, а не только clickhouse-server.
OSMemoryTotal
Общий объём памяти хост-системы, в байтах.
OSNiceTime
Доля времени, в течение которого ядро ЦП выполняло код в пользовательском пространстве с повышенным приоритетом. Это общесистемная метрика: она включает все процессы на хосте, а не только clickhouse-server. Значение для одного ядра ЦП находится в интервале [0..1]. Значение для всех ядер ЦП рассчитывается как сумма значений по всем ядрам [0..num cores].
OSNiceTimeCPU
Доля времени, в течение которого каждое ядро CPU выполняло пользовательский код с повышенным приоритетом; аналогично OSNiceTime, но не суммируется по ядрам. Ключи — номера ядер CPU, а значение для каждого ядра находится в интервале [0..1]. Это общесистемная метрика: она включает все процессы на хост-машине, а не только clickhouse-server.
OSNiceTimeNormalized
Значение похоже на OSNiceTime, но делится на количество ядер CPU, чтобы находиться в интервале [0..1] независимо от числа ядер. Это позволяет усреднять значения этой метрики по нескольким серверам в кластере, даже если число ядер различается, и при этом получать среднюю метрику использования ресурсов. При необходимости вместо фактического количества ядер CPU можно использовать квоту CPU в Cgroup, делённую на её период; в этом случае значение этой метрики в отдельные моменты может превышать 1.
OSOpenFiles
Общее количество открытых файлов на хосте. Это общесистемная метрика: она включает все процессы на хосте, а не только clickhouse-server.
OSProcessesBlocked
Количество потоков, заблокированных в ожидании завершения операций ввода-вывода (man procfs). Это общесистемная метрика: она включает все процессы на хосте, а не только clickhouse-server.
OSProcessesCreated
Количество созданных процессов. Это общесистемная метрика: она включает все процессы на хосте, а не только clickhouse-server.
OSProcessesRunning
Количество потоков, которые могут выполняться (то есть выполняются или готовы к выполнению) по данным операционной системы. Это общесистемная метрика: она включает все процессы на хосте, а не только clickhouse-server.
OSSoftIrqTime
Отношение времени, затраченного на обработку программных прерываний на CPU. Это общесистемная метрика: она включает все процессы на хосте, а не только clickhouse-server. Высокое значение этой Метрики может указывать на неэффективную работу программного обеспечения в системе. Значение для одного ядра CPU находится в интервале [0..1]. Значение для всех ядер CPU вычисляется как сумма по всем ядрам [0..num cores].
OSSoftIrqTimeCPU
Доля времени, затраченного на обработку программных прерываний на каждом ядре CPU; то же, что OSSoftIrqTime, но без суммирования по ядрам. Ключами являются номера ядер CPU, а значение для каждого ядра находится в интервале [0..1]. Это общесистемная метрика: она включает все процессы на хост-машине, а не только clickhouse-server.
OSSoftIrqTimeNormalized
Значение аналогично OSSoftIrqTime, но делится на количество ядер CPU, чтобы находиться в интервале [0..1] независимо от их числа. Это позволяет усреднять значения этой Метрики по нескольким серверам в кластере, даже если количество ядер различается, и при этом получать среднюю метрику использования ресурсов. Если задана квота CPU в Cgroup, вместо фактического количества ядер CPU может использоваться она, делённая на свой период; в этом случае значение этой метрики в отдельные моменты может превышать 1.
OSStealTime
Доля времени, которое CPU в виртуализированной среде тратит на выполнение других операционных систем. Это общесистемная метрика: она включает все процессы на хост-машине, а не только clickhouse-server. Эта метрика доступна не во всех виртуализированных средах, и в большинстве из них её нет. Значение для одного ядра CPU находится в интервале [0..1]. Значение для всех ядер CPU вычисляется как сумма по ним [0..num cores].
OSStealTimeCPU
Доля времени, в течение которого каждое ядро CPU при работе в виртуализированной среде выполняло работу других операционных систем; аналогично OSStealTime, но без суммирования по ядрам. Ключи — это номера ядер CPU, а значение для каждого ядра находится в интервале [0..1]. Это общесистемная метрика: она включает все процессы на хост-машине, а не только clickhouse-server.
OSStealTimeNormalized
Это значение похоже на OSStealTime, но делится на количество ядер CPU, чтобы находиться в интервале [0..1] независимо от числа ядер. Это позволяет усреднять значения этой метрики по нескольким серверам в кластере, даже если количество ядер неодинаково, и при этом получать среднюю метрику использования ресурсов. Если указано, вместо фактического числа ядер CPU можно использовать квоту CPU в Cgroup, разделённую на её период; в этом случае значение этой метрики в отдельные моменты может превышать 1.
OSSystemTime
Доля времени, в течение которого ядро CPU выполняло код ядра ОС (system). Это общесистемная метрика: она учитывает все процессы на хосте, а не только clickhouse-server. Значение для одного ядра CPU находится в диапазоне [0..1]. Значение для всех ядер CPU вычисляется как сумма по всем ядрам [0..num cores].
OSSystemTimeCPU
Доля времени, в течение которого каждое ядро CPU выполняло код ядра ОС (системный), аналогична OSSystemTime, но не суммируется по ядрам. Ключи — номера ядер CPU, а значение для каждого ядра находится в интервале [0..1]. Это общесистемная метрика: она включает все процессы на хост-машине, а не только clickhouse-server.
OSSystemTimeNormalized
Значение похоже на OSSystemTime, но делится на количество ядер CPU, чтобы находиться в интервале [0..1] независимо от числа ядер. Это позволяет усреднять значения этой метрики по нескольким серверам в кластере, даже если число ядер различается, и при этом получать среднюю метрику использования ресурсов. Если задана квота CPU в Cgroup, вместо фактического количества ядер CPU можно использовать её, разделённую на период; в этом случае значение этой метрики в отдельные моменты может превышать 1.
OSThreadsRunnable
Общее количество потоков в состоянии «готов к выполнению» с точки зрения планировщика ядра ОС.
OSThreadsTotal
Общее число потоков с точки зрения планировщика ядра ОС.
OSUptime
Время непрерывной работы хост-сервера (машины, на которой работает ClickHouse), в секундах.
OSUserTime
Доля времени, в течение которого ядро CPU выполняло код в пользовательском пространстве. Это общесистемная метрика: она включает все процессы на хост-машине, а не только clickhouse-server. Сюда также входит время, когда CPU был недозагружен по внутренним причинам самого CPU (загрузки памяти, простои конвейера, неверные предсказания ветвлений, выполнение другого SMT-потока). Значение для одного ядра CPU находится в диапазоне [0..1]. Значение для всех ядер CPU вычисляется как сумма по ним [0..num cores].
OSUserTimeCPU
Доля времени, в течение которого каждое ядро CPU выполняло код в пользовательском пространстве; то же, что OSUserTime, но без суммирования по ядрам. Ключами являются номера ядер CPU, а значение для каждого ядра находится в интервале [0..1]. Это общесистемная метрика: она включает все процессы на хост-машине, а не только clickhouse-server.
OSUserTimeNormalized
Значение похоже на OSUserTime, но делится на число ядер CPU, чтобы находиться в интервале [0..1] независимо от их количества. Это позволяет усреднять значения этой Метрики по нескольким серверам в кластере, даже если число ядер различается, и при этом получать среднее значение использования ресурсов. При необходимости вместо фактического числа ядер CPU можно использовать квоту CPU в Cgroup, делённую на её период; в таком случае значение этой Метрики в отдельные моменты может превышать 1.
PageCacheMaxBytes
Текущее ограничение на размер кэша страниц в пространстве пользователя, в байтах.
PostgreSQLRejectedConnections
Количество отклонённых соединений при использовании протокола совместимости PostgreSQL.
PostgreSQLThreads
Количество потоков сервера протокола совместимости с PostgreSQL.
ProcessSignalQueueLimit
Общий предел очереди сигналов (при достижении ProcessSignalQueueSize могут возникать ошибки CANNOT_CREATE_TIMER)
ProcessSignalQueueSize
Размер очереди сигналов (ожидающие сигналы, таймеры профилирования запроса)
PrometheusRejectedConnections
Количество отклонённых подключений к конечной точке Prometheus. Примечание: конечные точки Prometheus также можно использовать через стандартные порты HTTP/HTTPS.
PrometheusThreads
Количество потоков в сервере конечной точки Prometheus. Примечание: конечные точки Prometheus также можно использовать через стандартные порты HTTP/HTTPS.
PSI_type_stall_type
Микросекунды времени задержки с момента последнего измерения. Исходную документацию по метрикам и их интерпретации см. по адресу: https://docs.kernel.org/accounting/psi.html
Использование памяти запросами
Общий объём памяти, который в данный момент используют все выполняющиеся на сервере запросы, в байтах. Полезно для оценки того, какая часть нагрузки на память приходится на параллельно выполняющиеся запросы.
QueriesPeakMemoryUsage
Сумма пикового потребления памяти запросами по всем пользователям, отслеживаемым в ProcessList, в байтах. Пик каждого пользователя — это максимальное значение, достигнутое его трекером памяти; оно сбрасывается, когда у пользователя не остается выполняющихся запросов. Таким образом, это агрегированное значение текущих отслеживаемых пользовательских пиков, а не единый общесерверный пик по всем запросам с момента запуска.
ReaderExecutorModeledCostMsPerRequestedMiB
Экспериментальная метрика эффективности пути чтения ReaderExecutor: расчётная стоимость (мс) на МиБ запрошенных байтов за последний интервал обновления по всему экземпляру — отношение приращений ProfileEvents ReaderExecutorModeledCostMicroseconds и ReaderExecutorDeliveredBytes. Чем ниже, тем лучше: минимальное значение при пропускной способности составляет ~20 (чтение из чистого источника), при попаданиях в кэш значение стремится к 0, а избыточная выборка и неполные соединения его увеличивают. 0 означает отсутствие чтений исполнителя за интервал.
ReplicasMaxAbsoluteDelay
Максимальная разница в секундах между самой свежей реплицируемой частью и самой свежей частью данных, которую ещё предстоит реплицировать, среди таблиц Replicated. Очень большое значение указывает на реплику без данных.
ReplicasMaxInsertsInQueue
Максимальное количество операций INSERT в очереди (которые ещё предстоит реплицировать) во всех таблицах Replicated.
ReplicasMaxMergesInQueue
Максимальное количество операций слияния в очереди (которые ещё не применены) по всем таблицам Replicated.
ReplicasMaxQueueSize
Максимальный размер очереди (по количеству операций, таких как get и merge) среди таблиц Replicated.
ReplicasMaxRelativeDelay
Максимальная разница между задержкой реплики и задержкой самой актуальной реплики той же таблицы среди таблиц Replicated.
ReplicasSumInsertsInQueue
Сумма операций INSERT в очереди (которые ещё предстоит реплицировать) во всех таблицах Replicated.
ReplicasSumMergesInQueue
Сумма операций слияния в очереди (которые ещё не применены) по всем таблицам Replicated.
ReplicasSumQueueSize
Суммарный размер очереди (по числу операций, таких как get и merge) во всех таблицах Replicated.
Silkcounter_name
Значение одноимённого низкоуровневого Counter среды выполнения волокон Silk, накопленное с момента инициализации планировщика волокон. Значения Counter с Time в названии указаны в наносекундах.
TCPRejectedConnections
Количество отклонённых TCP-соединений (без TLS).
TCPSecureRejectedConnections
Количество отклонённых соединений по протоколу TCP (с TLS).
TCPSecureThreads
Количество потоков TCP-сервера (с TLS).
TCPThreads
Количество потоков TCP на сервере (без TLS).
Температура
Температура в ℃, регистрируемая каждым датчиком. Датчик может возвращать некорректное значение. Ключи — номера тепловых зон (источник: /sys/class/thermal) или имена аппаратных мониторов и их датчиков (источник: /sys/class/hwmon).
Общее количество байтов во всех таблицах семейства MergeTree
Общее количество байтов в сжатом виде (включая данные и индексы), хранящихся во всех таблицах семейства MergeTree.
TotalBytesOfMergeTreeTablesSystem
Общее количество байт (в сжатом виде, включая данные и индексы), хранящихся в таблицах семейства MergeTree в базе данных system.
TotalIndexGranularityBytesInMemory
Общий объём памяти (в байтах), занимаемой гранулами индекса (учитываются только активные части).
TotalIndexGranularityBytesInMemoryAllocated
Общий объём памяти (в байтах), выделенной для гранул индекса (учитываются только активные части).
TotalPartsOfMergeTreeTables
Общее количество частей данных во всех таблицах семейства MergeTree. Значения свыше 10 000 негативно влияют на время запуска сервера и могут указывать на неудачный выбор ключа партиционирования.
TotalPartsOfMergeTreeTablesSystem
Общее количество частей данных в таблицах семейства MergeTree в системной базе данных.
TotalPrimaryKeyBytesInMemory
Общий объём памяти (в байтах), занимаемый значениями первичного ключа (учитываются только активные части).
TotalPrimaryKeyBytesInMemoryAllocated
Общий объём памяти (в байтах), выделенной для значений первичного ключа (учитываются только активные части).
TotalProjectionIndexGranularityBytesInMemory
Общий объём памяти (в байтах), занимаемый гранулярностью индекса проекции (учитываются только активные части).
TotalProjectionIndexGranularityBytesInMemoryAllocated
Общий объём памяти (в байтах), зарезервированный под гранулярность индекса проекции (учитываются только активные части).
TotalProjectionPrimaryKeyBytesInMemory
Общий объем памяти (в байтах), занимаемой значениями первичного ключа проекции (учитываются только активные части).
TotalProjectionPrimaryKeyBytesInMemoryAllocated
Общий объём памяти (в байтах), выделенной под значения первичного ключа проекции (учитываются только активные части).
TotalRowsOfMergeTreeTables
Общее количество строк (записей), хранящихся во всех таблицах семейства MergeTree.
TotalRowsOfMergeTreeTablesSystem
Общее количество строк (записей), хранящихся в таблицах семейства MergeTree в системной базе данных.
TotalUncompressedBytesOfMergeTreeTables
Общий объём несжатых байтов, хранящихся во всех таблицах семейства MergeTree, по данным контрольных сумм частей. Это тот же источник данных, что и для столбца total_bytes_uncompressed в system.tables; он не включает файлы, хранящиеся в несжатом виде, такие как marks и индексы первичного ключа.
TotalUncompressedBytesOfMergeTreeTablesSystem
Общий объём несжатых байтов, хранящихся в таблицах семейства MergeTree в системной базе данных, по данным контрольных сумм частей. Это тот же источник, что и столбец total_bytes_uncompressed в system.tables, и он не включает файлы, хранящиеся в несжатом виде, такие как marks и индексы первичного ключа.
TrackedMemory
Объём памяти, отслеживаемый ClickHouse (должен быть равен метрике MemoryTracking), в байтах.
UntrackedMemory
Сумма по всем потокам буферов недавних выделений и освобождений памяти, ещё не учтённых в TrackedMemory.
Время непрерывной работы
Время непрерывной работы сервера в секундах. Включает время, затраченное на инициализацию сервера до начала приема подключений.
VMMaxMapCount
Максимальное количество отображений памяти, которое может быть у процесса (/proc/sys/vm/max_map_count).
VMNumMaps
Текущее количество отображений памяти процесса (/proc/self/maps). Если оно близко к максимальному значению (VMMaxMapCount), следует увеличить значение vm.max_map_count в /etc/sysctl.conf
ZooKeeperClientLastZXIDSeen
Последний ZXID, замеченный в текущем сеансе клиента ZooKeeper. Это значение монотонно увеличивается по мере того, как клиент получает транзакции из ZooKeeper.
См. также
- Мониторинг — Основные понятия мониторинга ClickHouse.
- system.metrics — Содержит метрики, вычисляемые мгновенно.
- system.events — Содержит ряд произошедших событий.
- system.metric_log — Содержит историю значений метрик из таблиц
system.metricsиsystem.events.