Сбор метрик утилизации осуществляется следующими способами:
-
Плагины 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"}