VK Private Cloud logo
Помощь
Обновлена 17 июля 2026 г. в 15:55

Cloud Monitoring

VK Private Cloud Monitoring (MaaS) — cервис для сбора и отображения метрик пользователей.

Общие сведения

Cloud Monitoring агрегирует метрики узлов и облачных сервисов, что позволяет отслеживать аномальное поведение, получать сведения, которые могут помочь поддерживать стабильную работу, увеличить доступность и производительность сервисов.

Пространство имён

Данные каждого сервиса сохраняются в своё пространство имён (Namespace). Сервисы Платформы формируют названия пространств имён вида mcs/<SERVICENAME>. Название пространства имён для записи дополнительных метрик не должно начинаться с mcs/.

Метки

В метках (Labels) передаётся дополнительная метаинформация, которая может идентифицировать целевой ресурс.

Для каждой метрики, которая передаётся в хранилище, можно указать произвольный набор меток. Например, чтобы со значением метрики cpu_total передать имя узла ВМ и название зоны доступности, в которой она находится, заполните значения меток host и availability_zone.

Переданные метки сохраняются в базу данных Cloud Monitoring. Значения метрики автоматически агрегируются по интервалам 1 минута, 5 минут, 1 час. Агрегация происходит по всем полям меток, с которыми сохранено значение метрики.

Метки можно использовать для построения запросов, которые фильтруют и группируют значения метрик, например:

SUM BY(host) (cpu:Minimum{instance="<"span >"server1", app!="<"span >"system"})SUM BY(job) (cpu:Average{host="<"span >"server1", job!="<"span >"system"}[12h] offset 24h

Агрегация

  • Cloud Monitoring автоматически агрегирует значения метрик по интервалам 1 минута, 5 минут, 1 час.
  • Начальные значения метрик автоматически удаляются после агрегации.
  • Поддерживаются следующие функции агрегации: минимум, максимум, среднее.
  • Агрегирование происходит по всем полям меток, с которыми сохранено значение метрики.
  • Агрегированные метрики хранятся в течение 30 дней.
  • Пользователь может получить значения агрегированных метрик с фильтрацией по необходимым значениям меток.

Установка агента на ВМ

Новая ВМ

Чтобы установить агент мониторинга на ВМ при её создании, пользователь Портала самообслуживания ставит переключатель Включить мониторинг в активное положение. При этом:

  1. В сервис templater отправляется запрос.
  2. В ответ на запрос приходит скрипт-установщик cloud-init script.
  3. Скрипт скачивает и устанавливает пакеты, создаёт конфигурационные файлы, подставляет в них реквизиты для входа сервисного пользователя.

Существующая ВМ

Чтобы установить агент мониторинга на существующую ВМ, пользователь Портала самообслуживания на странице ВМ переходит на вкладку Настройка мониторинга. При этом:

  1. В сервис templater отправляется запрос.
  2. В ответ на запрос приходит команда перехода на скрипт-установщик.
  3. При выполнении команды создаётся сервисный пользователь и приходит скрипт-установщик cloud-init script.
  4. Скрипт скачивает и устанавливает пакеты, создаёт конфигурационные файлы, подставляет в них реквизиты для входа сервисного пользователя.

Управление агентами и плагинами

Подробно работа с агентом описана в Руководстве пользователя VK Private Cloud.

Запуск/остановка агента мониторинга

Чтобы проверить статус агента:

# systemctl -l status telegraf

Чтобы запустить агент мониторинга:

# systemctl -l start telegraf

Чтобы остановить агент мониторинга:

# systemctl -l stop telegraf

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

  1. На ВМ, где установлен агент мониторинга, внесите изменения в параметры мониторинга в файле /etc/telegraf/telegraf.conf.

    Пример для мониторинга CPU в Linux
    [[inputs.cpu]]  percpu = false  totalcpu = true  collect_cpu_time = true  report_active = false  fieldpass = ["usage_user", "usage_system", "usage_iowait", "usage_irq", "usage_guest", "time_idle"]
    Пример добавления плагина `mysql` в Linux
    [[inputs.mysql]]  servers = ["tcp(127.0.0.1:3306)/"]  metric_version = 2
  2. Примените конфигурацию:

    # sudo systemctl reload telegraf.service

Диагностика

Основные сервисы расположены в инфраструктруном кластере Kubernetes.

При возникновении сбоев в работе сервисов, проверьте логи metrics-server, cloud-alerting, vmselect, templater, tetsuo, ics.

В качестве долгосрочного хранилища (long-term storage) пользовательских метрик используются узлы хранения пользовательских метрик в Сlickhouse. Используется общая служба Apache Zookeper.

Чтобы посмотреть таблицы метрик, подключитесь к Сlickhouse:

# sudo clickhouse-client --port 9010

Для фильтрации данных используйте SQL, например:

use cloud_monitoring;select * from hour_metrics limit 10;

Чтобы убедиться, что данные приходят:

  1. Проверьте в etcd соответствие маппинга ID проекта:

    # sudo etcdctl --endpoints <ENDPOINTS> get --prefix /
  2. Проверьте логи metrics-server в Kubernetes:

    # sudo kubectl logs -l app.kubernetes.io/name=metrics-server -n paas-vkcloud | grep namespace

В логах ожидается запись вида: "Set namespace map 'mcs/vm': XXXXXXXXX". Полученный маппинг можно использовать для запроса данных из vmselect.