Мониторинг Basis Dynamix с помощью Proto Observability Platform

Сбор метрик и мониторинг Basis Dynamix.

Basis Dynamix Enterprise: интеграция метрик

Этот документ описывает настройку и список собираемых метрик интеграции Basis Dynamix Enterprise.

В системе доступен сбор метрик аккаунтов (учетных записей), ресурсных групп, виртуальных машин и гипервизоров, доступны встроенные дашборды для визуализации иехрархии сущностей и их метрик: basis dynamics дашборд мониторинга

Обзор интеграции

Интеграция собирает метрики из Basis Dynamix Enterprise через REST API. Источники данных:

  • учетные записи (consumption/limits),
  • ресурсные группы (consumption/limits),
  • виртуальные машины (resmon usage + агрегаты по дискам),
  • вычислительные узлы (stacks: usage + cpu_info),
  • опционально Prometheus-метрики по ВМ (cloudbroker/prometheus/computes).

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

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

Файлы интеграции для Агента пока не поставляется вместе с дистрибутивом Агента, для получения файлов обратитесь в техническую поддержку вендора или вашего системного интегратора.

Пример конфигурации conf.d/basis_dynamix.d/conf.yaml:

init_config:

instances:
  - # Обязательно: идентификатор клиента и секрет (можно через env)
    client_id: "..."
    client_secret: "..."

    # endpoints (обычно задаются через BASIS_BASE_URL / BASIS_SSO_URL)
    #base_url: "https://dynamix.mktdx.ru"
    #sso_url: "https://sso-dynamix.mktdx.ru/v1/oauth/access_token"

    # Опционально: окно времени для resmon (computes/stacks)
    lookback_seconds: 300

    # Опционально: теги
    tags:
      - env:development
      - platform:basis_dynamix

    # Опционально: настройки запроса
    timeout: 10
    ssl_verify: false
    min_collection_interval: 20

    # Опционально: Prometheus compute метрики
    # Имена метрик нормализуются в basis_dynamix.compute.* без префикса "compute".
    # Примеры: basis_dynamix.compute.readbytes, basis_dynamix.compute.writerequests
    #prometheus_metric_ids:
    #  - computeReadBytes
    #  - computeReadRequests
    #  - computeReceiveBytes
    #  - computeTransmitBytes
    #  - computeTransmitPackets
    #  - computeWriteBytes
    #  - computeWriteRequests
    #prometheus_for_last: 0  # 0 = последняя точка, >0 = диапазон в секундах
    #prometheus_step: 20  # если for_last > 0, шаг берется отсюда или из min_collection_interval
    #prometheus_decimal_places: 0

Переменные окружения

  • BASIS_CLIENT_ID — клиентский ID.
  • BASIS_CLIENT_SECRET — секрет.
  • BASIS_BASE_URL — базовый URL DynamiX.
  • BASIS_SSO_URL — URL получения токена SSO.

Настройки и их смысл

  • client_id, client_secret — обязательные креды.
  • base_url — базовый URL DynamiX (можно задать через BASIS_BASE_URL).
  • sso_url — URL получения токена SSO (можно задать через BASIS_SSO_URL).
  • timeout — таймаут HTTP-запросов (секунды).
  • ssl_verify — проверка TLS сертификата (false для self-signed).
  • metric_prefix — не настраивается, используется basis_dynamix..
  • tags — статические теги, добавляются ко всем метрикам.
  • lookback_seconds — окно для запросов resmon (computes/stacks), желательно совпадает с периодом запуска проверки.
  • min_collection_interval — интервал сбора на уровне агента.
  • prometheus_metric_ids — список метрик Prometheus для ВМ.
  • prometheus_for_last — диапазон в секундах для Prometheus (forLast), по умолчанию 0.
  • prometheus_step — шаг в секундах для Prometheus; если prometheus_for_last > 0, используется этот шаг либо min_collection_interval.
  • prometheus_decimal_places — кол-во знаков после запятой.

Теги, которые добавляются автоматически

В зависимости от типа метрики и данных API добавляются теги:

  • account_id, account_name
  • rg_id, rg_name, rg_gid, rg_guid
  • stack_id, stack_name
  • stack_type, stack_status
  • compute_id, compute_name, compute_uid

