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

Мониторинг

Общие сведения

Кластер Sharx Base оснащен внутренней системой мониторинга, которая собирает метрики с узлов кластера и позволяет диагностировать состояние системы.
Внутренний мониторинг является штатной частью платформы и работает на основе экспортеров — сервисов, установленных на каждом узле.
Собранные метрики хранятся ограниченное время.
Для долговременного хранения и расширенной визуализации может использоваться дополнительное решение — Sharx ProView.

Внутренний мониторинг Sharx Base

Внутренний мониторинг позволяет:

  • получать метрики компонентов кластера;
  • проверять состояние узлов и виртуальных машин;
  • работать с шаблонами отображения метрик.

Экспортеры

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

  • имя сервиса на узле используется для проверки установленного сервиса или службы на уровне ОС;
  • имя экспортера в Sharx Base используется в командах группы metrics ....

Имена сервисов на узлах отличаются от имен экспортеров в Sharx Base.

Таблица — Соответствие имен экспортеров на узлах и в Sharx Base.

Имя сервиса на узле Имя экспортера в Sharx Base Порт Назначение
sdc-cgroup_exporter cgroup_exporter 9198 Метрики ограничений и использования ресурсов системными группами
sdc-disk_exporter disks_exporter_sharx 9196 Метрики дисков
sdc-domain-exporter domain_exporter 9190 Метрики состояния виртуальных машин
sdc-ipmi_exporter ipmi_exporter_sharx 9195 Метрики состояния аппаратного обеспечения
sdc-node_exporter node_exporter_sharx 9191 Метрики общего состояния узлов кластера
sdc-sp_exporter sp_exporter_sharx 9197 Метрики хранилища РСХД

Примечание

В командах группы metrics ... используйте имена из столбца Имя экспортера в Sharx Base

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

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


Настройка мониторинга

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

    metrics exporter add --name <NAME> 
                         --port <PORT>
                         [--metrics_path <METRICS_PATH>]
                         [--nodes <NODES ...>] 
                         [--retention_period <RETENTION_PERIOD>]
                         [--filters <FILTERS>]
                         [--cron <CRON>]
    
    где

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

      • domain_exporter — метрики состояния виртуальных машин;
      • node_exporter_sharx — метрики общего состояния узлов кластера;
      • ipmi_exporter_sharx — метрики состояния аппаратного обеспечения;
      • sp_exporter_sharx — метрики хранилища РСХД;
      • disks_exporter_sharx — метрики дисков;
      • cgroup_exporter — метрики ограничений и использования ресурсов системными группами.
    • port — HTTP-порт экспортера;

    • metrics_path — путь для получения метрик. По умолчанию — /metrics;
    • nodes — узлы кластера для мониторинга. Укажите идентификатор одного или нескольких узлов. При значении * мониторинг будет настроен для всех узлов;
    • retention_period — период мониторинга в секундах. По умолчанию — 600 с;
    • filters — фильтры по имени метрики и меткам;
    • cron — периодичность выполнения процедуры. Период задается в формате "*****" где

      • первая * — минута. От 0 до 59,
      • вторая * — час. От 0 до 23,
      • третья * — день месяца. От 1 до 31,
      • четвертая * — месяц. От 1 до 12,
      • пятая * — день недели. От 0 до 7. Воскресенье=0 или 7.
    Установить экспортеры с параметрами по умолчанию
    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 * * * *'
    
    metrics exporter add --name cgroup_exporter 
                         --port 9198
                         --nodes *
    
  2. Просмотреть список подключенных экспортеров

    metrics exporter list
    

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

    metrics exporter show --name <NAME>
    

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

  4. Обновить конфигурацию экспортера

    metrics exporter update --name <NAME> 
                            [--port <PORT>]
                            [--metrics_path <METRICS_PATH>]
                            [--nodes <NODES ...>] 
                            [--retention_period <RETENTION_PERIOD>]
                            [--filters <FILTERS>]
                            [--cron <CRON>]
    

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

    metrics data fetch --name <NAME> 
                       --sc_node <SC_NODE>
                       [--filters <FILTERS>]
                       [--current <yes|no>]
    

    где

    • name — имя экспортера;
    • sc_node — идентификатор узла для мониторинга;
    • filters — фильтры по имени метрики и меткам;
    • current — флаг выбора определенной метрики. Возможные значения:

      • YES — выбор определенной метрики,
      • NO — выбор всех доступных метрик;

    Внимание

    Для параметра sc_node нельзя использовать значение *

    Запрос метрик ipmi_exporter_sharx

    Запрос

    metrics data fetch --sc_node e87fc5bf-9341-4a3c-ac9d-c12913d34d1f 
                       --name ipmi_exporter_sharx 
                       --filters '[
                          {"name": "^ipmi_device_status$"},
                          {"name": "^ipmi_sensor$", "labels": {"name": "^P[12] Temperature_celsius$"}},
                          {"name": "^ipmi_sensor$", "labels": {"name": "^PS[12] Input Power$"}}
                       ]'
    

    Пример ответа см. в приложенном файле example_ipmi_response.json

    Запрос метрик sp_exporter_sharx

    Запрос

    metrics data fetch --sc_node e87fc5bf-9341-4a3c-ac9d-c12913d34d1f 
                       --name sp_exporter_sharx         
    

    Пример ответа см. в приложенном файле example_sp_response.json

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

    metrics exporter del --name <NAME>
    

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


