На странице:



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

Для мониторинга состояния системы и анализа производительности доступен веб-интерфейс сервиса самодиагностики. 

С помощью сервиса можно:

  • просматривать системные метрики сервера;
  • анализировать использование ресурсов (CPU, память);
  • контролировать работу камер и детекторов;
  • отслеживать состояние архива;
  • выполнять запросы к метрикам с использованием языка запросов Prometheus (PromQL).

Метрики могут отображаться:

  • в табличном виде (текущие значения);
  • в виде графиков за выбранный период времени.

Доступ к сервису самодиагностики

Для перехода к интерфейсу мониторинга нужно:

  1. Открыть веб-браузер.
  2. В адресной строке ввести: http://127.0.0.1:20040/.
  3. Нажать клавишу Enter.

После этого откроется веб-интерфейс сервиса самодиагностики.

Интерфейс и выполнение запросов

Интерфейс позволяет выполнять запросы к метрикам и анализировать их значения.

Для выполнения запроса нужно:

  1. Ввести метрику в поле Enter expression.

    Примечание

    Для просмотра доступных метрик в поле Enter expression нужно нажать на кнопку  →  Explore metrics.

  2. При необходимости задать временной диапазон.

  3. Нажать на кнопку Execute.

Поддерживается выполнение сложных запросов с использованием PromQL.

Основные возможности запросов

Основные возможности при выполнении запросов приведены в таблице:

ВозможностиОписание
Использование нескольких метрик

В одном запросе можно использовать несколько метрик

Фильтрация по параметрам

Метрики можно фильтровать по параметрам (лейблам) с помощью фигурных скобок.

Пример:

ngp_fps{ep_name=~"hosts/TEST/DeviceIpint.2/SourceEndpoint.video:0:0"}

В этом случае отображаются значения FPS только для указанного источника.

Применение логических и арифметических операторов для поиска аномалий

В запросах можно применять:

  • арифметические операторы;

  • логические операторы;

  • функции Prometheus.

Пример:

ngp_fps < 17

Этот запрос позволяет найти источники, у которых частота кадров ниже 17 FPS. Полный список логических и арифметических операторов указан в официальной документации Prometheus.

Просмотр результатов запроса

Результаты запроса можно просматривать в двух режимах:

  • Table:
    • отображает текущие значения метрик в табличном виде;

    • показывает актуальные значения метрик;

    • обновляется при изменении временного диапазона.

  • Graph:
    • позволяет строить график изменения метрик во времени;
    • можно задать период времени для построения графика;

    • определить конечную точку графика;

    • задать интервал между точками данных;
    • дополнительно можно включить режим накопления, при котором область под графиком закрашивается (переключатели Unstacked/Stacked).

Основные метрики сервиса

Ниже приведены основные метрики, доступные в сервисе самодиагностики.

МетрикаОписание
Метрики состояния сиcтемы
ngp_cpu_total_usageЗагрузка центрального процессора сервера
Метрики архива
ngp_archive_channel_fpsЧастота кадров всех камер при записи в архив
ngp_archive_volume_sizeТекущий общий размер архива (в байтах)
Метрики камер и видеоаналитики
ngp_fpsЧастота кадров всех камер, детекторов и декодеров
ngp_people_countПоследнее зафиксированное количество людей в кадре детектором Детектор подсчета толпы TV
ngp_errors

Количество ошибок в работе детекторов:

ngp_skipped_pp

Количество пропущенных кадров детектором Детектор подсчета толпы TV из-за нехватки ресурсов для обработки

Метрики состояния системы
ALERTS_FOR_STATE
Найденные и устранённые неисправности системы. Содержит параметр alertname с типом проблемы.
Пример
ALERTS_FOR_STATE{alertname="ipint_is_not_activated",ep_name="hosts/Server1/DeviceIpint.99",instance="127.0.0.1:20108",job="ngp_exporter",ngp_alert="true"}

