vision_utilizer
vision_utilizer рассчитывает производные метрики утилизации CPU и оперативной памяти, а также использования пространства хранилища. При запросе метрик компонент получает у VictoriaMetrics последние значения метрик node_exporter с помощью PromQL-запросов, пересчитывает их и возвращает результат в виде собственных метрик.
Файлы конфигурации
Настройки vision_utilizer хранятся в следующих файлах:
-
/etc/systemd/system/vision_utilizer.service— юнит systemd; -
/opt/skala-r/etc/vision/server/vision_utilizer/config.yml— конфигурационный файл компонента (PromQL-запросы и правила расчёта метрик); -
/opt/skala-r/etc/vision/server/vision_utilizer/environment.env— параметры запуска; -
/opt/skala-r/etc/vision/server/vision_utilizer/web.yml— веб-конфигурация, в том числе параметры TLS и аутентификации для доступа к компоненту по HTTPS.
Не редактируйте файлы environment.env и web.yml напрямую.
Вместо этого в настройках vision_core измените значения необходимых параметров в секциях utilizer и victoriametrics.
Конфигурационный файл
По умолчанию vision_utilizer загружает свои настройки из файла /opt/skala-r/etc/vision/server/vision_utilizer/config.yml.
Чтобы использовать другой файл, укажите путь к нему:
-
В значении параметра
--config.file, если ядро мониторинга развёрнуто на одном узле. -
В значении параметра
utilizer.config_filepath, если ядро развёрнуто в отказоустойчивой конфигурации.
Секция queries задаёт PromQL-выражения, по которым рассчитываются метрики:
| Поле | Метрика | Описание |
|---|---|---|
|
|
Количество ядер CPU |
|
|
Степень утилизации ресурсов CPU в процентах |
|
|
Объём установленной оперативной памяти в байтах |
|
|
Объём используемой оперативной памяти в байтах |
|
|
Объём хранилища в байтах по типу накопителя |
|
|
Используемый объём хранилища в байтах по типу накопителя |
| Единицы измерения соответствуют выражениям по умолчанию. |
Секция objects задаёт правила расчёта метрик для отдельных объектов:
objects:
- node_id: (1)
cpu:
cores: (2)
used: (3)
ram:
total: (4)
used: (5)
rom:
- type: (6)
mountpoints: (7)
total: (8)
used: (9)
Здесь:
| 1 | Название сервера (node_id) или виртуальной машины (vm_id) в объектной модели. |
| 2 | Настройки расчёта метрики utlz_cpu_cores. |
| 3 | Настройки расчёта метрики utlz_cpu_usage. |
| 4 | Настройки расчёта метрики utlz_ram_total. |
| 5 | Настройки расчёта метрики utlz_ram_used. |
| 6 | Тип накопителя; значение попадает в метку type дисковых метрик объекта. |
| 7 | Список точек монтирования, по которым рассчитывается утилизация. |
| 8 | Настройки расчёта метрики utlz_disk_total. |
| 9 | Настройки расчёта метрики utlz_disk_used. |
Значения общего и используемого объёма хранилища по всем указанным точкам монтирования суммируются по типу накопителя для каждого объекта.
Каждая настройка расчёта метрики задаётся в виде структуры со следующими полями:
-
add— значение, прибавляемое к значению метрики. -
enable— включение расчёта метрики для объекта.Это поле обязательно для заполнения. -
factor— множитель значения метрики. -
set— значение, устанавливаемое вместо рассчитанного.
Модификаторы применяются в следующем порядке:
-
factor; -
add; -
set.
config.ymlqueries:
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
После изменения файла перезапустите службу vision_utilizer.
Успешность сбора метрик можно проверить PromQL-запросом up{job="utilizer"}.
Сеть
По умолчанию vision_utilizer слушает указанные в таблице порт и IP-адрес.
| Адрес | Порт | Протокол |
|---|---|---|
localhost |
17099 |
TCP/HTTP |
Параметры запуска
- --audit.fileMaxAge
-
Продолжительность хранения файлов аудита в днях.
Значение по умолчанию:
7. - --audit.fileMaxSize
-
Максимальный размер одного файла аудита в МБ.
Значение по умолчанию:
100. - --audit.filePath
-
Путь к файлу для сохранения журнала аудита.
Пустое значение отключает аудит. Значение по умолчанию:
/opt/skala-r/var/log/vision/audit/server/vision_utilizer/audit.log. - --common.scrape-timeout
-
Длительность в секундах периода ожидания при запросе метрик.
Значение по умолчанию:
10. - --common.timeout
-
Внутренний период ожидания выполнения операций в секундах.
Значение по умолчанию:
30. - --component.shutdown-timeout
-
Период ожидания при плавном завершении работы компонента.
Значение по умолчанию:
15s(15 секунд). - --config.file
-
Путь к конфигурационному файлу с настройками расчёта метрик.
Значение по умолчанию:
/opt/skala-r/etc/vision/server/vision_utilizer/config.yml. - --logging.fileMaxAge
-
Максимальное число дней логирования в одном файле. Используется при
--logging.output=file.Значение по умолчанию:
31. - --logging.fileMaxSize
-
Максимальный размер одного файла логирования в мегабайтах. Используется при
--logging.output=file.Значение по умолчанию:
100. - --logging.filePath
-
Путь к файлу записи логов. Используется при
--logging.output=file.Значение по умолчанию:
/opt/skala-r/var/log/vision/server/vision_utilizer/vision_utilizer.log. - --logging.flags
-
Вывод установленных флагов при запуске.
Значение по умолчанию:
false. - --logging.flags-table
-
Вывод флагов компонента в виде таблицы.
Значение по умолчанию:
false. - --logging.level
-
Уровень логирования.
Возможные значения в порядке уменьшения подробности вывода:
-
DEBUG; -
INFO; -
WARN; -
ERROR; -
CRITICAL.
Значение по умолчанию:
INFO. -
- --logging.output
-
Место логирования.
Возможные значения:
-
file; -
stdout; -
stderr.
Значение по умолчанию:
file. -
- --version
-
Вывод версии компонента.
- --victoria.endpoint
-
Точка подключения к VictoriaMetrics.
Значение по умолчанию:
127.0.0.1:8428. - --victoria.password
-
Пароль пользователя BasicAuth для подключения к VictoriaMetrics.
Значение хранится в Ansible Vault. - --victoria.username
-
Имя пользователя BasicAuth для подключения к VictoriaMetrics.
Значение по умолчанию:
vision. - --victoria.verify
-
Проверка TLS-сертификатов при подключении к VictoriaMetrics. Значение
falseотключает проверку.Значение по умолчанию:
false. - --web.config.file
-
Путь к файлу веб-конфигурации компонента.
Значение по умолчанию:
/opt/skala-r/etc/vision/server/vision_utilizer/web.yml. - --web.listen-address
-
Адрес и порт, которые слушает компонент.
Значение по умолчанию:
localhost:17099. - --web.routes-table
-
Вывод маршрутов в виде таблицы.
Значение по умолчанию:
false. - --web.shutdown-timeout
-
Период ожидания при плавном завершении работы HTTP-сервера.
Значение по умолчанию:
15s(15 секунд). - --web.telemetry-path
-
Путь для запроса метрик в формате Prometheus.
Значение по умолчанию:
/metrics.