Метрики мониторинга ADH

В данной статье описаны метрики мониторинга, получаемые от ADH-кластера.

Типы метрик

Все метрики делятся на 2 группы: системные и сервисные. Обе группы метрик отображаются в интерфейсах Graphite/Grafana.

Системные метрики отражают общее состояние хостов кластера и обычно связаны с потреблением ресурсов. Ниже представлен список системных метрик.

Системные метрики
Группа метрик Описание

cpu

Использование ЦПУ

diskspace

Использование диска

files

Файловая статистика

iostat

Производительность операций ввода/вывода

loadavg

Средние значения загрузки системы

memory

Использование памяти

netstat

Статистика сетевых подключений

network

Производительность сетевых интерфейсов

uptime

Время работы

Сервисные метрики отражают характеристики отдельных сервисов ADH и представлены ниже.

HBase
Компонент Группа метрик Имя метрики Описание

RegionServer

IPC

numActiveHandler

Количество обработчиков RPC, активно обслуживающих запросы

numCallsInGeneralQueue

Количество текущих запросов пользователей в очереди

numOpenConnections

Количество открытых соединений на уровне RPC

JvmMetrics

GcCount

Общее количество итераций GC

GcCountConcurrentMarkSweep

Количество сборок мусора, выполненных с помощью алгоритма Concurrent Mark Sweep

GcCountParNew

Количество сборок мусора, выполненных с помощью алгоритма ParNew

GcTimeMillis

Общее время сборки мусора в мс

GcTimeMillisConcurrentMarkSweep

Общее время сборки мусора (CMS) в мс

GcTimeMillisParNew

Общее время сборки мусора (ParNew) в мс

MemHeapCommittedM

Текущая выделенная память heap в МБ

MemHeapMaxM

Максимальный размер памяти heap в МБ

MemHeapUsedM

Используемая память heap в МБ

Server

Append_95th_percentile

95-й перцентиль значений задержки операций append в RegionServer

Append_median

Медиана значений задержки операций append в RegionServer

Delete_95th_percentile

95-й перцентиль значений задержки операций delete в RegionServer

Delete_median

Медиана значений задержки операций delete в RegionServer

Get_95th_percentile

95-й перцентиль значений задержки операций get в RegionServer

Get_median

Медиана значений задержки операций get в RegionServer

Increment_95th_percentile

95-й перцентиль значений задержки операций increment в RegionServer

Increment_median

Медиана значений задержки операций increment в RegionServer

Put_95th_percentile

95-й перцентиль значений задержки операций put в RegionServer

Put_median

Медиана значений задержки операций put в RegionServer

ScanTime_95th_percentile

95-й перцентиль значений задержки операций scan в RegionServer

ScanTime_median

Медиана значений задержки операций scan в RegionServer

percentFilesLocal

Процент сохраненных данных, которые могут быть прочитаны с локальной DataNode

HDFS
Компонент Группа метрик Имя метрики Описание

datanode

FSDatasetState

NumFailedVolumes

Количество неработающих дисков в кластере

JvmMetrics

GcCount

Общее количество итераций GC

GcCountPSMarkSweep

Количество сборок мусора, выполненных с помощью алгоритма PS MarkSweep

GcCountPSScavenge

Количество сборок мусора, выполненных с помощью алгоритма PS Scavenge

GcTimeMillis

Общее время сборки мусора в мс

GcTimeMillisPSMarkSweep

Общее время сборки мусора (PS MarkSweep) в мс

GcTimeMillisPSScavenge

Общее время сборки мусора (PS Scavenge) в мс

MemHeapCommittedM

Текущая выделенная память heap в МБ

MemHeapMaxM

Максимальный размер памяти heap в МБ

MemHeapUsedM

Используемая память heap в МБ

RpcActivityForPort

NumOpenConnections

Количество открытых соединений (RPC)

RpcProcessingTimeAvgTime

