Как настроить сервер тревог на VIGI NVR
Содержание
Сценарий 1. Без прикреплённого изображения
Сценарий 2. С прикреплённым изображением
Значения Event Type и Event Subtype
Введение
Функция Alarm Server предназначена для приёма событийных сообщений, которые активно отправляются VIGI NVR при возникновении событий тревоги.
Информация, включаемая в отчёт, будет постепенно расширяться по мере обновления программного обеспечения устройств и включать тип события, временную метку, сведения об устройстве и, опционально, снимок события.
Эта функция обеспечивает бесшовную интеграцию тревог и бизнес-обработку между VIGI NVR и сторонними системами.
Помимо объяснения того, как настроить функцию Alarm Server на VIGI NVR, в этой статье приведены рекомендации по устранению возможных проблем, таких как сбои подключения к серверу, аномальная отправка событий и ошибки парсинга на стороне сервера.
Требования
- VIGI NVR (с поддержкой Alarm Server)
- Сервер тревог (Alarm Server)
- Ноутбук
Настройка
Шаг 1. Постройте топологию в соответствии со схемой ниже.

Примечание: Топология, показанная в этой статье, приведена для справки. Фактические сценарии развертывания более разнообразны.
Шаг 2. Войдите в веб-интерфейс VIGI NVR, используя его IP-адрес. Введите имя пользователя и пароль, нажмите Войти.

Шаг 3. Перейдите в Настройки > События > Сервер тревог, нажмите кнопку +Добавить.

Шаг 4. В открывшемся окне введите информацию, относящуюся к стороннему серверу. В этой статье в качестве сервера используется https://webhook.site/#!/.

Шаг 5. Введите IP-адрес хоста или домен и URL стороннего сервера, выберите подходящий протокол (HTTP или HTTPS) и укажите соответствующий номер порта от 1 до 65535. В этой статье для демонстрации используются протокол HTTP и порт 80. Вы также можете выбрать, включать ли прикреплённое изображение в сообщение о событии. Наконец, нажмите Сохранить, чтобы применить и сохранить конфигурацию.

Примечание:
1. В параметрах конфигурации Host IP/Domain означает IP-адрес или доменное имя сервера, которым в этой статье является webhook.site.
2. URL соответствует пути URL, используемому в сообщениях HTTP между устройством и сервером. В этом документе используется URL-адрес сервера по умолчанию (/0126c2b0-f1cb-4b17-92f8-f64bff5a050f).
3. Расширенная служба сообщений о тревогах поддерживается после обновления прошивки NVR. После включения этой функции Alarm Server может включать в сообщения о тревогах более подробную информацию, такую как расширенные поля, связанные с событиями, или дополнительные атрибуты событий. Это помогает сторонним платформам получать более богатую информацию о тревогах для дальнейшей обработки.
Обратите внимание, что после включения этой функции формат сообщения о тревоге может отличаться от предыдущего. Поэтому, если ваш сторонний сервер уже реализовал логику парсинга сообщений о тревогах, возможно, потребуется соответствующим образом скорректировать правила парсинга.
О различиях в формате сообщений о тревогах до и после включения этой функции см. второй вопрос в разделе Вопросы и ответы.

Шаг 6. Вы можете нажать кнопку Тест, чтобы проверить состояние соединения между устройством и сервером.

Шаг 7. Когда появится всплывающее сообщение «Служба доступна», это означает, что состояние соединения нормальное и функция работает правильно. Нажмите ОК, чтобы продолжить.

Шаг 8. Перейдите в Настройки > События > Интеллектуальные события > Обнаружение людей, выберите нужный канал, включите функцию обнаружения людей.

Примечание: В этой статье для демонстрации используется обнаружение людей. Другие функции обнаружения событий также будут работать аналогичным образом.
Шаг 9. Проверьте настройки Снятия с охраны.
Перейдите в Настройки > События > Снятие с охраны и проверьте следующие настройки:
- Если Режим установлен в Охрана, дополнительных изменений не требуется.
- Если Режим установлен в Снято с охраны, убедитесь, что Отправка на сервер тревог не выбрана в разделе Действие при снятии с охраны. Любое действие, выбранное в этом разделе, отключается, пока NVR находится в режиме снятия с охраны.
Нажмите Применить, чтобы сохранить настройки.
Примечание: Опция «Отправка на сервер тревог» на странице снятия с охраны доступна только на некоторых моделях с поддерживаемыми версиями прошивки. По умолчанию режим установлен в «Охрана». Если опция «Отправка на сервер тревог» недоступна, NVR по умолчанию отправляет все события на сервер тревог.