Процесс извлечения метрик

  1. Получение SSO-токена через sso_url (grant_type=client_credentials).
  2. Список аккаунтов: cloudbroker/account/list (берутся только со статусом CONFIRMED). Для каждого аккаунта — cloudbroker/account/getResourceConsumption.
  3. Список ресурсных групп: cloudbroker/rg/list. Для каждой РГ — cloudapi/rg/getResourceConsumption (fallback на cloudbroker/rg/getResourceConsumption).
  4. Список стэков: cloudbroker/stack/list (для тегов stack_name/type/status).
  5. Resmon по ВМ: cloudbroker/resmon/getByComputes с окном lookback_seconds. Из usage формируются метрики compute.usage.*, из disks — агрегаты disk.size_max/size_used/count.
  6. Prometheus по ВМ (опционально): cloudbroker/prometheus/computes с параметрами computeIds, metricIds, forLast, step, decimalPlaces. Из каждой серии выбирается последняя точка; если структура вложенная — берется последний элемент.
  7. Resmon по стэкам: cloudbroker/resmon/getByStacks с тем же окном.

Во всех блоках публикуются только числовые значения (bool игнорируется).

Сервисные проверки

  • basis_dynamix.api — статус сбора метрик (OK/CRITICAL).

Список метрик (итоговые имена)

Ниже перечислены итоговые имена метрик в документации: точки заменены на _ (пример: basis_dynamix.compute.usage.storagebasis_dynamix_compute_usage_storage). Конкретные ключи внутри групп зависят от ответа API.

Метрики аккаунтов

  • basis_dynamix_account_consumed_<resource> — потребление ресурсов аккаунта.
  • basis_dynamix_account_reserved_<resource> — зарезервированные ресурсы.
  • basis_dynamix_account_limits_<resource> — лимиты (квоты) ресурсов.

Типичные resource: cpu, ram, disksize, disksizemax, extips, gpu, exttraffic, cu_c, cu_d, cu_i, cu_m, cu_np, gpu_units.

Метрики ресурсных групп

  • basis_dynamix_rg_consumed_<resource> — потребление ресурсов РГ.
  • basis_dynamix_rg_reserved_<resource> — зарезервированные ресурсы.
  • basis_dynamix_rg_limits_<resource> — лимиты ресурсов.

Метрики виртуальных машин (resmon)

Из раздела usage:

  • basis_dynamix_compute_usage_vcpusconsumed — количество vCPU.
  • basis_dynamix_compute_usage_storage — суммарный размер дисков ВМ.
  • basis_dynamix_compute_usage_cputime — загрузка CPU, %.
  • basis_dynamix_compute_usage_extips — количество внешних IP.
  • basis_dynamix_compute_usage_ramconsumed — выделенная RAM, MB.
  • basis_dynamix_compute_usage_vcpusreserved — зарезервированные vCPU.
  • basis_dynamix_compute_usage_isup — признак доступности (0/1).
  • basis_dynamix_compute_usage_ramconsumedreal — фактически используемая RAM, MB.
  • basis_dynamix_compute_usage_ramreserved — зарезервированная RAM, MB.

Агрегаты по дискам:

  • basis_dynamix_compute_disk_size_max — суммарный максимальный размер дисков.
  • basis_dynamix_compute_disk_size_used — суммарно занятое место.
  • basis_dynamix_compute_disk_count — количество дисков.

Метрики вычислительных узлов (stacks)

Из раздела usage:

  • basis_dynamix_stack_usage_cpupower — максимальное число vCPU на узле.
  • basis_dynamix_stack_usage_usedvcpus — используемые vCPU.
  • basis_dynamix_stack_usage_pcpu — загрузка CPU (как возвращает API).
  • basis_dynamix_stack_usage_usedmem — используемая RAM, MB.
  • basis_dynamix_stack_usage_cpuutil — загрузка CPU, %.
  • basis_dynamix_stack_usage_reservedmem — зарезервированная RAM, MB.
  • basis_dynamix_stack_usage_freemem — свободная RAM, MB.

Из раздела cpuInfo:

  • basis_dynamix_stack_cpu_info_clockspeed — частота CPU, MHz.
  • basis_dynamix_stack_cpu_info_corecount — количество ядер.
  • basis_dynamix_stack_cpu_info_physcount — количество физических CPU.

Метрики Prometheus для ВМ

Префикс: basis_dynamix_compute_ (без повторения слова compute в имени).

  • basis_dynamix_compute_readbytes
  • basis_dynamix_compute_readrequests
  • basis_dynamix_compute_receivebytes
  • basis_dynamix_compute_transmitbytes
  • basis_dynamix_compute_transmitpackets
  • basis_dynamix_compute_writebytes
  • basis_dynamix_compute_writerequests
  • basis_dynamix_compute_cpuload

Значения берутся из последней точки ряда за период prometheus_for_last (или последней точки при prometheus_for_last=0).