Расшифровка значений alertname (см. Общие сведения о сервисе самодиагностики) для метрики ALERTS_FOR_STATE:

  • low_os_memory — недостаточно оперативной памяти.
  • ipint_is_not_activated — есть связь с камерой, но нет от неё данных.
  • no_samples_in_detector — отсутствуют события от детектора.
  • restart_services_when_archive_source_not_activated — не работает запись в архив.
  • restart_services_when_no_samples_in_archive — частота кадров при записи в архив равна 0.
  • restart_services_when_no_ping_from_detector_to_archive — нет записи в архив по событию от детектора.
  • logs_disk_space_is_low / db_disk_space_is_low — недостаточно места на системном диске
Метрики состояния дисков (SMART)
smartctl_device_smart_status

Общий статус состояния диска. Основные значения метрики:

  • 1 – диск находится в исправном состоянии;
  • 0 – диск сообщил о неисправности и уже вышел из строя, либо прогнозирует отказ в течение следующих 24 часов

В таких случаях рекомендуется проверить:

  • логи экспортера метрик;
  • права доступа к устройствам;
  • корректность работы smartctl.
smartctl_device_attribute

Содержит детальные SMART-атрибуты дисков. Существует несколько типов значений:

  • raw – фактическое значение атрибута без интерпретации;
  • thresh – пороговое значение, при превышении которого атрибут считается проблемным. Если значение raw превышает thresh, это указывает на потенциальную неисправность устройства;
  • value – текущее нормализованное значение атрибута. Обычно находится в диапазоне от 1 до 100 или 1 до 253. Используется для представления состояния устройства в удобной форме;
  • worst – наихудшее нормализованное значение, зафиксированное за время работы устройства. Используется для анализа ухудшения состояния диска.

Пример интерпретации:

Если идет анализ метрики smartctl_device_attribute, значения атрибутов могут выглядеть так:

  • raw: 15 (фактическое количество переназначенных секторов);
  • thresh: 50 (порог, при котором диск считается ненадежным);
  • value: 55 (текущий нормализованный статус атрибута);
  • worst: 50 (наихудший зафиксированный статус атрибута).

Использование в мониторинге:

  • raw: используется для детального анализа и диагностики;
  • thresh: критически важно для настройки предупреждений;
  • value и worst: используются для мониторинга состояния устройства

Примеры полезных запросов для ОС Windows

  1. График загрузки CPU (аналог Системного монитора):
    sum by (process_id) (100 / scalar(wmi_cs_logical_processors) * (irate(wmi_process_cpu_time_total{process="AppHost"}[10m]))) or ngp_cpu_total_usage
  2. Использование оперативной памяти процессами AppHost и общий объём:
    sum by (process_id) (avg_over_time(wmi_process_working_set{process="AppHost"}[5m])) / 1024 or avg_over_time(wmi_os_virtual_memory_bytes[5m]) / 1024
  3. Процент использования оперативной памяти:
    100.0 - 100 * avg_over_time(wmi_os_virtual_memory_free_bytes[5m]) / avg_over_time(wmi_os_virtual_memory_bytes[5m])

Примеры полезных запросов для ОС Linux

  1. Суммарное использование оперативной памяти процессами AppHost:
    sum by (groupname) (namedprocess_namegroup_memory_bytes{memtype="resident"})
  2. Процент использования оперативной памяти:
    100 - node_memory_MemAvailable_bytes * 100 / node_memory_MemTotal_bytes
  3. График загрузки CPU процессами AppHost %):
    sum by (object_id) (rate(namedprocess_namegroup_cpu_seconds_total{groupname="AppHost"}[1m])) * 100
  4. Общая загрузка CPU (в %):
    100 * avg without (cpu) (1 - rate(node_cpu_seconds_total{mode="idle"}[1m]))
  5. Использование памяти процессами AppHost для выявления утечек:
    namedprocess_namegroup_memory_bytes{object_id=~"APP_HOST.*",memtype="proportionalResident"}
  • No labels