Сбор метрик утилизации осуществляется следующими способами:
-
Плагины 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
, выполните следующие действия:
-
Установите плагин
node_exporter
на узлы, метрики которых будете обрабатывать с помощьюvision_utilizer
. -
Для нужного ПАК сформируйте инвентори-файл.
-
В конфигурационном файле
/opt/skala-r/vision/server/inventory
оставьте только те узлы, метрики которых будете обрабатывать с помощьюvision_utilizer
. -
Перейдите в корневую директорию дистрибутива, а из неё – в директорию
utilizer/
. -
Выполните команду:
bash config_utilizer.sh /path/to/inventory
Здесь
/path/to/inventory
— полный путь к инвентори-файлу, сформированному на шаге 2.Команда создаёт файл
utilizer_<inventory>.yml
в текущей директории. -
В конфигурационном файле
/opt/skala-r/etc/vision/server/vision_utilizer/config.yml
замените значение параметраobjects
содержимым файла, созданного на предыдущем шаге. -
Перезапустите сервис
vision_utilizer
:systemctl restart vision_utilizer
Проверка корректности настроек#
Если сервис vision_utilizer
после перезапуска неактивен, изучите лог-файл /opt/skala-r/var/log/vision/server/vision_utilizer/vision_utilizer.log
и устраните найденные ошибки конфигурации.
Для проверки успешности сбора метрик в интерфейсе Визион выполните запрос:
up{job="utilizer"}