Запись метрик через плагин VMAgent

VMAgent — плагин, который автоматизирует сбор метрик приложений, развернутых на виртуальной машине и в кластере Kubernetes, и передает их в сервис мониторинга Cloud.ru.

Метрики приложения на виртуальной машине

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

Перед началом работы

  1. Создайте сервисный аккаунт. В поле Сервисы укажите monaas.write.

  2. Сгенерируйте ключи доступа для сервисного аккаунта.

  3. Получите авторизационный токен.

Настроить сбор метрик

  1. Скачайте актуальную версию VMAgent. Например, для скачивания версии v1.109.0 выполните команду:

    wget https : // github . com / VictoriaMetrics / VictoriaMetrics / releases / download / v1 .109.0 / vmutils - linux - amd64 - v1 .109.0 . tar . gz
    tar - xvzf vmutils - linux - amd64 - v1 .109.0 . tar . gz
  2. Создайте конфигурацию с таргетами для получения метрик:

    cat > vmagent . yaml
    global:
    scrape_interval: 10s
    scrape_configs:
    - job_name: 'vmagent'
    static_configs:
    - targets: ['localhost:8080']

    Где:

    • scrape_interval — интервал сбора метрик в секундах;

    • targets — порт сервиса, с которого нужно собирать метрики.

  3. Создайте сервис VMAgent:

    cat > / etc / systemd / system / vmagent . service
    [Unit]
    Description=vmagent
    [Service]
    ExecStart=/root/vmagent-prod --promscrape.config=/root/vmagent.yaml --remoteWrite.tmpDataPath=/var/tmp/vmagent/tmp/ --remoteWrite.maxDiskUsagePerURL=10737418240 --remoteWrite.url="https://monitoring.api.cloud.ru/v2/project/{project_ID}/prometheus/api/v1/write" --remoteWrite.oauth2.clientID="" --remoteWrite.oauth2.clientSecret="" --remoteWrite.oauth2.tokenUrl=https://auth.iam.sbercloud.ru/auth/system/openid/token --remoteWrite.oauth2.endpointParams='{"grant_type": "access_key"}'
    Restart=always
    [Install]
    WantedBy=multi-user.target

    Где:

    • {project_ID} — ID проекта, в который будут отправлены метрики. Вы можете скопировать его из URL личного кабинета.

    • clientID — Key ID (логин) сервисного аккаунта.

    • clientSecret — Key Secret (пароль) сервисного аккаунта.

  4. Запустите сервис с помощью команды:

    sudo systemctl daemon - reload
    sudo systemctl enable vmagent
    sudo systemctl start vmagent

Метрики виртуальной машины начнут собираться в сервисе мониторинга. Чтобы отслеживать их:

  1. Создайте пользовательский дашборд.

  2. На дашборд добавьте виджеты. При описании запроса добавьте {job="job_name"}, где job_name берется из конфигурационного файла.

Метрики приложения в кластере Managed Kubernetes

Установите плагин VMAgent для нужного кластера:

  1. В личном кабинете перейдите в раздел Managed Kubernetes.

  2. Нажмите на название кластера, для которого хотите установить плагин.

  3. Перейдите на вкладку Плагины и в разделе Доступные для установки выберите VMAgent.

  4. Нажмите Установить и подтвердите действие.

После установки плагина добавьте в конфигурационный файл блоки:

  • labels — с дополнительными лейблами метрик, если они необходимы.

  • annotations — с аннотациями к подам, которые должны отслеживаться сервисом мониторинга. Плагин VMAgent использует механизм kubernetes_sd_config, с помощью которого он распознает targets на основе аннотаций.

После установки и настройки плагина метрики кластера будут собираться в сервисе мониторинга. Чтобы отслеживать метрики, создайте пользовательский дашборд и добавьте виджеты.

Evolution