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

1. Список метрик#

Имя метрики Описание метрики
cpu_num Количество физических ядер CPU
cpu_usage Общее использование CPU в процентах
cpu_usage_max_warning Нагрузка CPU превышает 70%
cpu_usage_min_warning Нагрузка CPU менее 20%
mem_size Общий размер RAM в байтах
mem_usage Используемое RAM в байтах
mem_usage_max_warning Нагрузка оперативной памяти превышает 70%
mem_usage_min_warning Нагрузка оперативной памяти менее 20%
disk_size_nvme Общий объем дискового пространства nvme в гигабайтах
disk_usage_nvme Используемое дисковое пространство nvme в %
disk_usage_nvme_min_warning Использование дискового пространства nvme ниже 20%
disk_usage_nvme_max_warning Осталось меньше 30% дискового пространства nvme
disk_size_ssd Общий объем дискового пространства ssd в гигабайтах
disk_usage_ssd Используемое дисковое пространство ssd в %
disk_usage_ssd_min_warning Использование дискового пространства ssd ниже 20%
disk_usage_ssd_max_warning Осталось меньше 30% дискового пространства ssd
disk_size_nlsas Общий объем дискового пространства nlsas в гигабайтах
disk_usage_nlsas Используемое дисковое пространство nlsas в %
disk_usage_nlsas_min_warning Использование дискового пространства nlsas ниже 20%
disk_usage_nlsas_max_warning Осталось меньше 30% дискового пространства nlsas

2. Запуск#

Для того, чтобы метрики работали, требуется настроить утилайзер.

Для корректной работы при указании типов дисков следует использовать lower case.

3. Конфигурация utilizer#

vision_utilizer - компонент, добавленный в Визион 1.5, позволяющий получать метрики утилизации на стороне Сервера Визиона, основываясь на метриках, предоставляемых node_exporter. VictoriaMetrics обращается к нему для запроса текущих метрик, а он в свою очередь запрашивает у неё выражения из конфигурационного файла для перерасчета. Конфигурационный файл расположен по пути /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/vm_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: "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

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

Если статус работы сервиса неактивный, логи можно посмотреть по пути /opt/skala-r/var/log/vision/server/vision_utilizer/vision_utilizer.log . Успешность сбора метрик можно запросить выражением: up{job="utilizer"}.