Среднее время обработки запросов

RpcQueueTimeAvgTime

Среднее время ожидания запроса в очереди

namenode

FSNamesystem

BlockCapacity

Объем доступного пространства для хранения блоков

BlocksTotal

Общее количество блоков данных

CapacityTotal

Общий объем доступного пространства для хранения данных

CapacityUsed

Общий объем используемого пространства для хранения данных

CorruptReplicatedBlocks

Количество поврежденных или повторно скопированных блоков данных в HDFS

FilesTotal

Общее количество файлов в HDFS

MissingBlocks

Количество недостающих блоков данных

UnderReplicatedBlocks

Количество блоков данных, которые не имеют достаточного количества реплик в HDFS

JvmMetrics

GcCount

Общее количество итераций GC

GcCountPSMarkSweep

Количество сборок мусора, выполненных с помощью алгоритма PS MarkSweep

GcCountPSScavenge

Количество сборок мусора, выполненных с помощью алгоритма PS Scavenge

GcTimeMillis

Общее время сборки мусора в мс

GcTimeMillisPSMarkSweep

Общее время сборки мусора (PS MarkSweep) в мс

GcTimeMillisPSScavenge

Общее время сборки мусора (PS Scavenge) в мс

MemHeapCommittedM

Текущая выделенная память heap в МБ

MemHeapMaxM

Максимальный размер памяти heap в МБ

MemHeapUsedM

Используемая память heap в МБ

RpcActivityForPort

NumOpenConnections

Количество открытых соединений (RPC)

RpcProcessingTimeAvgTime

Среднее время обработки запросов

RpcQueueTimeAvgTime

Среднее время ожидания запроса в очереди

Hive
Компонент Группа метрик Имя метрики Описание

hiveserver2

ClassLoading

LoadedClassCount

Количество загруженных классов

GarbageCollector

PSMarkSweep

Время, затраченное на выполнение сборки мусора с помощью алгоритма PS MarkSweep

PSScavenge

Время, затраченное на выполнение сборки мусора с помощью алгоритма PS Scavenge

HS2

active_calls_api_Driver_execute

Метрики active_calls_api_<method_name> показывают количество вызовов соответствующего метода на текущий момент времени

active_calls_api_Driver_run

active_calls_api_PostHook_org_apache_hadoop_hive_ql_stats_OperatorStatsReaderHook

active_calls_api_compile

active_calls_api_hs2_operation_INITIALIZED

Количество активных операций в HiveServer2 (HS2), которые находятся в соответствующем статусе

active_calls_api_hs2_operation_PENDING

active_calls_api_hs2_operation_RUNNING

active_calls_api_hs2_sql_operation_PENDING

Количество активных SQL-операций в HiveServer2 (HS2), которые находятся в соответствующем статусе

active_calls_api_hs2_sql_operation_RUNNING

active_calls_api_parse

Количество запросов, отправленных к HiveServer через API, которые были успешно распарсены и готовы к выполнению

active_calls_api_releaseLocks

Метрики active_calls_api_<method_name> показывают количество вызовов соответствующего метода в текущий момент времени

active_calls_api_runTasks

active_calls_api_semanticAnalyze

active_calls_api_waitCompile

active_calls_hs2_compiling_queries

Количество запросов, которые находятся в процессе компиляции

active_calls_hs2_executing_queries

Количество запросов, которые находятся в процессе выполнения

active_calls_hs2_submitted_queries

Количество запросов, которые были отправлены на выполнение

api_Driver_execute

Метрики api_<method_name> показывают количество вызовов соответствующего метода

api_Driver_run

api_PostHook_org_apache_hadoop_hive_ql_stats_OperatorStatsReaderHook

api_compile

api_hs2_operation_INITIALIZED

api_hs2_operation_PENDING

api_hs2_operation_RUNNING

api_hs2_sql_operation_PENDING

api_hs2_sql_operation_RUNNING

api_parse

