Компонент управления модуля мониторинга (Victoria Metrics Agent)

Начиная с версии 2.9.0 на новый Компонент управления модуля мониторинга (Victoria Metrics Agent) (shturval-metrics-collector) заменены модули:

  • Модуль локального сбора метрик (shturval-metrics);
  • Модуль мониторинга. Компонент автоматизированного управления мониторингом созданных ресурсов (shturval-monitoring-agent);
  • Алертинг модуля сбора метрик системного мониторинга (shturval-monitoring-alertmanager);
  • Модуль мониторинга. Компонент управления CR модуля мониторинга (shturval-monitoring-operator).

Компонент управления модуля мониторинга (Victoria Metrics Agent) собирает метрики сервисов, запущенных в кластере.

В текущем релизе используется Victoria Metrics Agent (VM Agent) версии 1.110.0.

Интеграция с Prometheus Operator

Переход от Prometheus к VM Agent осуществляется без дополнительных настроек. Victoria Metrics Operator поддерживает импорт CRD (Custom Resource Definitions) от Prometheus Operator:

  • PodMonitor;
  • ServiceMonitor;
  • Prob;
  • AlertmanagerConfig.

Если в кластере созданы кастомные ресурсы Prometheus Operator, Victoria Metrics Operator применит их конфигурацию.

Компонент модуля мониторинга в платформе Штурвал

По умолчанию компонент модуля устанавливается в клиентские кластеры и кластер управления во включенном состоянии. Для просмотра настройки в графическом интерфейсе кластера в боковом меню откройте раздел Сервисы и репозитории и перейдите на страницу Установленные сервисы, найдите Модуль мониторинга. Компонент управления модуля мониторинга и нажмите Управлять.

Если в кластере компонент модуля отсутствует, в боковом меню откройте раздел Сервисы и репозитории и перейдите на страницу Доступные чарты. На вкладке shturval выберите чарт shturval-metrics-collector и нажмите Установить.

Выберите необходимую версию чарта, а также неймспейс victoria-metrics. После выбора версии чарта в правой части экрана отобразятся Доступные параметры конфигурации для сервиса (values). Пропишите в блоке Спецификация сервиса необходимые параметры в качестве customvalues.

Обратите внимание! Для корректной работы мониторинга в клиентском кластере должны работать:

  • в клиентском кластере Модуль мониторинга. CRD Компонента управления CR модуля мониторинга (shturval-metrics-collector-crds).
  • в кластере управления Модуль мониторинга. Компонент управления модуля мониторинга (shturval-metrics-collector) и Модуль мониторинга. CRD Компонента управления CR модуля мониторинга (shturval-metrics-collector-crds).

Когда в кластере включен и работает Модуль мониторинга. Компонент управления модуля мониторинга, VM Agent собирает и направляет метрики в кластер управления. Алертинг в клиентских кластерах работает по настроенным правилам кластера управления. При необходимости локального алертинга в клиентском кластере выполните шаги инструкции Настроить локальный алертинг в кластере.

Конфигурация VM Agent

Базовая настройка VM Agent:

  • определяет задания сбора (scrape jobs) с различной периодичностью (scrapeInterval), таймаутами (scrapetimeout).
Пример customvalues
vmagent:
  enabled: true
  spec:
    scrapeInterval: <ваше значение параметра>
vmScrape:
    kind: VMNodeScrape
    spec:
      scrapeTimeout: <ваше значение параметра>
Параметр Описание Тип данных По умолчанию
scrapeInterval Периодичность сбора метрик string 20s
scrapeTimeout Таймаут, по истечении которого завершится сбор метрик string 5s
  • использует гибкую настройку метрик и изменения лейблов. Например, отбора нужных namespace или исключения лишних target’ов. Базовый мониторинг настроен с помощью лейблов, при необходимости присвойте сервису лейбл, чтобы он попал в список объектов для мониторинга.
