Перейти к содержанию

Мониторинг#

Мониторинг реализован как отправка данных в InfluxDB. Мониторинг включён в сервисах по умолчанию.

Также доступна возможность использования LUNA Dashboards (каталог "luna_index_module") и Grafana Loki для сервисов LIM. См. подробную информацию о мониторинге LUNA PLATFORM, LUNA Dashboards и Grafana Loki в разделе "Мониторинг" руководства администратора LUNA PLATFORM.

LUNA Dashboards на основе веб-приложения Grafana создает набор дашбордов для анализа состояния отдельных сервисов, а также пару обобщенных дашбордов, которые можно использовать для оценки состояния системы. Grafana Loki - система агрегации логов, позволяющая гибко работать с логами LUNA PLATFORM в Grafana.

Отправляемые данные#

Для каждого сервиса типы события мониторинга отличаются. Ниже приведена таблица, отражающая все типы событий для каждого сервиса:

Сервис Типы событий
Index Manager все HTTP-запросы, все неудачные HTTP-запросы, построение индекса
Indexer все HTTP-запросы, все неудачные HTTP-запросы
Indexed Matcher все HTTP-запросы, все неудачные HTTP-запросы, перезагрузка индексов, запросы на сравнение (проходят через Redis)

Каждое событие - это точка временного ряда. Точка представлена с использованием следующих данных:

  • тип события (запросы или ошибки)
  • отметка времени начала запроса
  • теги
  • поля

Тег - это индексированные данные в хранилище. Он представлен в виде словаря, где

  • keys - имена тегов (string),
  • values - значения с типами данных string, integer, float

Поле представляет собой неиндексированные данные в хранилище. Оно представлено в виде словаря, где

  • keys - имена полей (string),
  • values - значения с типами данных string, integer, float

Сохранение данных для серии запросов запускается при каждом HTTP-запросе. Каждая точка содержит данные о соответствующем запросе (время выполнения и т.д.).

  • теги
Имя тега Описание
service сервис, "lim-indexer", "lim-manager" или "lim-matcher"
route объединение метода запроса и ресурса запроса (GET:/version)
status_code HTTP статус код ответа
  • поля
Имя поля Описание
request_id идентификатор запроса
execution_time время выполнения запроса

Сохранение данных для серии ошибок запускается при сбое HTTP-запроса. Каждая точка содержит error_code ошибки.

  • теги
Имя тега Описание
service сервис, "lim-indexer", "lim-manager" или "lim-matcher"
route объединение метода запроса и ресурса запроса (GET:/version)
status_code HTTP статус код ответа
error_code код ошибки LIM
  • поля
Имя поля Описание
request_id идентификатор запроса

Сохранение данных для серии построения индекса запускается при ошибке во время построения индекса.

  • теги
Имя тега Описание
service сервис, "lim-manager" или "lim-matcher"
socket_address адрес сервиса в формате <host>:<port>
stage "build_index" (построить индекс), "load_index" (загрузить индекс) или "drop_index" (удалить индекс)
label метка для сравнения индекса (идентификатор списка)
error_code код ошибки LIM (0 - запрос выполнен успешно)
  • поля
Имя поля Описание
task_id идентификатор задачи на индексирование
pending время, проведенное во внутренней очереди (сек)
duration время построения индекса (сек)
generation unix-время генерации индекса

Сохранение данных для серии сравнения запускается при выполнении сравнения.

  • теги
Имя тега Описание
service сервис, всегда "lim-matcher"
socket_address адрес сервиса в формате <host>:<port>
label метка для сравнения индекса (идентификатор списка)
error_code код ошибки LIM (0 - запрос выполнен успешно)
  • поля
Имя поля Описание
request_id идентификатор запроса
index_id идентификатор индекса
execution_time время выполнения запроса на сравнение (сек)