Проверка
Шаг 1. Настройте зеркалирование портов на коммутаторе, чтобы зеркалировать порт, подключенный к VIGI NVR, на порт, подключенный к ноутбуку. Запустите захват пакетов на сетевом интерфейсе ноутбука с помощью Wireshark, затем инициируйте событие обнаружения людей.
Шаг 2. Проверьте информацию, отправленную VIGI NVR.
Сценарий 1. Без прикреплённого изображения
Шаг 1. Введите «http» в строке фильтра отображения Wireshark, чтобы отобразить захваченные HTTP-пакеты. Затем проверьте HTTP POST Request и HTTP Response.

Шаг 2. Проверьте заголовки HTTP POST Request.

Примечание: Первая строка содержит метод POST, целевой URI запроса и версию HTTP 1.1. URI соответствует строке URL, настроенной ранее в настройках сервера тревог.
Со второй строки до пустой строки каждая строка представляет пару ключ-значение, описывающую метаданные запроса. Они включают Host, Content-Type, Content-Length и Cache-Control.
Когда Content-Type установлен в application/json, это означает, что отправляется только сообщение о событии (без прикреплённого изображения), и тело запроса является строкой в формате JSON.
Каждая строка заканчивается на \r\n. Пустая строка, состоящая только из \r\n, указывает на конец заголовков запроса и начало тела запроса.
Шаг 3. Проверьте тело HTTP POST Request.

Примечание: В JSON-полезной нагрузке device_id представляет уникальный идентификатор NVR, отправляющего событие, а device_name указывает имя отправляющего NVR. Поле messages представляет собой массив, содержащий отправленные события. Внутри messages Event Type указывает тип инициированного события, Event Sub Type указывает подтип инициированного события, EVENT TIME указывает время возникновения события, Camera указывает канал, который инициировал событие, Camera Name указывает имя инициированного канала, а Extra Text зарезервировано для дополнительной информации.
Шаг 4. Проверьте HTTP-ответ. Код состояния 200 OK указывает, что сервер webhook.site успешно получил и обработал запрос.

Шаг 5. Сравните данные, отправленные в теле HTTP POST Request, с данными, полученными и проанализированными сервером webhook.site, чтобы проверить их соответствие.

Сценарий 2. С прикреплённым изображением
Шаг 1. Перед началом захвата пакетов нажмите кнопку Изменить в правом верхнем углу страницы сервера webhook.site и измените Content-Type для сообщений с прикреплёнными изображениями на multipart/form-data; boundary=ReportEventBoundary.

Примечание: multipart/form-data позволяет включать несколько частей данных, таких как информация о событии в формате JSON и снимок JPEG, в одно тело HTTP-запроса. boundary = ReportEventBoundary указывает границу, используемую для разделения различных частей данных.
Шаг 2. Используйте команду «http» для фильтрации захваченных пакетов. Затем проверьте заголовки и тело HTTP POST Request.

Примечание: Тело запроса начинается после пустой строки (\r\n). Поскольку Content-Type имеет значение multipart/form-data, тело разделено на несколько частей, каждая из которых отделена границей --ReportEventBoundary. Тело запроса заканчивается на --ReportEventBoundary--.
Первая часть имеет name="event" и содержит данные о событии в формате JSON. Вторая часть имеет name="snapshot" и содержит данные снимка JPEG. Для каждой части Content-Type указывает формат данных, а Content-Length указывает размер соответствующего содержимого в байтах.
Данные JPEG, показанные в Wireshark, представляют собой двоичное содержимое снимка.
Шаг 3. Проверьте HTTP-ответ. Код состояния 200 OK указывает, что сервер webhook.site успешно получил и принял запрос.

Шаг 4. Сравните данные, отправленные в теле HTTP POST Request, с данными, полученными и проанализированными сервером webhook.site, чтобы проверить их соответствие.

