Мониторинг
В Sharx Base реализован мониторинг системы на основе взаимодействия с экспортерами, установленными на каждом узле кластера.
Экспортеры — сервисы, которые собирают метрики на узлах и предоставляют к ним доступ на определенном HTTP-порту.
В текущей версии Sharx Base для сбора показателей используются следующие экспортеры:
- sdc-domain-exporter — состояние виртуальных машин;
- node_exporter_sharx — показатели узлов;
- ipmi_exporter_sharx — cостояние оборудования;
- sp_exporter_sharx — показатели хранилища РСХД;
- disks_exporter_sharx — метрики дисков.
Предустановки для мониторинга выполняются сотрудниками технической поддержки.
Доступные действия Администратора кластера перечислены ниже.
Настроить мониторинг
-
Установить конфигурацию экспортера для сбора метрик
гдеmetrics exporter add --name <exporter_name> --nodes <UUID_node> --port <number-port> --retention_period <retention_period> --metrics_path <dir_for_metric_path>-
name— имя экспортера. Возможные значения:domain_exporter— состояние виртуальных машин;node_exporter_sharx— показатели узлов;ipmi_exporter_sharx— cостояние оборудования;sp_exporter_sharx— показатели хранилища РСХД;disks_exporter_sharx— метрики дисков.
-
nodes— узлы кластера для мониторинга. Укажите идентификатор узла. Приnodes *будет настроен мониторинг для всех узлов; port— порт передачи;retention_period— период мониторинга в секундах. По умолчанию — 600 с;metrics_path— расположение метрик. По умолчанию —/metrics/.
Установить экспортеры с параметрами по умолчанию
metrics exporter add --name domain_exporter --port 9190 --cron '*/1 * * * *' --nodes * --retention_period 1800 --filters '[{"name":"libvirt_domain_info_vmstate"},{"name":"libvirt_domain_vcpu_time_seconds_total"},{"name":"libvirt_domain_info_maximum_memory_bytes"},{"name":"libvirt_domain_memory_stats_used_percent"},{"name":"libvirt_domain_interface_stats_receive_bytes_total"},{"name":"libvirt_domain_interface_stats_transmit_bytes_total"}]' metrics exporter add --name node_exporter_sharx --port 9191 --retention_period 43200 --nodes * --metrics_path /metrics --cron '*/5 * * * *' --filters '[{"name":"node_cpu_seconds_total","labels":{"mode":"idle"}},{"name":"node_memory_MemFree_bytes","labels":{}},{"name":"node_memory_Buffers_bytes","labels":{}},{"name":"node_memory_Cached_bytes","labels":{}},{"name":"node_memory_MemAvailable_bytes","labels":{}},{"name":"node_network_receive_bytes_total","labels":{"device":"^eno[0-9][0-9]?$"}},{"name":"node_network_transmit_bytes_total","labels":{"device":"^eno[0-9][0-9]?$"}},{"name":"node_network_receive_errs_total","labels":{"device":"^eno[0-9][0-9]?$"}},{"name":"node_network_transmit_errs_total","labels":{"device":"^eno[0-9][0-9]?$"}}]' metrics exporter add --name ipmi_exporter_sharx --port 9194 --retention_period 43200 --nodes * --metrics_path /metrics --cron '*/5 * * * *' --filters '[{"name":"^ipmi_metrics$","labels":{"verb": "^P[12] Temperature_celsius$"}},{"name":"^ipmi_metrics$","labels":{"state":"ps_current_consumption"}}]' metrics exporter add --name sp_exporter_sharx --port 9192 --retention_period 600 --nodes * --metrics_path /metrics --cron '*/5 * * * *' metrics exporter add --name disks_exporter_sharx --port 9193 --retention_period 600 --nodes * --metrics_path /metrics --cron '*/5 * * * *' -
-
Просмотреть список подключенных экспортеров
-
Просмотреть информацию об определенном экспортере
где
name- имя экспортера. Возможные значения:domain_exporter— состояние виртуальных машин;node_exporter_sharx— показатели узлов;ipmi_exporter_sharx— cостояние оборудования;sp_exporter_sharx— показатели хранилища РСХД;disks_exporter_sharx— метрики дисков.
-
Обновить конфигурацию экпортера
-
Получить метрики
metrics data fetch [--current <current metric or all available metrics>] --metric_label <metric_label> --metric_name <metric_name> --name <exporter_name> --sc_node <UUID_node>где
-
current— флаг выбора определенной метрики.
Возможные значения:- YES — выбор определенной метрики,
- NO — выбор всех доступных метрик;
-
metric_label— расширение для имени метрики, объединяет метрические имена в формате ключ: значения; metric_name— глобальное имя одной или нескольких метрик;name— имя экспортера;sc_node— узлы для мониторинга. Укажите идентификатор узла.
Внимание
Для
sc_nodeнельзя использоватьsc_node *Пример 1 Получить метрику
Запрос
metrics data fetch --name domain --metric_name libvirt_up --sc_node 02c296f4-41a1-41c0-9462-e05ed38f7f53 --metric_label '{}'Ответ
где
metric_value— значение метрики.Пример 2 Получить метрику
Запрос
metrics data fetch --name domain --metric_name libvirt_versions_info --sc_node 02c296f4-41a1-41c0-9462-e05ed38f7f53 --metric_label '{"hypervisor_running": "6.2.0"}' --current NOОтвет
{"metric_name": "libvirt_versions_info", "metric_value": [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], "labels": "{'hypervisor_running': '6.2.0', 'libvirt_library': '8.0.0', 'libvirtd_running': '8.0.0'}"}где
metric_value— значение метрики. -
-
Удалить конфигурацию экспортера
где
name— имя экспортера.
Работа с шаблонами
Шаблоны позволяют извлекать информацию из экспортера и фильтровать ее согласно требованиям, указанным в них.
Пример
Шаблон файла отображения метрик для экспортеров node_exporter_sharx, ipmi_exporter_sharx, disks_exporter_sharx — metrics_display_template.yaml.
Для экспортера sp_exporter_sharx — шаблон metrics_display_template_sp.yaml
-
Добавить шаблон
где
name— имя шаблона;data— данные шаблона.
-
Просмотреть список созданных шаблонов
-
Просмотреть подробную информацию о конкретном шаблоне
-
Обновить информацию в шаблоне
-
Отобразить метрики по фильтрам, указанным в шаблоне
-
Удалить шаблон
Термины и определения содержатся в статьях: