Osmi
Использование OSMI-AI

Мониторинг

OSMI-AI имеет встроенную поддержку Prometheus с Grafana и OpenTelemetry. Отслеживаются только базовые метрики, такие как количество API-запросов, количество потоков и предсказаний. Список счётчиков см. в соответствующем разделе документации. Для детального наблюдения за каждым узлом рекомендуем использовать Аналитику.

Prometheus — это решение с открытым исходным кодом для мониторинга и оповещений. Перед настройкой Prometheus сконфигурируйте следующие переменные окружения в OSMI-AI:

ENABLE_METRICS=true
METRICS_PROVIDER=prometheus
METRICS_INCLUDE_NODE_METRICS=true

После установки Prometheus запустите его с использованием файла конфигурации. OSMI-AI предоставляет файл конфигурации по умолчанию, который можно найти здесь. 

Не забудьте, что экземпляр OSMI-AI также должен быть запущен. Откройте браузер и перейдите на порт 9090. На панели управления вы сможете увидеть работающую конечную точку метрик — /api/v1/metrics.

По умолчанию, /api/v1/metrics доступен для Prometheus для получения метрик.

Grafana

Prometheus собирает обширные метрики и предоставляет мощный язык запросов; Grafana преобразует эти метрики в осмысленные визуализации.Grafana можно установить различными способами. Обратитесь к руководству по установке. По умолчанию Grafana будет использовать порт 9091:

  1. В левой панели нажмите «Add new connection», затем выберите Prometheus.
  2. Укажите адрес Prometheus (в нашем примере он доступен на порту 9090).
  3. Пролистайте вниз и протестируйте подключение (Test).
  4. Обратите внимание на ID источника данных в тулбаре — он понадобится для создания дашбордов.

Теперь, когда подключение успешно добавлено, можно создавать дашборд: слева нажмите «Dashboards» → «Create Dashboard».

OSMI-AI предоставляет 2 шаблона дашбордов:

  • grafana.dashboard.app.json.txt — метрики API, такие как количество мульти агентов, количество предсказаний, инструменты, ассистент, обновлённые векторы и др ..
  • grafana.dashboard.server.json.txt — метрики экземпляра OSMI-AI на node.js, такие как использование кучи, CPU, оперативной памяти.

Если вы используете указанные шаблоны, найдите и замените все вхождения cds4j1ybfuhogb на ID источника данных, который вы создали и сохранили ранее.

Можно сначала импортировать шаблон, а затем отредактировать JSON.

После этого выполните несколько действий в OSMI-AI — метрики должны появиться на графиках.

OpenTelemetry

OpenTelemetry — это открытая платформа для сбора и управления телеметрическими данными. Чтобы включить OpenTelemetry (OTel), настройте следующие переменные окружения в OSMI-AI:

ENABLE_METRICS=true
METRICS_PROVIDER=open_telemetry
METRICS_INCLUDE_NODE_METRICS=true
METRICS_OPEN_TELEMETRY_METRIC_ENDPOINT=http://localhost:4318/v1/metrics
METRICS_OPEN_TELEMETRY_PROTOCOL=http # http | grpc | proto (default is http)
METRICS_OPEN_TELEMETRY_DEBUG=true

Далее нам потребуется Collector OpenTelemetry для получения, обработки и экспорта телеметрических данных. OSMI-AI предоставляет файл docker compose, который можно использовать для запуска контейнера Collector:

cd OSMI-AI
cd metrics && cd otel
docker compose up -d

Collector будет использовать файл конфигурации otel.config.yml, находящийся в той же директории. В настоящее время поддерживаются только Datadog и Prometheus; чтобы настроить другие инструменты APM, такие как Zipkin, Jaeger, New Relic, Splunk и другие, обратитесь к документации OpenTelemetry.

Обязательно замените API-ключ на необходимый в файле YAML для экспортеров.