Информация о недоступных камерах доступна через административную панель:
Также список недоступных камер можно получить через API-вызов /system-api/GetUnavailableCameras
.
Возможные причины недоступности камеры:
ping IP_АДРЕС_КАМЕРЫ
telnet IP_АДРЕС_КАМЕРЫ 554
Если камера в административной панели имеет статус Доступна, но при попытке посмотреть камеру видеопоток не воспроизводится, причины могут быть следующими:
При использовании детекции движении средствами камеры (типы записи: Запись по движению
, Запись по движению с предварительной буферизации
) пропуски движения связаны с работой самой камеры и могут быть вызваны следующими причинами:
Состояние ONVIF
будет указан текст Ошибка
. Также проверить, поддерживает или нет камера детекцию движения через ONVIF, можно воспользовавшись приложением ONVIF Device Manager
(ODM
), в котором открыть раздел События
(Events)
и проверить наличие записей о событиях движения. Если камера поддерживает детекцию движения через ONVIF, то когда в кадре возникает движение, в ODM должны отображаться записи с текстом IsMotion: true
как на этом скриншоте odm_events.pngМедленная работа дисков стримера, на которые выполняется запись архивов камер, приводит к долгому и нестабильному воспроизведению архивов. Основным признаком медленной работы дисков являются потери кадров при записи (частичное отсутствие архивных записей).
Информация о потерях кадров при записи журналируется в файл /data/cctv/log/streamer.err.log
и содержит следующие данные:
lose packets write queue:129 limit:128
- lose packets – признак начала превышения очереди записи для камеры и соответственно потери кадров при записи для этой камеры
- queue:129 – длина очереди
- limit:128 – ограничение длины очереди согласно настройкам стримера
lost gops:181 frames:9050 size:45332018 interval:369981ms
- lost – признак окончания превышения очереди записи для камеры с дополнительной информацией о количестве данных, которые не были записаны на диск
- gops:181 – количество отброшенных GOP
- frames:9050 – количество отброшенных кадров
- size:45332018 – количество отброшенных байт
- interval:369981ms– количество отброшенных миллисекунд
Обычно потери кадров при записи связаны с недостаточностью скоростью HDD, на которые выполняется запись архивов камер. Информацию об утилизации HDD можно посмотреть, выполнив в консоли сервера команду:
iostat -x 5
В случае высокой утилизации HDD необходимо в консоли сервера с помощью специальных утилит проверить включенность кэширование записи средствами HDD и RAID-контроллера (если он используется).
Решением проблемы может быть уменьшение количества камер, архивы которых пишет камеры, или оптимизация настроек дисковой подсистемы (например включение аппаратного кэширования записи на дисках и RAID-контроллере).
Полное отсутствие записей архива может быть вызвано следующими причинами:
cctv
, от имени которого запущен процесс cctv-streamer
. Путь к этой папке указан в конфиге /data/cctv/etc/streamer.conf
в параметре arch_dir
.Потери кадров в аналитике приводят к пропуску объектов, которые должна обнаруживать аналитика, например к пропуску номеров автомобилей при их распознавании.
Информация о пропусках кадров d аналитике журналируется в файл /data/cctv/log/streamer.err.log
. Например:
2023-Sep-06 09:09:13.479928 793661 793661 0xb97c010(camera:784) PlateDetection::check_queue_size 363 DROPPED packets:47 interval:00:00:07.838827
Записи о таких пропусках содержат ключевое слово DROPPED, а также ID камеры, название модуля аналитики и продолжительность пропущенного фрагмента.
Пропуски кадров в аналитике вызваны высокой загрузкой CPU или GPU (при его наличии). Высокая загрузка CPU может быть у отдельных ядер, чья утилизация составляет 99%. Посмотреть утилизацию CPU по ядрам можно, выполнив в консоли сервера команду:
top -H
Снижение нагрузки на CPU/GPU возможно, если через административную панель в настройках модулей аналитики уменьшить частоту обработки кадров.
Процессы мастера (cctv-master) и стримера (cctv-streamer), которые запускаются на серверах, для мониторинга поддерживают протокол Zabbix (пассивный режим). Перед подключением мастера и стримера к собственному Zabbix-серверу необходимо в конфигах /data/cctv/etc/master.conf
и /data/cctv/etc/streamer.conf
вместо 0.0.0.0
указать адрес собственного Zabbix-сервера в следующих строках:
zabbix: ["0.0.0.0", 2085],
zabbix: ["0.0.0.0", 2086],
после чего перезапустить процессы мастера и стримера:
service cctv-master restart
service cctv-streamer restart
В настройки Zabbix-сервера необходимо импортировать шаблоны из xml-файла:
https://fpst.ru/files/utils/zbx_export_templates_20240205.xml
В результате в настройках Zabbix-сервера появятся 3 новых шаблона:
Описание параметров, опрашиваемых через Zabbix:
https://fpst.ru/files/utils/Форпост. Zabbix-счетчики.pdf
При добавлении мастера и стримера в Zabbix-сервер необходимо создать соответствующие хосты, указав для них:
Для мониторинга самих серверов необходимо использовать стандартные шаблоны Zabbix.
Также рекомендуем настроить мониторинг доступности веб-портала Форпост через Web scenarios - HTTP-код ответа должен быть 200.
Отсутствие актуальных превью для камер с общим доступом или в разделе карты, может быть по нескольким причинам:
1. В системе отсутствует задача в cron. Необходимо проверить содержимое файла /etc/crontab и убедиться, что присутствует следующая строка:
*/20 * * * * www-data /usr/bin/php /var/www/cctv-portal/protected/cron.php screenshot
Если строки нет, её нужно добавить.
2. Возможна блокировка процесса обновления скриншотов. В таком случае необходимо удалить файл блокировки:
rm /var/www/cctv-portal/protected/runtime/screenshot.lock