Компонент управления модуля мониторинга (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
).
- В графическом интерфейсе кластера в боковом меню откройте раздел Сервисы и репозитории и перейдите на страницу Установленные сервисы, найдите Компонент управления модуля мониторинга (
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/ |
- Сохраните внесенные изменения.