Примечание: Сервер webhook.site сам по себе не анализирует и не декодирует загруженное содержимое изображения. Он только получает и отображает данные HTTP-запроса. Поэтому видны только информация о событии и соответствующая временная метка изображения.
Значения Event Type и Event Subtype
Поля Event Type и Event Subtype используют числовые значения для идентификации категории и конкретного типа каждого отправленного события. Обратитесь к следующим таблицам для получения поддерживаемых значений.
|
Значение Event Type |
Значение Event Subtype |
Описание |
|
1 |
2 |
Обнаружение движения |
|
2, 101 |
Обнаружение движения/Человек |
|
|
2, 102 |
Обнаружение движения/Транспорт |
|
|
3 |
Обнаружение вмешательства |
|
|
4 |
Обнаружение пересечения линии |
|
|
4, 101 |
Обнаружение пересечения линии/Человек |
|
|
4, 102 |
Обнаружение пересечения линии/Транспорт |
|
|
5 |
Обнаружение вторжения |
|
|
5, 101 |
Обнаружение вторжения/Человек |
|
|
5, 102 |
Обнаружение вторжения/Транспорт |
|
|
6 |
Обнаружение входа в область |
|
|
6, 101 |
Обнаружение входа в область/Человек |
|
|
6, 102 |
Обнаружение входа в область/Транспорт |
|
|
7 |
Обнаружение выхода из области |
|
|
7, 101 |
Обнаружение выхода из области/Человек |
|
|
7, 102 |
Обнаружение выхода из области/Транспорт |
|
|
8 |
Обнаружение праздношатания |
|
|
8, 101 |
Обнаружение праздношатания/Человека |
|
|
8, 102 |
Обнаружение праздношатания/Транспорт |
|
|
14 |
Обнаружение аномального звука |
|
|
16 |
Обнаружение изменения сцены |
|
|
19 |
Потеря видео |
|
|
21 |
Обнаружение человека |
|
|
22 |
Обнаружение транспортного средства |
|
|
23 |
Обнаружение оставленного/удалённого объекта |
|
|
38 |
Обнаружение входа тревоги IPC |
|
|
39, 103 |
Обнаружение очереди — достигнуто пороговое значение количества людей |
|
|
39, 104 |
Обнаружение очереди — достигнуты пороговые значения количества людей и времени ожидания |
|
|
2 |
3 |
Отсутствие жёсткого диска |
|
4 |
Жёсткий диск заполнен |
|
|
7 |
Исключение жёсткого диска |
|
|
8 |
Исключение входа в систему |
|
|
9 |
Короткое замыкание одного порта POE |
|
|
10 |
Перегрузка одного порта POE |
|
|
11 |
Ошибка температуры чипа POE |
|
|
12 |
Общая перегрузка POE |
|
|
13 |
Обнаружение входа тревоги NVR |
|
|
14 |
Неисправность вентилятора |
|
|
15 |
Конфликт IP-адресов NVR |
|
|
17 |
Конфликт IP-адресов IPC |
|
|
18 |
Жёсткий диск недоступен из-за повреждения |
|
|
7 |
1 |
Сбой RAID-массива |
|
2 |
Деградация RAID-массива |
|
|
3 |
RAID-массив восстановлен с использованием горячего резерва |
|
|
4 |
Сбой горячего резерва |
|
|
5 |
RAID-массив недоступен |
|
|
6 |
RAID-массив заполнен |
|
|
7 |
Нет диска |
|
|
8 |
Ошибка пароля жёсткого диска |
|
|
9 |
Ошибка пароля RAID |
|
|
10 |
Ошибка пароля внешнего жёсткого диска |
Примечания:
- Поля, включаемые в сообщение сервера тревог, различаются в зависимости от отправляемого события. Все сообщения включают тип события, подтип события и время события. Только уведомления с Event Type 1 включают номер и имя инициированного канала. После включения Enhanced Alarm Message Service эти поля отображаются как Event Type, Event Sub Type, EVENT TIME, Camera и Camera Name вместо исходных имен полей type, sub_type, localtime, channel и channel_name.
- Некоторые исключения устройств включают дополнительное значение, идентифицирующее компонент, вызвавший событие. Значение этого значения зависит от отправленных Event Type и Event Subtype, как показано ниже.
|
Event Type |
Event Subtype |
Дополнительная информация |
Описание |
|
2 |
3, 4 или 7 |
ID диска |
Жёсткий диск, вызвавший событие |
|
7 |
8 |
ID диска |
Жёсткий диск, вызвавший событие |
|
2 |
9 или 10 |
Номер порта PoE |
Порт PoE, вызвавший событие |
|
2 |
13 |
ID входа тревоги |
Вход тревоги, вызвавший событие |
|
7 |
1, 2, 3, 4, 6 или 9 |
ID RAID-массива |
RAID-массив, вызвавший событие |
|
7 |
10 |
ID внешнего жёсткого диска |
Внешний жёсткий диск, вызвавший событие |
- Следующие события, связанные с RAID, доступны только на моделях NVR, поддерживающих RAID: Сбой RAID-массива, Деградация RAID-массива, Восстановление RAID-массива с использованием горячего резерва, Сбой горячего резерва, RAID-массив недоступен, RAID-массив заполнен и Ошибка пароля RAID.
- Следующие события, связанные с PoE, доступны только на моделях NVR, поддерживающих PoE: Короткое замыкание одного порта PoE, Перегрузка одного порта PoE, Ошибка температуры чипа PoE и Общая перегрузка PoE.
Заключение
Теперь вы настроили функцию Alarm Server. При возникновении настроенного события VIGI NVR отправляет информацию о событии и, если включено, соответствующий снимок на сервер тревог.
Вопросы и ответы
В1: Если Alarm Server настроен успешно, но при возникновении события сервер не получает данные о тревоге, что делать?
О1: Выполните следующие проверки:
Шаг 1. Выполните предварительную проверку конфигурации. Просмотрите журналы NVR, чтобы подтвердить, что событие было обнаружено и инициировано. VIGI NVR не требуют отдельных настроек отправки на сервер тревог для отдельных каналов. Для настроек, которые могут препятствовать отправке событий, когда NVR находится в режиме снятия с охраны, обратитесь к Шагу 9. Проверка настроек снятия с охраны. Также проверьте все параметры конфигурации Alarm Server. Убедитесь, что сервер прослушивает настроенный порт и что настроенный URL точно соответствует конечной точке сервера.
Шаг 2. Настройте зеркалирование портов и захватите пакеты со стороны устройства, затем последовательно проверьте следующие пункты:
- TCP-соединение: Проверьте, успешно ли установлено трёхэтапное рукопожатие TCP между устройством и сервером.
- HTTP POST Request: Подтвердите, что POST-запрос инициирован успешно и что формат заголовка запроса правильный. Обратите особое внимание на поле Content-Type. Когда отправляется только информация о событии, Content-Type должен быть application/json. Когда включён снимок, Content-Type должен быть multipart/form-data, а смешанные данные (JSON-строка и данные изображения) должны быть разделены с использованием boundary=ReportEventBoundary.
- HTTP-ответ: Проверьте код состояния HTTP-ответа, возвращённый в пакете, чтобы подтвердить, правильно ли сервер отвечает на HTTP-запрос.
В2: В чём разница в формате сообщения о тревоге до и после включения Enhanced Alarm Message Service?
О2: После включения Enhanced Alarm Message Service в сообщение Alarm Server включается дополнительное поле Extra Text. Если ваш сторонний сервер использует логику парсинга, основанную на предыдущем формате, просмотрите и обновите её при необходимости. См. сравнение ниже для получения подробной информации.
До включения Enhanced Alarm Message Service:
|
Свойство |
Описание |
Значение |
|
type |
Тип инициированного события |
event_type: {Event Type} |
|
sub_type |
Подтип инициированного события |
event_sub_type: {Event Sub Type} |
|
localtime |
Временная метка события |
datetime: {ГГГГ-ММ-ДД ЧЧ:ММ:СС} |
|
channel |
Инициированный канал |
camera_number: {Номер камеры} |
|
channel_name |
Имя инициированного канала |
camera_name: {Имя камеры} |
После включения Enhanced Alarm Message Service:
|
Свойство |
Описание |
Значение |
|
Event Type |
Тип инициированного события |
event_type: {Event Type} |
|
Event Sub Type |
Подтип инициированного события |
event_sub_type: {Event Sub Type} |
|
EVENT TIME |
Временная метка события |
datetime: {ГГГГ-ММ-ДД ЧЧ:ММ:СС} |
|
Camera |
Инициированный канал |
camera_number: {Номер камеры} |
|
Camera Name |
Имя инициированного канала |
camera_name: {Имя камеры} |
|
Extra Text |
Дополнительная информация |
Значение по умолчанию — None. Зарезервировано для расширения. |
Чтобы узнать больше о каждой функции и настройке, посетите Домашнюю страницу поддержки и скачайте или ознакомьтесь с руководством для вашего продукта.
Ищете больше информации?
Полезен ли этот FAQ?
Ваши отзывы помогают улучшить этот сайт.
TP-Link Community
Still need help? Search for answers, ask questions, and get help from TP-Link experts and other users around the world.
From United States?
Получайте информацию о продуктах, событиях и услугах для вашего региона.