api_releaseLocks

api_runTasks

api_semanticAnalyze

api_waitCompile

cumulative_connection_count

Общее количество соединений с HiveServer2 с момента запуска сервера

exec_async_pool_size

Размер пула асинхронных потоков HiveServer2

exec_async_queue_size

Размер очереди асинхронных операций HiveServer2

hs2_active_sessions

Количество активных сессий на сервере HiveServer2

hs2_compiling_queries

Количество запросов, находящихся в процессе компиляции на сервере HiveServer2

hs2_completed_operation_CLOSED

Количество завершенных операций с соответствующим статусом

hs2_completed_operation_FINISHED

hs2_completed_sql_operation_CLOSED

Количество завершенных SQL-операций с соответствующим статусом

hs2_completed_sql_operation_FINISHED

hs2_executing_queries

Количество запросов, выполняющихся в данный момент на сервере HiveServer2

hs2_open_sessions

Количество открытых сессий

hs2_sql_operation_active_user

Текущее количество активных пользователей, выполняющих SQL-операции на сервере HiveServer2

hs2_submitted_queries

Количество запросов, отправленных на сервер HiveServer2

hs2_succeeded_queries

Количество запросов, успешно обработанных сервером HiveServer2

buffers_direct_count

Метрики JVM

buffers_direct_used

buffers_mapped_capacity

buffers_mapped_count

buffers_mapped_used

classLoading_loaded

classLoading_unloaded

gc_PS-MarkSweep_count

gc_PS-MarkSweep_time

gc_PS-Scavenge_count

gc_PS-Scavenge_time

jvm_pause_extraSleepTime

memory_heap_committed

memory_heap_init

memory_heap_max

memory_heap_usage

memory_heap_used

memory_non-heap_committed

memory_non-heap_init

memory_non-heap_max

memory_non-heap_usage

memory_non-heap_used

memory_pools_Code-Cache_usage

memory_pools_Compressed-Class-Space_usage

memory_pools_Metaspace_usage

memory_pools_PS-Eden-Space_usage

memory_pools_PS-Old-Gen_usage

memory_pools_PS-Survivor-Space_usage

memory_total_committed

memory_total_init

memory_total_max

memory_total_used

open_connections

open_operations

qc_current_size

qc_max_size

threads_blocked_count

threads_count

threads_daemon_count

threads_deadlock_count

threads_new_count

threads_runnable_count

threads_terminated_count

threads_timed_waiting_count

threads_waiting_count

waiting_compile_ops

Memory

HeapMemoryUsage_committed

Объем памяти, выделенной для heap

HeapMemoryUsage_init

Начальный объем памяти для heap

HeapMemoryUsage_max

Максимальный объем памяти для heap

HeapMemoryUsage_used

Используемый объем памяти для heap

NonHeapMemoryUsage_committed

Объем памяти, выделенной для non-heap областей в JVM

NonHeapMemoryUsage_init

Начальный объем памяти, выделенной для non-heap областей

NonHeapMemoryUsage_max

Максимальный объем памяти, выделенной для non-heap областей в JVM

NonHeapMemoryUsage_used

Используемый объем памяти для non-heap областей в JVM

MemoryPool

CodeCache

Размер кодового кеша (Code Cache)

CompressedClassSpace

Размер области сжатых указателей (Compressed class space)

Metaspace

Размер метаспейса (Metaspace)

PSEdenSpace

Размер пространства Eden в Spark History Server с помощью алгоритма PS

PSOldGen

Размер старшего поколения (Old Generation) в Spark History Server с помощью алгоритма PS

PSSurvivorSpace

Размер Survivor-пространства в Spark History Server с помощью алгоритма PS

OperatingSystem

ProcessCpuLoad

Загрузка процессора

Threading

DaemonThreadCount

Количество демон-потоков

PeakThreadCount

Максимальное количество потоков

ThreadCount

Текущее количество потоков

