Расширения Elasticsearch
Расширение Elasticsearch
Мониторинг здоровья и производительности кластера, нод и индексов Elasticsearch путём сбора метрик через API с обнаружением аномалий и анализом первопричин.
Начало работы
Обзор
Используйте страницы Унифицированного анализа для анализа здоровья ваших кластеров Elasticsearch и детализации отдельных метрик.
Варианты использования
- Мониторинг здоровья и производительности вашего кластера Elasticsearch с помощью встроенных страниц анализа и удобных для навигации дашбордов.
- Анализ первопричин проблем производительности кластера, нод и индексов Elasticsearch.
- Включение оповещений на основе обнаруженных аномалий.
- Доступ к поддержке анализа, адаптированной для администраторов эксплуатации, ИТ и сетей.
Требования
Расширение Elasticsearch использует следующие конечные точки Elasticsearch для сбора метрик:
/_cluster/health/_all/_stats?level=shards/_nodes/stats/_alias/_cat/shards
Согласно документации Elasticsearch, пользователь, указанный в конфигурации мониторинга расширения, требует следующих разрешений:
- привилегия кластера
monitor - привилегии индексов
monitorиview_index_metadata
Информация о совместимости
Расширение Elasticsearch подключается к кластеру Elasticsearch через API. Кластер должен быть доступен с АктивныйШлюз, на котором активировано расширение.
Хост, инструментированный ЕдиныйАгент, также может запускать это расширение, поэтому кластер Elasticsearch можно отслеживать из ЕдиныйАгент, указав адрес локальной сети. Однако если вы активируете это расширение на нескольких хостах в одном кластере, вы получите одни и те же данные кластера несколько раз. По этой причине активируйте расширение только на одном хосте в кластере, если вы решите запускать его локально.
Расширение Elasticsearch поддерживает:
- Elasticsearch версии 8.0 или выше.
- OpenSearch версии 2.12.0. Однако полная совместимость и поддержка не гарантируются.
Активация и настройка
- В Ключ-АСТРОМ скачайте расширение Elasticsearch, затем выберите Добавить конфигурацию мониторинга рядом с версией расширения в списке Версии.
- Выберите хост, который вы хотите отслеживать, и укажите URL экземпляра Elasticsearch и учётные данные для подключения к нему.
- Выберите наборы функций, содержащие метрики, которые вы хотите импортировать.
Детали
Расширение Elasticsearch построено на фреймворке расширений, который использует встроенный экспортёр метрик Elasticsearch. Страницы Унифицированного анализа предоставляют информацию о здоровье и производительности ваших кластеров Elasticsearch.
Пакет расширения Elasticsearch содержит:
- Конфигурацию источника данных для приёма метрик.
- Определения топологии и отношений для кластеров Elasticsearch и их нод, индексов, дисков и пулов потоков.
- Страницы Унифицированного анализа для каждой сущности (доступны с дашборда).
- Дашборд обзора.
- Оповещения для нескольких ключевых метрик:
* Общее использование CPU > 85 % * Использование файловой системы > 80 % * Открытые файловые дескрипторы > 80 % от максимального числа файловых дескрипторов * Использование кучи > 85 % * Отклонённые потоки > 300
Лицензирование и затраты
Использование расширения бесплатно. Вы платите только за данные, которые собирает расширение.
Расширение Elasticsearch собирает пользовательские метрики, которые потребляют Davis Data Units (DDU) (классическая лицензия Ключ-АСТРОМ) или метрики в зависимости от вашей модели лицензирования.
Следующая формула даёт количество точек данных метрик в минуту при условии, что все наборы функций включены.
(12 * количество кластеров) + (53 * количество нод) + (47 * количество индексов) + ( 5 * количество дисков) + ( 5 * количество пулов потоков)
Это даёт количество точек данных метрик, принимаемых за интервал мониторинга.
Подписка на платформу Ключ-АСТРОМ
В подписке на платформу Ключ-АСТРОМ приём метрик потребляет метрики в соответствии с количеством принятых точек данных метрик.
Чтобы рассчитать приблизительное годовое потребление, примените следующую формулу: <количество точек данных метрик в минуту> * 60 минут * 24 часа * 365 дней.
Для логов применяется обычное потребление.
Классическая лицензия Ключ-АСТРОМ
В классической модели лицензирования приём метрик потребляет Davis Data Units (DDU) со скоростью 0,001 DDU на точку данных метрики. Умножьте приведённую выше формулу для годовых точек данных на 0,001, чтобы оценить годовое использование DDU.
Для логов применяется обычное потребление DDU.
Стоимость DDU, указанная выше, не включает возможные события логов или пользовательские события, запускаемые расширением.
Наборы функций
При активации расширения с помощью конфигурации мониторинга вы можете ограничить мониторинг одним из наборов функций. Для корректной работы расширение должно собрать хотя бы одну метрику после активации.
В сильно сегментированных сетях наборы функций могут отражать сегменты вашей среды. Затем при создании конфигурации мониторинга вы можете выбрать набор функций и соответствующую группу АктивныйШлюз, которая может подключиться к этому конкретному сегменту.
Все метрики, не отнесённые ни к одному набору функций, считаются стандартными и всегда сообщаются.
Метрика наследует набор функций подгруппы, которая, в свою очередь, наследует набор функций группы. Кроме того, набор функций, определённый на уровне метрики, переопределяет набор функций, определённый на уровне подгруппы, который, в свою очередь, переопределяет набор функций, определённый на уровне группы.
node-cache-basic
| Название метрики | Ключ метрики | Описание |
|---|---|---|
| Query Cache Size | elasticsearch_indices_query_cache_memory_size_bytes |
Размер кэша запросов в байтах |
| Request Cache Size | elasticsearch_indices_request_cache_memory_size_bytes |
Размер кэша запросов в байтах |
| Fielddata Evictions | elasticsearch_indices_fielddata_evictions |
Количество вытеснений fielddata |
node-network-basic
| Название метрики | Ключ метрики | Описание |
|---|---|---|
| Network Received Packets | elasticsearch_transport_rx_packets_total.count |
Количество полученных пакетов |
| Network Sent Packets | elasticsearch_transport_tx_packets_total.count |
Количество отправленных пакетов |
| Network Packets Transferred | elasticsearch_transport_transferred_packets_total |
Количество переданных сетевых пакетов |
| Network Bytes Transferred | elasticsearch_transport_transferred_bytes_total |
Общее количество переданных сетевых байтов |
node-circuit-breaker-advanced
| Название метрики | Ключ метрики | Описание |
|---|---|---|
| Breaker Estimated Size | elasticsearch_breakers_estimated_size_bytes |
Оценочный размер размыкателя цепи в байтах |
| Breaker Overhead | elasticsearch_breakers_overhead |
Накладные расходы размыкателя цепи |
index-cache-basic
| Название метрики | Ключ метрики | Описание |
|---|---|---|
| Fielddata Evictions | elasticsearch_index_stats_fielddata_evictions_total |
Количество вытеснений fielddata |
| Fielddata Memory | elasticsearch_index_stats_fielddata_memory_bytes_total |
Объём памяти fielddata в байтах |
| Query Cache Memory | elasticsearch_index_stats_query_cache_memory_bytes_total |
Объём памяти кэша запросов в байтах |
| Query Cache Size | elasticsearch_index_stats_query_cache_size |
Размер кэша запросов в байтах |
| Request Cache Size | elasticsearch_index_stats_request_cache_memory_bytes_total |
Размер кэша запросов в байтах |
node-memory-basic
| Название метрики | Ключ метрики | Описание |
|---|---|---|
| Free Memory | elasticsearch_os_mem_free_bytes |
Свободная память в байтах |
| Used Memory | elasticsearch_os_mem_used_bytes |
Используемая память в байтах |
| Total Memory | elasticsearch_os_mem_total_bytes |
Общая память в байтах |
| Memory Usage | elasticsearch_os_mem_usage_percent |
Процент использования памяти |
index-es-operations
| Название метрики | Ключ метрики | Описание |
|---|---|---|
| Scroll Rate | elasticsearch_index_stats_search_scroll_rate |
— |
| Warmer Rate | elasticsearch_index_stats_warmer_rate |
— |
| Search Suggest Rate | elasticsearch_index_stats_search_suggest_rate |
— |
| Total Search Time | elasticsearch_index_stats_search_total |
Общее время поиска в секундах |
| Query Rate | elasticsearch_index_stats_search_query_rate |
— |
| Fetch Rate | elasticsearch_index_stats_search_fetch_rate |
— |
| Get Rate | elasticsearch_index_stats_get_rate |
— |
| Indexing Rate | elasticsearch_index_stats_indexing_index_rate |
— |
| Refresh Rate | elasticsearch_index_stats_refresh_rate |
— |
| Flush Rate | elasticsearch_index_stats_flush_rate |
— |
| Delete Rate | elasticsearch_index_stats_indexing_delete_rate |
— |
| Merge Rate | elasticsearch_index_stats_merge_rate |
— |
| Query Count | elasticsearch_index_stats_search_query_total.count |
Общее количество запросов |
| Query Time | elasticsearch_index_stats_search_query_time_seconds_total |
Время запросов в секундах |
| Fetch Count | elasticsearch_index_stats_search_fetch_total.count |
Общее количество выборок |
| Fetch Time | elasticsearch_index_stats_search_fetch_time_seconds_total |
Время выборки в секундах |
| Get Count | elasticsearch_index_stats_get_total.count |
Общее количество get-операций |
| Get Time | elasticsearch_index_stats_get_time_seconds_total |
Время get-операций в секундах |
| Indexing Count | elasticsearch_index_stats_indexing_index_total.count |
Общее количество операций индексации |
| Indexing Time | elasticsearch_index_stats_indexing_index_time_seconds_total |
Время индексации в секундах |
| Refresh Count | elasticsearch_index_stats_refresh_total.count |
Общее количество обновлений |
| Refresh Time | elasticsearch_index_stats_refresh_time_seconds_total |
Время обновления в секундах |
| Flush Count | elasticsearch_index_stats_flush_total.count |
Общее количество сбросов |
| Flush Time | elasticsearch_index_stats_flush_time_seconds_total |
Время сброса в секундах |
| Delete Count | elasticsearch_index_stats_indexing_delete_total.count |
Общее количество удалений |
| Delete Time | elasticsearch_index_stats_indexing_delete_time_seconds_total |
Время удаления в секундах |
| Merge Count | elasticsearch_index_stats_merge_total.count |
Общее количество слияний |
| Merge Time | elasticsearch_index_stats_merge_time_seconds_total |
Время слияния в секундах |
| Indexing Throttle Time | elasticsearch_index_stats_indexing_throttle_time_seconds_total |
Время троттлинга индексации в секундах |
| Indexing No-op count | elasticsearch_index_stats_indexing_noop_update_total.count |
Общее количество no-op операций индексации |
| Scroll Time | elasticsearch_index_stats_search_scroll_time_seconds_total |
Время прокрутки в секундах |
| Scroll Count | elasticsearch_index_stats_search_scroll_total.count |
Общее количество прокруток |
| Warmer Count | elasticsearch_index_stats_warmer_total.count |
Общее количество прогревов |
| Warmer Time | elasticsearch_index_stats_warmer_time_seconds_total |
Время прогрева в секундах |
| Search Suggest Count | elasticsearch_index_stats_search_suggest_total.count |
Общее количество поисковых подсказок |
| Search Suggest Time | elasticsearch_index_stats_search_suggest_time_seconds_total |
Время поисковых подсказок в секундах |
node-network-advanced
| Название метрики | Ключ метрики | Описание |
|---|---|---|
| Network Received bytes | elasticsearch_transport_rx_size_bytes_total |
Объём полученных байтов |
| Network sent bytes | elasticsearch_transport_tx_size_bytes_total |
Объём отправленных байтов |
cluster-health-advanced
| Название метрики | Ключ метрики | Описание |
|---|---|---|
| Initializing Shards | elasticsearch_cluster_health_initializing_shards |
Количество инициализирующихся шардов |
| Unassigned Shards | elasticsearch_cluster_health_unassigned_shards |
Количество неназначенных шардов |
| Relocating Shards | elasticsearch_cluster_health_relocating_shards |
Количество перемещаемых шардов |
| Delayed Unassigned Shards | elasticsearch_cluster_health_delayed_unassigned_shards |
Количество отложенных неназначенных шардов |
| Data nodes | elasticsearch_cluster_health_number_of_data_nodes |
Количество нод данных |
index-es-overview-advanced
| Название метрики | Ключ метрики | Описание |
|---|---|---|
| Total Documents By Shard | elasticsearch_indices_shards_docs |
Общее количество документов по шардам |
| Deleted Documents By Shard | elasticsearch_indices_shards_docs_deleted |
Удалённые документы по шардам |
| Shard Size | elasticsearch_indices_shards_store_size_in_bytes |
Размер шарда в байтах |
| Deleted Documents | elasticsearch_indices_deleted_docs_total |
Общее количество удалённых документов |
| Indexing Documents | elasticsearch_index_stats_index_current |
Количество документов, индексируемых в данный момент |
| Merge Stopped Time | elasticsearch_index_stats_merge_stopped_time_seconds_total |
Общее время остановки крупных слияний в секундах |
| Merge Throttle Time | elasticsearch_index_stats_merge_throttle_time_seconds_total |
Общее время троттлинга ввода-вывода слияний в секундах |
node-filesystem-basic
| Название метрики | Ключ метрики | Описание |
|---|---|---|
| Filesystem Size | elasticsearch_filesystem_data_size_bytes |
Размер файловой системы в байтах |
| Filesystem Free | elasticsearch_filesystem_data_free_bytes |
Доступное пространство файловой системы в байтах |
| Filesystem Used | elasticsearch_filesystem_data_used_bytes |
Используемое пространство файловой системы в байтах |
| Filesystem Usage | elasticsearch_filesystem_data_usage_percent |
Процент использования файловой системы |
node-circuit-breaker-basic
| Название метрики | Ключ метрики | Описание |
|---|---|---|
| Breaker Limit Size | elasticsearch_breakers_limit_size_bytes |
Ограничение размера размыкателя цепи |
| Breaker Tripped | elasticsearch_breakers_tripped |
Сработал ли размыкатель цепи |
disk-performance-advanced
| Название метрики | Ключ метрики | Описание |
|---|---|---|
| Kilobytes Read From Disk | elasticsearch_filesystem_io_stats_device_read_size_kilobytes_sum |
Общее количество килобайт, прочитанных с диска |
| Kilobytes Written To Disk | elasticsearch_filesystem_io_stats_device_write_size_kilobytes_sum |
Общее количество килобайт, записанных на диск |
thread-pool-basic
| Название метрики | Ключ метрики | Описание |
|---|---|---|
| Threads | elasticsearch_thread_pool_threads_count.gauge |
Количество потоков |
| Rejected Threads | elasticsearch_thread_pool_rejected_count.gauge |
Количество отклонённых потоков |
host-jvm-basic
| Название метрики | Ключ метрики | Описание |
|---|---|---|
| Heap Max Bytes | elasticsearch_jvm_memory_max_bytes |
Максимальный размер кучи в байтах |
| Heap Used Bytes | elasticsearch_jvm_memory_used_bytes |
Используемый размер кучи в байтах |
| Heap Used | elasticsearch_jvm_memory_used_percent |
Процент использования кучи |
node-es-operations
| Название метрики | Ключ метрики | Описание |
|---|---|---|
| Query Rate | elasticsearch_indices_search_query_rate |
— |
| Fetch Rate | elasticsearch_indices_search_fetch_rate |
— |
| Get Rate | elasticsearch_indices_get_rate |
— |
| Indexing Rate | elasticsearch_indices_indexing_index_rate |
— |
| Refresh Rate | elasticsearch_indices_refresh_rate |
— |
| Flush Rate | elasticsearch_indices_flush_rate |
— |
| Delete Rate | elasticsearch_indices_delete_rate |
— |
| Query Count | elasticsearch_indices_search_query_total.count |
Общее количество запросов |
| Query Time | elasticsearch_indices_search_query_time_seconds |
Время запросов в секундах |
| Fetch Count | elasticsearch_indices_search_fetch_total.count |
Общее количество выборок |
| Fetch Time | elasticsearch_indices_search_fetch_time_seconds |
Время выборки в секундах |
| Get Count | elasticsearch_indices_get_total.count |
Общее количество get-операций |
| Get Time | elasticsearch_indices_get_time_seconds |
Время get-операций в секундах |
| Indexing Count | elasticsearch_indices_indexing_index_total.count |
Общее количество операций индексации |
| Indexing Time | elasticsearch_indices_indexing_index_time_seconds_total |
Время индексации в секундах |
| Refresh Count | elasticsearch_indices_refresh_total.count |
Общее количество обновлений |
| Refresh Time | elasticsearch_indices_refresh_time_seconds_total |
Время обновления в секундах |
| Flush Count | elasticsearch_indices_flush_total.count |
Общее количество сбросов |
| Flush Time | elasticsearch_indices_flush_time_seconds |
Время сброса в секундах |
| Delete Count | elasticsearch_indices_delete_total.count |
Общее количество удалений |
| Delete Time | elasticsearch_indices_delete_time_seconds |
Время удаления в секундах |
| Merge Count | elasticsearch_indices_merges_total.count |
Общее количество слияний |
| Merge Time | elasticsearch_indices_merges_total_time_seconds_total |
Время слияния в секундах |
| Merge Size | elasticsearch_indices_merges_total_size_bytes_total |
Размер слияния в байтах |
host-jvm-advanced
| Название метрики | Ключ метрики | Описание |
|---|---|---|
| Heap Committed Bytes | elasticsearch_jvm_memory_committed_bytes |
Выделенный размер кучи в байтах |
| Garbage Collection Time | elasticsearch_jvm_gc_collection_seconds_sum |
Время сборки мусора в секундах |
| Garbage Collection Count | elasticsearch_jvm_gc_collection_count.count |
— |
| Garbage Collection Rate | elasticsearch_jvm_gc_collection_rate |
— |
node-cache-advanced
| Название метрики | Ключ метрики | Описание |
|---|---|---|
| Filter Cache Size | elasticsearch_indices_filter_cache_memory_size_bytes |
Размер кэша фильтров в байтах |
| Fielddata Memory Usage | elasticsearch_indices_fielddata_memory_size_bytes |
Использование памяти fielddata в байтах |
disk-performance-basic
| Название метрики | Ключ метрики | Описание |
|---|---|---|
| Disk IOPS | elasticsearch_filesystem_io_stats_device_operations_count |
Количество дисковых операций ввода-вывода в секунду |
| Disk Read Rate | elasticsearch_filesystem_io_stats_device_read_operations_count |
Количество операций чтения в секунду |
| Disk Write Rate | elasticsearch_filesystem_io_stats_device_write_operations_count |
Количество операций записи в секунду |
index-es-overview-basic
| Название метрики | Ключ метрики | Описание |
|---|---|---|
| Alias | elasticsearch_indices_aliases |
Псевдоним индекса |
| Total Documents | elasticsearch_indices_docs_total |
Общее количество документов |
| Documents Without Replicas | elasticsearch_indices_docs_primary |
Общее количество документов без реплик |
| Index Size | elasticsearch_indices_store_size_bytes_total |
Размер индекса в байтах |
index-cache-advanced
| Название метрики | Ключ метрики | Описание |
|---|---|---|
| Query Cache Caches Count | elasticsearch_index_stats_query_cache_caches_total.count |
Количество кэшей в кэше запросов |
| Query Cache Hits | elasticsearch_index_stats_query_cache_hits_total |
Количество попаданий в кэш запросов |
| Query Cache Misses | elasticsearch_index_stats_query_cache_misses_total |
Количество промахов кэша запросов |
| Query Cache Evictions | elasticsearch_index_stats_query_cache_evictions_total |
Количество вытеснений из кэша запросов |
| Request Cache Evictions | elasticsearch_index_stats_request_cache_evictions_total |
Количество вытеснений из кэша запросов |
| Request Cache Hits | elasticsearch_index_stats_request_cache_hits_total |
Количество попаданий в кэш запросов |
| Request Cache Misses | elasticsearch_index_stats_request_cache_misses_total |
Количество промахов кэша запросов |
node-cpu-advanced
| Название метрики | Ключ метрики | Описание |
|---|---|---|
| CPU Load Average(1m) | elasticsearch_os_load1 |
Средняя нагрузка CPU за 1 минуту |
| CPU Load Average(5m) | elasticsearch_os_load5 |
Средняя нагрузка CPU за 5 минут |
| CPU Load Average(15m) | elasticsearch_os_load15 |
Средняя нагрузка CPU за 15 минут |
host-fds
| Название метрики | Ключ метрики | Описание |
|---|---|---|
| Max File Descriptors | elasticsearch_process_max_files_descriptors |
Максимальное количество файловых дескрипторов |
| Open File Descriptors | elasticsearch_process_open_files_count.gauge |
Открытые файловые дескрипторы |
node-es-overview
| Название метрики | Ключ метрики | Описание |
|---|---|---|
| Node Roles | elasticsearch_nodes_roles |
Роли ноды |
| Total Documents | elasticsearch_indices_docs |
Общее количество документов |
| Documents Deleted | elasticsearch_indices_docs_deleted |
Общее количество удалённых документов |
| Shards | elasticsearch_node_shards_total |
Общее количество шардов |
| Store Throttle Time | elasticsearch_indices_store_throttle_time_seconds_total |
Время троттлинга хранилища индекса в секундах |
| Translog Operations | elasticsearch_indices_translog_operations |
Общее количество операций translog |
| Translog Size | elasticsearch_indices_translog_size_in_bytes |
Размер translog в байтах |
node-cpu-basic
| Название метрики | Ключ метрики | Описание |
|---|---|---|
| OS CPU Util | elasticsearch_os_cpu_percent |
Процент использования CPU ОС |
| Process CPU Util | elasticsearch_process_cpu_percent |
Процент использования CPU процессом |
cluster-health-basic
| Название метрики | Ключ метрики | Описание |
|---|---|---|
| Health Status | elasticsearch_cluster_health_status |
Статус здоровья кластера |
| Number of Nodes | elasticsearch_cluster_health_number_of_nodes |
Количество нод в кластере |
| Active Replica Shards | elasticsearch_cluster_health_replica_shards |
Количество активных реплик шардов |
| Active Shards | elasticsearch_cluster_health_active_shards |
Количество активных шардов |
| Active Primary Shards | elasticsearch_cluster_health_active_primary_shards |
Количество активных первичных шардов |
| Pending Tasks | elasticsearch_cluster_health_number_of_pending_tasks |
Количество ожидающих задач |
| Max Task Waiting Time | elasticsearch_cluster_health_task_max_waiting_in_queue_millis |
Максимальное время ожидания задачи в миллисекундах |
| Segments | elasticsearch_indices_segment_count_total |
Количество сегментов |
thread-pool-advanced
| Название метрики | Ключ метрики | Описание |
|---|---|---|
| Queued Threads | elasticsearch_thread_pool_queue_count.gauge |
Количество потоков в очереди |
| Active Threads | elasticsearch_thread_pool_active_count.gauge |
Количество активных потоков |
| Completed Threads | elasticsearch_thread_pool_completed_count.gauge |
Количество завершённых потоков |
Часто задаваемые вопросы
Каково потребление метрик расширения Elasticsearch?
Расширения
Изучите в разделе Расширения.
Мониторинг здоровья и производительности кластера, нод и индексов Elasticsearch путём сбора метрик через API с обнаружением аномалий и анализом первопричин.