Проверка работоспособности

После настройки внутреннего мониторинга проверьте, что конфигурации экспортеров добавлены, и метрики доступны для получения.

  1. Просмотрите список подключенных экспортеров

    metrics exporter list
    

    Убедитесь, что в списке отображаются все экспортеры.

  2. Просмотрите конфигурацию нужного экспортера

    metrics exporter show --name <NAME>
    

    В ответе проверьте:

    • имя экспортера;
    • HTTP-порт экспортера;
    • узлы, для которых настроен сбор метрик;
    • период хранения метрик;
    • путь получения метрик;
    • расписание запуска;
    • фильтры, если они заданы.
  3. Получите тестовую метрику

    metrics data fetch --name <NAME> 
                       --sc_node <SC_NODE>
                       [--filters <FILTERS>]
                       [--current <YES|NO>]
    

  4. Проверьте ответ команды. В ответе должны отображаться:

    • имя метрики;
    • значение метрики;
    • метки метрики.

    Пример ответа

    {"metric_name": "libvirt_up", "metric_value": [1.0], "labels": "{}"}
    
  5. Если команда возвращает значение метрики, внутренний мониторинг работает корректно для выбранного экспортера и узла.

  6. Если метрика не возвращается, проверьте:

    • добавлена ли конфигурация экспортера;
    • корректно ли указано имя экспортера;
    • доступен ли узел, указанный в параметре sc_node;
    • корректно ли указан HTTP-порт экспортера;
    • корректно ли заданы фильтры;
    • запущен ли соответствующий экспортер на узле.

    Если проблемы с мониторингом сохраняются, обратитесь в техническую поддержку ООО «Шаркс ДЦ».


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

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

Пример

Шаблон файла отображения метрик для экспортеров sdc-node_exporter, sdc-ipmi_exporter, sdc-disk_exportermetrics_display_template.yaml.
Для экспортера sdc-sp_exporter — шаблон metrics_display_template_sp.yaml

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

    metrics template add --name <NAME> 
                         [--data <DATA>]
    

    где

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

    metrics template list
    

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

    metrics template show --name <NAME>
    

    где name — имя шаблона.

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

    metrics template update --name <NAME> 
                            [--data <DATA>]
    

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

    metrics template execute --name <NAME> 
    

    где name — имя шаблона.

    После выполнения команды проверьте, что в ответе отображаются метрики, соответствующие фильтрам шаблона.

    Шаблон работает корректно, если команда возвращает отфильтрованный набор метрик.

    Если команда не возвращает данные, проверьте:

    • существует ли шаблон с указанным именем;
    • корректно ли указаны данные шаблона;
    • доступны ли экспортеры, из которых шаблон получает метрики;
    • возвращают ли экспортеры метрики без применения шаблона;
    • соответствуют ли фильтры шаблона фактическим именам метрик и меткам.
  6. Удалить шаблон

    metrics template del --name <NAME>
    


Внешний мониторинг. Sharx ProView

Sharx ProView — это дополнительное решение для сбора метрик платформы виртуализации Sharx Base, которое позволяет:

  • хранить метрики неограниченное время;
  • анализировать производительность нескольких установок Sharx Base в едином интерфейсе;
  • использовать преднастроенные дашборды для отображения информации о ресурсах.

Внешний мониторинг на базе Sharx ProView не входит в стандартную поставку платформы и настраивается отдельно по запросу заказчика. Для получения подробной информации и установки обратитесь в техническую поддержку ООО «Шаркс ДЦ».

Примечание

Внутренний мониторинг при этом остается активным. Внешнее решение является дополнением для долговременного хранения и расширенной визуализации


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