TotalStartedThreadCount

Общее количество потоков

metastore

ClassLoading

LoadedClassCount

Количество загруженных классов

GarbageCollector

PSMarkSweep

Время, затраченное на выполнение сборки мусора с помощью алгоритма PS MarkSweep

PSScavenge

Время, затраченное на выполнение сборки мусора с помощью алгоритма PS Scavenge

Memory

HeapMemoryUsage_committed

Объем памяти, выделенной для heap

HeapMemoryUsage_init

Начальный объем памяти для heap

HeapMemoryUsage_max

Максимальный объем памяти для heap

HeapMemoryUsage_used

Используемый объем памяти для heap

NonHeapMemoryUsage_committed

Объем памяти, выделенной для non-heap областей в JVM

NonHeapMemoryUsage_init

Начальный объем памяти, выделенной для non-heap областей

NonHeapMemoryUsage_max

Максимальный объем памяти, выделенной для non-heap областей в JVM

NonHeapMemoryUsage_used

Используемый объем памяти для non-heap областей в JVM

MemoryPool

CodeCache

Размер кодового кеша (Code Cache)

CompressedClassSpace

Размер области сжатых указателей (Compressed class space)

Metaspace

Размер метаспейса (Metaspace)

PSEdenSpace

Размер пространства Eden в Spark History Server с помощью алгоритма PS

PSOldGen

Размер старшего поколения (Old Generation) в Spark History Server с помощью алгоритма PS

PSSurvivorSpace

Размер Survivor-пространства в Spark History Server с помощью алгоритма PS

OperatingSystem

ProcessCpuLoad

Загрузка процессора

Threading

DaemonThreadCount

Количество демон-потоков

PeakThreadCount

Максимальное количество потоков

ThreadCount

Текущее количество потоков

TotalStartedThreadCount

Общее количество потоков

metastore

PS-MarkSweep_count

Количество итераций GC, выполненных с помощью алгоритма Concurrent Mark Sweep

PS-MarkSweep_time

Время, затраченное на выполнение сборки мусора с помощью алгоритма PS MarkSweep

PS-Scavenge_count

Количество итераций GC, выполненных с помощью алгоритма PS Scavenge

PS-Scavenge_time

Время, затраченное на выполнение сборки мусора с помощью алгоритма PS Scavenge

active_calls_create_table

Метрики active_calls_api_<method_name> показывают количество вызовов соответствующего метода на текущий момент времени

active_calls_drop_table

active_calls_get_all_functions

active_calls_get_config_value

active_calls_get_database

active_calls_get_databases

active_calls_get_functions

active_calls_get_multi_table

active_calls_get_table

active_calls_get_tables

active_calls_get_tables_by_type

api_create_table

Метрики api_<method_name> показывают количество вызовов соответствующего метода

api_create_table_with_environment_context

api_drop_table

api_drop_table_with_environment_context

api_flushCache

api_get_all_databases

api_get_all_functions

api_get_config_value

api_get_current_notificationEventId

api_get_database

api_get_databases

api_get_functions

api_get_multi_table

api_get_next_notification

api_get_table

api_get_table_objects_by_name_req

api_get_table_req

api_get_tables

api_get_tables_by_type

api_init

api_set_ugi

api_shutdown

blocked_count

Количество потоков, которые заблокированы на ожидание блокировки

create_total_count_dbs

Количество созданных баз данных

create_total_count_partitions

Количество созданных партиций

create_total_count_tables

Количество созданных таблиц

daemon_count

Количество демонов

deadlock_count

Количество обнаруженных блокировок

delete_total_count_dbs

Общее количество удаленных баз данных

delete_total_count_partitions

Общее количество удаленных партиций

delete_total_count_tables

Общее количество удаленных таблиц

direct_count

Метрики JVM

direct_used

directsql_errors

heap_committed

heap_init

heap_max

heap_usage

heap_used

