Дополнительные метрики утилизации

Сбор метрик утилизации осуществляется следующими способами:

  • Плагины utlz_exporter_v0 и utlz_exporter собирают метрики утилизации самостоятельно.

  • vision_utilizer получает значения метрик от плагина node_exporter и пересчитывает их.

    VictoriaMetrics обращается к vision_utilizer для получения действующих значений метрик.

Настройка сбора метрик через vision_utilizer#

Для пересчёта полученных от node_exporter метрик vision_utilizer использует настройки, заданные в конфигурационном файле /opt/skala-r/etc/vision/server/vision_utilizer/config.yml.

Этот файл заполняется по шаблону:

---
queries:
  cpu_usage: <Выражение PromQL>  # соответствует метрике utlz_cpu_usage
  cpu_cores: <Выражение PromQL>  # соответствует метрике utlz_cpu_cores
  ram_total: <Выражение PromQL>  # соответствует метрике utlz_ram_total
  ram_used:  <Выражение PromQL>  # соответствует метрике utlz_ram_used
  rom_total: <Выражение PromQL>  # соответствует метрике utlz_disk_total
  rom_used:  <Выражение PromQL>  # соответствует метрике utlz_disk_used
objects:
  - node_id: "Имя сервера или ВМ"
    cpu:
      cores: # соответствует метрике utlz_cpu_cores
        # Настройки
      used:  # соответствует метрике utlz_cpu_usage
        # Настройки
    ram:
      total: # соответствует метрике utlz_ram_total
        # Настройки
      used:  # соответствует метрике utlz_ram_used
        # Настройки
    rom:
      - type: # Тип диска
        mountpoints:
          # - Список
          # - точек
          # - монтирования
        total: # соответствует метрике utlz_disk_total
        used:  # соответствует метрике utlz_disk_used
    # ...

блок_метрики:
  enable: <bool>  # Обязательный параметр, обозначающий включение сбора данной метрики для объекта
  factor: <float> # Необязательный параметр, обозначающий множитель значения метрики для объекта
  add: <float>    # Необязательный параметр, обозначающий слагаемое к значению метрики для объекта
  set: <float>    # Необязательный параметр, обозначающий установку значения метрики для объекта

Пример заполнения:

---
queries:
  cpu_usage: "avg without (mode,cpu) (1 - rate(node_cpu_seconds_total{mode=\"idle\"}[15s])) * 100"
  cpu_cores: "count without(cpu, mode) (node_cpu_seconds_total{mode=\"idle\"})"
  ram_total: "round(node_memory_MemTotal_bytes)"
  ram_used: "node_memory_MemTotal_bytes-node_memory_MemAvailable_bytes"
  rom_total: "node_filesystem_size_bytes"
  rom_used: "node_filesystem_size_bytes-node_filesystem_free_bytes"
objects:
  - node_id: PG-PRD-3-MDL-BS-01-N-199
    cpu:
      cores:
        enable: true
      used:
        enable: true
    ram:
      total:
        enable: true
      used:
        enable: true
    rom:
      - type: "NVME"
        mountpoints:
          - /var/lib/libvirt/images
          - /run

        total:
          enable: true
          factor: 2
        used:
          enable: true

Чтобы настроить сбор метрик утилизации через vision_utilizer, выполните следующие действия:

  1. Установите плагин node_exporter на узлы, метрики которых будете обрабатывать с помощью vision_utilizer.

  2. Для нужного ПАК сформируйте инвентори-файл.

  3. В конфигурационном файле /opt/skala-r/vision/server/inventory оставьте только те узлы, метрики которых будете обрабатывать с помощью vision_utilizer.

  4. Перейдите в корневую директорию дистрибутива, а из неё – в директорию utilizer/.

  5. Выполните команду:

    bash config_utilizer.sh /path/to/inventory
    

    Здесь /path/to/inventory — полный путь к инвентори-файлу, сформированному на шаге 2.

    Команда создаёт файл utilizer_<inventory>.yml в текущей директории.

  6. В конфигурационном файле /opt/skala-r/etc/vision/server/vision_utilizer/config.yml замените значение параметра objects содержимым файла, созданного на предыдущем шаге.

  7. Перезапустите сервис vision_utilizer:

    systemctl restart vision_utilizer
    

Проверка корректности настроек#

Если сервис vision_utilizer после перезапуска неактивен, изучите лог-файл /opt/skala-r/var/log/vision/server/vision_utilizer/vision_utilizer.log и устраните найденные ошибки конфигурации.

Для проверки успешности сбора метрик в интерфейсе Визион выполните запрос:

up{job="utilizer"}