Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Сервис самодиагностики собирает информацию о метриках системы и проверяет работу всех компонентов ПК Интеллект X. Полученные данные сравниваются с показателями нормальной работы системы. При возникновении отклонений генерируются внутренние тревоги, которые можно отследить в Webweb-интерфейсе (см. Просмотр метрик в сервисе самодиагностики).

Примеры отслеживаемых ошибок:

  • Высокая нагрузка на процессор (Hight CPU load).
  • Недостаточно оперативной памяти (Low OS virtual memory).
  • Есть связь с видеокамерой, но нет данных от нее (ipint_no_samples).
  • Нет событий от детектора.
  • Архив не работает .(archive_source_not_activated).
  • Хранилище не справляется с нагрузкой на запись (archive_overloaded)Частота кадров при записи в архив равна 0.
  • Нет записи в архив по событиям от детектора.
  • Любые внутренние ошибки работы ПК Интеллект X.
  • Закончилось место на системном диске.

В сервисе самодиагностики реализованы следующие правила на очистку системного диска:

  • от детектора (archive_no_ping_from_detector).

В сервисе самодиагностики реализованы правила, которые позволяют отслеживать различные состояния системы. Полный список правил, доступный для конкретного сервера, можно посмотреть в web-интерфейсе сервиса самодиагностики в разделе Status → Rules: http://127.0.0.1:20040/rules, где:

  • alert – название правила;
  • expr – условие срабатывания правила; 
  • actions – действия правила;
  • summary – описание правила.
Info
titleПримечание

Существуют правила, которые генерируют тревоги, но не выполняют никаких действий (actions). Такие правила помечены меткой disabled: true.

Примеры правил:

alertexpractionssummary
Low disk free space (logs)

Если свободное место на системном диске становится меньше 20 ГБ,

Объем свободной памятиМеханизм очистки< 20 ГБС системного диска

удаляются все серверные логи, в том числе и архивированные, для освобождения пространства:

Code Block
wmi_logical_disk_free_bytes{volume="C:"} / (1024 * 1024) <
15 ГБУдаление всех событий старше одной недели< 10 ГБУдаление всех событий старше одного дня< 5 ГБУдаление всех событий старше одного часа< 3 ГБУдаление всех событий

...

 20480
ACTION_CLEANUP_LOGS
Очистка директории логов при нехватке места на системном диске
Low disk free space (database)

Если свободное место на диске для базы данных становится меньше 15 ГБ, удаляются все события старше одной недели:

Code Block
wmi_logical_disk_free_bytes{volume="C:"} / (1024 * 1024) < 15360


ACTION_CLEANUP_DB

Очистка базы данных Postgres при нехватке места на диске. При этом если свободное место на диске для базы данных становится меньше:

  • 10 ГБ – удаляются все события старше одного дня.
  • 5 ГБ – удаляются все события старше одного часа.
  • 3 ГБ – удаляются все события.
archive_no_samples

Правило проверяет, поступают ли новые кадры в архив. Если новые кадры не приходят в архив в течение 5 минут, то перезапускается процесс архива:

Code Block
((changes(ngp_archive_channel_state_change
{ep_name="hosts/SERVER/MultimediaStorage"}[5m]) + ngp_archive_channel_current_state
{ep_name="hosts/SERVER/MultimediaStorage"} > 0) unless (changes(ngp_input_sample_counter
{ep_name="hosts/SERVER/MultimediaStorage"}[5m]) > 0)) 
and ignoring(ep_name) ngp_fps{ep_name="hosts/SERVER/DeviceIpint"}
ACTION_RESTART_NGP_UNIT

Перезапуск службы архива, если в архив не приходят новые кадры

detector_no_sample

Правило отслеживает поступление кадров на детектор. Если новые кадры не поступают на детектор, то перезапускается службы детектора:

Code Block
(absent(ngp_fps{ep_name="hosts/SERVER/AVDetector"}) * scalar(ngp_fps{ep_name="hosts/SERVER/DeviceIpint"}) * scalar(changes(ngp_fps
{ep_name="hosts/SERVER/AVDetector"}[3m])) * scalar((ngp_service_desired_state
{ep_name="hosts/SERVER/AVDetector"} == 0) + 1)) > 0
ACTION_RESTART_NGP_UNIT

Перезапуск службы детектора, если активный детектор не получает новые кадры

statistics_server_unhealthy

Если сервер статистики не обновляет счетчик задач или становится недоступным, службы статистики автоматически перезапускаются:

Code Block
absent(changes(ngp_work_item_counter
{ep_name="hosts/SERVER/StatisticsServer"}[5m])) or absent(up{job="node.SERVER"})

 

ACTION_RESTART_NGP_UNIT

Перезапуск службы статистики, если нет событий статистики