jvm_pause_extraSleepTime

jvm_pause_info-threshold

jvm_pause_warn-threshold

loaded

mapped_capacity

mapped_count

mapped_used

new_count

non-heap_committed

non-heap_init

non-heap_max

non-heap_usage

non-heap_used

open_connections

pools_Code-Cache_usage

pools_Compressed-Class-Space_usage

pools_Metaspace_usage

pools_PS-Eden-Space_usage

pools_PS-Old-Gen_usage

pools_PS-Survivor-Space_usage

runnable_count

terminated_count

timed_waiting_count

total_committed

total_count_dbs

total_count_partitions

total_count_tables

total_init

total_max

total_used

unloaded

waiting_count

Spark/Spark3
Компонент Группа метрик Имя метрики Описание

historyserver

ClassLoading

LoadedClassCount

Количество загруженных классов

GarbageCollector

PSMarkSweep

Время, затраченное на выполнение сборки мусора с помощью алгоритма PS MarkSweep

PSScavenge

Время, затраченное на выполнение сборки мусора с помощью алгоритма PS Scavenge

Memory

HeapMemoryUsage_committed

Объем памяти, выделенной для heap

HeapMemoryUsage_init

Начальный объем памяти для heap

HeapMemoryUsage_max

Максимальный объем памяти для heap

HeapMemoryUsage_used

Используемый объем памяти для heap

NonHeapMemoryUsage_committed

Объем памяти, выделенной для non-heap областей в JVM

NonHeapMemoryUsage_init

Начальный объем памяти, выделенной для non-heap областей

NonHeapMemoryUsage_max

Максимальный объем памяти, выделенной для non-heap областей в JVM

NonHeapMemoryUsage_used

Используемый объем памяти для non-heap областей в JVM

MemoryPool

CodeCache

Размер кодового кеша (Code Cache)

CompressedClassSpace

Размер области сжатых указателей (Compressed class space)

Metaspace

Размер метаспейса (Metaspace)

PSEdenSpace

Размер пространства Eden в Spark History Server с помощью алгоритма PS

PSOldGen

Размер старшего поколения (Old Generation) в Spark History Server с помощью алгоритма PS

PSSurvivorSpace

Размер Survivor-пространства в Spark History Server с помощью алгоритма PS

OperatingSystem

ProcessCpuLoad

Загрузка процессора

Threading

DaemonThreadCount

Количество демон-потоков

PeakThreadCount

Максимальное количество потоков

ThreadCount

Текущее количество потоков

TotalStartedThreadCount

Общее количество потоков

YARN
Компонент Группа метрик Имя метрики Описание

historyserver

JvmMetrics

GcCount

Общее количество итераций GC

GcCountPSMarkSweep

Количество сборок мусора, выполненных с помощью алгоритма PS MarkSweep

GcCountPSScavenge

Количество сборок мусора, выполненных с помощью алгоритма PS Scavenge

GcTimeMillis

Общее время сборки мусора в мс

GcTimeMillisPSMarkSweep

Общее время сборки мусора (PS MarkSweep) в мс

GcTimeMillisPSScavenge

Общее время сборки мусора (PS Scavenge) в мс

MemHeapCommittedM

Текущая выделенная память heap в МБ

MemHeapMaxM

Максимальный размер памяти heap в МБ

MemHeapUsedM

Используемая память heap в МБ

nodemanager

JvmMetrics

GcCount

Общее количество итераций GC

GcCountPSMarkSweep

Количество сборок мусора, выполненных с помощью алгоритма PS MarkSweep

GcCountPSScavenge

Количество сборок мусора, выполненных с помощью алгоритма PS Scavenge

GcTimeMillis

Общее время сборки мусора в мс

GcTimeMillisPSMarkSweep

Общее время сборки мусора (PS MarkSweep) в мс

GcTimeMillisPSScavenge

Общее время сборки мусора (PS Scavenge) в мс