сustomмalues
vmagent:
  spec:
    selectAllByDefault: false
    nodeScrapeNamespaceSelector: # Селектор для неймспейсов, из которых будут собираться метрики
      matchLabels:
        shturval.tech/system-namespace: ''
    nodeScrapeSelector: {} # Селектор выбора узлов кластера, с которых будут собираться метрики
    podScrapeNamespaceSelector: # Селектор выбора подов, из которых будут собираться метрики
      matchLabels:
        shturval.tech/system-namespace: ''
    podScrapeSelector: {} # Селектор выбора подов, из которых будут собираться метрики
    probeNamespaceSelector: 
      matchLabels:
        shturval.tech/system-namespace: ''
    probeSelector: {} 
    serviceScrapeNamespaceSelector: # Селектор для сервисов, из которых будут собираться метрики
      matchLabels:
        shturval.tech/system-namespace: ''
    serviceScrapeSelector: {} # Селектор для сервисов, из которых будут собираться метрики
    staticScrapeNamespaceSelector: # Селектор для статических объектов, из которых будут собираться метрики
      matchLabels:
        shturval.tech/system-namespace: ''
    staticScrapeSelector: {} ## Селектор для статических объектов, из которых будут собираться метрики
  • задания вычислительных ресурсов (CPU и RAM) для VM Agent, Victoria Metrics Operator и вспомогательных сервисов (node-exporter, kube-state-metrics) (resources.requests и resources.limits).
Пример сustomмalues с параметрами вычислительных ресурсов для VM Agent
vmagent:
  enabled: true
  resources:
    limits:
      cpu: <ваше значение параметра>
      memory: <ваше значение параметра>
    requests:
      cpu: <ваше значение параметра>
      memory: <ваше значение параметра>
Параметр Описание Тип данных Пример
limits.cpu Ограничения CPU для VM Agent string 1
limits.memory Ограничения памяти для VM Agent string 1Gi
requests.cpu Запрос CPU для VM Agent string 50m
requests.memory Запрос памяти для VM Agent string 50Mi

Перенаправление метрик

Когда в кластере включен VM Agent, по умолчанию он собирает метрики системных компонентов и перенаправляет их в кластер Victoria Metrics, размещенный в кластере управления. Вы можете настроить перенаправление метрик клиентского кластера, кластера управления во внешний Victoria Metrics, развернутый в вашей инфраструктуре.

Для этого необходимо внести изменения в спецификацию (ssc) Компонента управления модуля мониторинга (shturval-metrics-collector).

  1. В графическом интерфейсе кластера в боковом меню откройте раздел Сервисы и репозитории и перейдите на страницу Установленные сервисы, найдите Компонент управления модуля мониторинга (shturval-metrics-collector), откройте карточку модуля и в блоке Спецификация сервиса добавьте customvalues.

Вы можете отключить внутренний мониторинг платформы “Штурвал” и направить метрики только во внешний кластер Victoria Metrics или настроить маршрутизацию во внутренний и внешний кластеры Victoria Metrics:

  • Отключение внутреннего мониторинга и перенаправление метрик во внешний Victoria Metrics:
Пример customvalues
external: 
  vm: 
    write: # Конфигурация направления метрик во внешний сервис мониторинга
      url: <ваше значение параметра>
    read:  # Настройки чтения метрик из внешнего сервиса мониторинга
      url: <ваше значение параметра>
  
Параметр Описание Тип данных Пример
write.url URL-адрес Victoria Metrics Insert string http://shturval-monitoring-vminsert.victoria-metrics.svc:8480/insert/0/prometheus/
read.url URL-адрес Victoria Metrics Select string http://shturval-monitoring-vmselect.victoria-metrics.svc:8481/select/0/prometheus/

Вместо 0, как в примерах, укажите TenantID. В данном случае настраивается возможность получения метрик из внешнего сервиса мониторинга для возможности настройки алертинга в кластере платформы “Штурвал”. При необходимости настройки только направления метрик во внешний сервис мониторинга, не указывайте блок read.

Обратите внимание! В случае настройки перенаправления метрик без возможности получения их из внешнего Victoria Metrics дашборды Grafana не будут работать корректно.

  • Направить метрики во внешний Victoria Metrics без отключения внутреннего мониторинга “Штурвал”.
Пример customvalues
vmagent: 
  additionalRemoteWrites: 
  - url:  <ваше значение параметра>
  
Параметр Описание Тип данных Пример
additionalRemoteWrites.url URL-адрес Victoria Metrics Insert string http://shturval-monitoring-vminsert.victoria-metrics.svc:8480/insert/0/prometheus/
  1. Сохраните внесенные изменения.