Обзор системы мониторинга Milvus

В этой теме рассказывается о том, как Milvus использует Prometheus для мониторинга показателей и Grafana для визуализации показателей и создания оповещений.

Prometheus в Milvus

Prometheus - это набор инструментов мониторинга и оповещения с открытым исходным кодом для реализации Kubernetes. Он собирает и хранит метрики в виде временных рядов. Это означает, что метрики хранятся с временными метками при записи, а также с дополнительными парами ключ-значение, называемыми метками.

В настоящее время Milvus использует следующие компоненты Prometheus:

  • Конечная точка Prometheus для получения данных из конечных точек, установленных экспортерами.
  • Оператор Prometheus для эффективного управления экземплярами мониторинга Prometheus.
  • Kube-prometheus для обеспечения простого в управлении сквозного мониторинга кластера Kubernetes.

Имена метрик

Правильное имя метрики в Prometheus состоит из трех элементов: пространства имен, подсистемы и имени. Эти три элемента соединяются символом "_".

Пространство имен метрик Milvus, отслеживаемых Prometheus, - "milvus". В зависимости от роли, к которой принадлежит метрика, ее подсистема должна быть одной из следующих восьми ролей: "rootcoord", "proxy", "querycoord", "querynode", "indexcoord", "indexnode", "datacoord", "datanode".

Например, метрика Milvus, которая подсчитывает общее количество запрошенных векторов, называется milvus_proxy_search_vectors_count.

Типы метрик

Prometheus поддерживает четыре типа метрик:

  • Счетчик: тип кумулятивной метрики, значение которой может только увеличиваться или обнуляться при перезапуске.
  • Манометр: тип метрики, значение которой может как увеличиваться, так и уменьшаться.
  • Гистограмма: тип метрик, которые подсчитываются на основе настраиваемых бакетов. Частым примером является длительность запроса.
  • Сводка: тип метрики, похожий на гистограмму, который вычисляет настраиваемые квантили в скользящем временном окне.

Метки метрик

Prometheus различает выборки с одинаковым именем метрики, помечая их метками. Метка - это определенный атрибут метрики. Метрики с одинаковыми именами должны иметь одинаковое значение для поля variable_labels. В следующей таблице перечислены названия и значения общих меток метрик Milvus.

Имя меткиОпределениеЗначения
"node_id"Уникальный идентификатор роли.Глобально уникальный идентификатор, генерируемый milvus.
"status"Статус обработанной операции или запроса."abandon", "success" или "fail".
"query_type"Тип запроса на чтение."поиск" или "запрос".
"msg_type"Тип сообщений."вставка", "удаление", "поиск" или "запрос".
"segment_state"Статус сегмента."Запечатан", "растет", "промыт", "промывка", "сброшен" или "импортируется".
"cache_state"Состояние кэшированного объекта."Попадание" или "Промах".
"имя_кэша"Имя кэшированного объекта. Эта метка используется вместе с меткой "cache_state".Например, "CollectionID", "Schema" и т. д.
"имя_канала"Физические темы в хранилище сообщений (Pulsar или Kafka).Например, "by-dev-rootcoord-dml_0", "by-dev-rootcoord-dml_255" и т. д.
"имя_функции"Имя функции, которая обрабатывает определенные запросы.Например, "CreateCollection", "CreatePartition", "CreateIndex" и т. д.
"имя_пользователя"Имя пользователя, используемое для аутентификации.Имя пользователя по вашему усмотрению.
"index_task_status"Статус индексной задачи в метахранилище."Невыполненная", "В процессе", "Не удалось", "Завершена" или "Переработана".

Grafana в Milvus

Grafana - это стек визуализации с открытым исходным кодом, который может подключаться ко всем источникам данных. Выводя метрики, он помогает пользователям понимать, анализировать и контролировать массивные данные.

Milvus использует настраиваемые панели Grafana для визуализации метрик.

Что дальше

После изучения базового рабочего процесса мониторинга и оповещения вы узнаете:

Попробуйте Managed Milvus бесплатно

Zilliz Cloud работает без проблем, поддерживается Milvus и в 10 раз быстрее.

Начать
Обратная связь

Была ли эта страница полезной?