MemHeapCommittedM

Текущая выделенная память heap в МБ

MemHeapMaxM

Максимальный размер памяти heap в МБ

MemHeapUsedM

Используемая память heap в МБ

NodeManagerMetrics

AllocatedContainers

Количество выделенных контейнеров

AllocatedGB

Размер выделенной памяти в ГБ

AllocatedVCores

Количество выделенных ядер

AvailableGB

Размер доступной памяти в ГБ

AvailableVCores

Количество доступных ядер

BadLocalDirs

Количество директорий на локальном диске, которые не могут быть использованы для хранения данных задач из-за ошибок

BadLogDirs

Количество директорий на локальном диске, которые не могут быть использованы для записи лог-файлов задач из-за ошибок

ContainerLaunchDurationAvgTime

Среднее время, затраченное на запуск контейнера задачи

ContainersCompleted

Количество контейнеров задач, которые были успешно завершены

ContainersFailed

Количество контейнеров задач, которые завершились неудачно

ContainersIniting

Количество контейнеров задач, которые находятся в процессе инициализации

ContainersKilled

Количество контейнеров задач, которые были принудительно остановлены

ContainersLaunched

Количество контейнеров задач, которые были успешно запущены

ContainersRunning

Количество контейнеров задач, которые в данный момент выполняются

GoodLocalDirsDiskUtilizationPerc

Процент использования дискового пространства в директориях на локальном диске, которые могут использоваться для хранения данных задач

GoodLogDirsDiskUtilizationPerc

Процент использования дискового пространства в директориях на локальном диске, которые могут использоваться для записи лог-файлов задач

resourcemanager

JvmMetrics

GcCount

Общее количество итераций GC

GcCountPSMarkSweep

Количество сборок мусора, выполненных с помощью алгоритма PS MarkSweep

GcCountPSScavenge

Количество сборок мусора, выполненных с помощью алгоритма PS Scavenge

GcTimeMillis

Общее время сборки мусора в мс

GcTimeMillisPSMarkSweep

Общее время сборки мусора (PS MarkSweep) в мс

GcTimeMillisPSScavenge

Общее время сборки мусора (PS Scavenge) в мс

MemHeapCommittedM

Текущая выделенная память heap в МБ

MemHeapMaxM

Максимальный размер памяти heap в МБ

MemHeapUsedM

Используемая память heap в МБ

QueueMetrics

AllocatedVCores

Количество выделенных ядер

AppsFailed

Количество приложений, завершенных ошибкой

AppsKilled

Количество приложений, "убитых" пользователем

AppsPending

Количество приложений, ожидающих ресурсов

AppsRunning

Количество запущенных приложений

AppsSubmitted

Количество отправленных в очередь приложений

AvailableVCores

Количество доступных ядер

Визуализация метрик

Для просмотра метрик в виде графиков и схем используйте веб-интерфейсы Graphite и Grafana, доступные после установки кластера мониторинга.

Graphite

Graphite — это инструмент для мониторинга, который хранит числовые данные временного ряда (метрики) и может их визуализировать на графиках в веб-интерфейсе.

Для просмотра метрик в Graphite введите в адресной строке вашего браузера адрес хоста, где установлен кластер мониторинга. Например, http://10.20.30.444:<port>. По умолчанию Graphite использует порт 80. Данный порт можно не указывать, если не был задан иной порт при установке кластера мониторинга.

graphite metrics
Метрики в Graphite
graphite metrics dark
Метрики в Graphite

Grafana

Grafana умеет запрашивать данные из Graphite и визуализировать их.

Чтобы открыть интерфейс Grafana, в адресной строке браузера введите адрес хоста, где установлен кластер мониторинга. Например, http://10.20.30.444:<port>. По умолчанию, интерфейс Grafana доступен на 3000 порту.

Затем, кликните Home и выберите нужный дашборд с метриками.

grafana metrics
Метрики в Grafana
Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней