Перейти к содержанию

Мониторинг

В Sharx Base реализован мониторинг системы на основе взаимодействия с экспортерами, установленными на каждом узле кластера.

Экспортеры — сервисы, которые собирают метрики на узлах и предоставляют к ним доступ на определенном HTTP-порту.
В текущей версии Sharx Base для сбора показателей используются следующие экспортеры:

  • sdc-domain-exporter — состояние виртуальных машин;
  • node_exporter_sharx — показатели узлов;
  • ipmi_exporter_sharx — cостояние оборудования;
  • sp_exporter_sharx — показатели хранилища РСХД;
  • disks_exporter_sharx — метрики дисков.

Предустановки для мониторинга выполняются сотрудниками технической поддержки.

Доступные действия Администратора кластера перечислены ниже.


Настроить мониторинг

  1. Установить конфигурацию экспортера для сбора метрик

    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 * * * *'
    
  2. Просмотреть список подключенных экспортеров

    metrics exporter list
    

  3. Просмотреть информацию об определенном экспортере

    metrics exporter show --name <exporter_name>
    

    где name- имя экспортера. Возможные значения:

    • domain_exporter — состояние виртуальных машин;
    • node_exporter_sharx — показатели узлов;
    • ipmi_exporter_sharx — cостояние оборудования;
    • sp_exporter_sharx — показатели хранилища РСХД;
    • disks_exporter_sharx — метрики дисков.
  4. Обновить конфигурацию экпортера

    metrics exporter update --name <exporter_name> [--nodes <UUID_node>] [--port <number-port>] [--retention_period <retention_period>] [--metrics_path <dir_for_metric_path>]
    

  5. Получить метрики

    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_name": "libvirt_up", "metric_value": [1.0], "labels": "{}"}
    

    где 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 — значение метрики.

  6. Удалить конфигурацию экспортера

    metrics exporter del --name <exporter_name>
    

    где name — имя экспортера.


Работа с шаблонами

Шаблоны позволяют извлекать информацию из экспортера и фильтровать ее согласно требованиям, указанным в них.

Пример

Шаблон файла отображения метрик для экспортеров node_exporter_sharx, ipmi_exporter_sharx, disks_exporter_sharxmetrics_display_template.yaml.
Для экспортера sp_exporter_sharx — шаблон metrics_display_template_sp.yaml

  1. Добавить шаблон

    metrics template add --name <template_name> --data <template_data>
    

    где

    • name — имя шаблона;
    • data — данные шаблона.
  2. Просмотреть список созданных шаблонов

    metrics template list
    

  3. Просмотреть подробную информацию о конкретном шаблоне

    metrics template show --name <template_name>
    

  4. Обновить информацию в шаблоне

    metrics template update --name <template_name> --data <template_data>
    

  5. Отобразить метрики по фильтрам, указанным в шаблоне

    metrics template execute --name <template_name> 
    

  6. Удалить шаблон

    metrics template del --name <template_name>
    


Термины и определения содержатся в статьях: