Истории успеха наших клиентов — лучшие проекты
Вход/ Регистрация
На главную
25eb9e0a-a5a8-472a-ace7-940b8bd2adf0
Облачные сервисы

VictoriaMetrics Operator

VictoriaMetrics Operator — оператор для Kubernetes, для автоматизации развертывания и управления компонентами мониторинга на базе VictoriaMetrics. Он позволяет создавать и настраивать отдельные сервисы для сбора, хранения и визуализации метрик.

Оператор использует CRD для управления инфраструктурой мониторинга. Основные используемые компоненты:

  • VMSingle — компонент, отвечающий за хранение метрик. Это одиночный инстанс VictoriaMetrics. Она удобна для простых проектов и малонагруженных кластеров.
  • VMCluster — масштабируемый вариант, включающий реплику хранения и прокси. Подходит для продакшена и больших объемов данных.
  • VMAgent — компонент, который собирает метрики с подов, сервисов и других источников. Он отправляет их в VMSingle или VMCluster по remoteWrite.
  • VMPodScrape — объект, описывающий, какие поды и по каким адресам и портам нужно опрашивать для получения метрик.

Полная документация по VictoriaMetrics Operator доступна на официальном сайте дополнения.

Установка

Для установки VictoriaMetrics Operator перейдите в раздел «Дополнения» в панели управления кластером. Найдите «VictoriaMetrics Operator» в списке и нажмите на него.

Scr 20250704 Okhr

В открывшемся окне можно при необходимости изменить параметры установки — например, задать собственный неймспейс, изменить версии компонентов или отключить ненужные CRD. После настройки нажмите кнопку «Установить».

После установки в кластере появится неймспейс victoria-metrics-operator и все необходимые CRD, включая VMSingle, VMAgent, VMPodScrape и другие. Увидеть их вы можете, выполнив:

    

Пример использования

В примере мы:

  • Развернем VMSingle — хранилище метрик
  • Настроим VMAgent, чтобы собирать метрики из источников
  • Запустим под с Nginx и nginx-prometheus-exporter, чтобы передавать метрики
  • Создадим VMPodScrape, чтобы VMAgent собирал эти метрики
  • Настроим Ingress для доступа к веб-интерфейсу VictoriaMetrics

Помимо дополнения VictoriaMetrics Operator, для примера потребуется установленное дополнение Nginx Ingress.

Создадим компонент VMSingle, который будет принимать и хранить метрики. В примере мы зададим минимальный набор ресурсов и храним данные только в памяти в течение 1 дня. Создайте файл vmsingle.yaml со следующим содержимым:

    

Если вы хотите хранить метрики дольше, стоит рассмотреть использование сетевых дисков.

Теперь создадим компонент VMAgent, который будет собирать метрики и передавать их в VMSingle. Создайте файл vmagent.yaml:

    

Развернем под с Nginx и экспортером метрик. В качестве источника метрик используется nginx-prometheus-exporter, который будет читать данные с эндпоинта /stub_status. Создайте файл nginx.yaml:

    

Чтобы указать VMAgent, с каких подов собирать метрики, создадим объект VMPodScrape. Он выберет все поды с меткой app: nginx и будет опрашивать порт metrics по пути /metrics. Создайте файл vmpodscrape.yaml:

    

Прежде чем создавать Ingress, убедитесь, что в кластере есть сервис с типом LoadBalancer, он необходим для доступа к UI извне. Посмотреть текущие балансировщики можно командой:

    

Если балансировщик отсутствует, создайте его:

    

После создания получите внешний адрес сервиса:

    

Укажите его как A-запись для домена, по которому будет доступен UI VictoriaMetrics.

Наконец, создадим Ingress, чтобы получить доступ к веб-интерфейсу VictoriaMetrics. Укажите в хосте нужное вам доменное имя. Создайте файл vm-ui-ingress.yaml:

    

Примените все манифесты, созданные ранее:

    

После этого перейдите по адресу, указанному в манифесте vm-ui-ingress.yaml. В нашем примере это http://vm.example.com. В интерфейсе выберите пункт «vmui», чтобы открыть веб-интерфейс VictoriaMetrics.

В поле «query» введите имя метрики, например up, и нажмите «Execute Query». Если все настроено правильно, вы увидите значение метрик, которые собираются с пода Nginx.

Scr 20250703 Lxom

Была ли статья полезна?
Ваша оценка очень важна