Репликация архива. Иерархия модулей Insentry
Репликация архива применяется для отказоустойчивости и централизованного просмотра архива с большого количества камер.
Для настройки репликации создаются отдельные инсталляции Insentry, одна из инсталляций — основная (родительская), остальные — дочерние. Между модулями Watch в родительской и дочерней инсталляции настраивается иерархическая связь. Дочернему модулю даётся разрешение на запись архива в файлы родительской инсталляции, что позволяет заполнить возможные пробелы в записях архива основной инсталляции.
Ниже расскажем, как это настроить.
В основной и дочерней инсталляциях отредактируйте файл конфигурации application.properties модуля Watch, указав следующие значения:
modules.register.subnet=* watch.host=10.10.10.10 insentry.link.enabled=true
Вместо 10.10.10.10 укажите внешний IP адрес сервера, на котором производится настройка: для дочерней инсталляции — адрес дочернего сервера, для родительской инсталляции — адрес основного сервера.
В инсталляции на линуксе все файлы создаются внутри контейнера. Перейдите внутрь контейнера командой docker exec -it имя_контейнера bash выполняйте действия с файлом application.properties уже внутри него. Полный путь до модулей внутри контейнера — /usr/src/InSentry. Директории, внутри которых лежат файлы конфигурации модулей, называются так же, как модули: Cast, Keep, Watch. Используйте команду nano имя_директории/application.properties для редактирования или создания файлов конфигурации.
Расположение файла конфигурации модуля Watch:
- Linux: /usr/src/InSentry/Watch/application.properties
- Windows: C:\Program Files\InSentry\Watch.Lite\application.properties
В основной и дочерней инсталляциях создайте новый файл application.properties для модуля Keep и укажите в нём следующие значения:
token.check.enable=false watch.host=10.10.10.10:9230 cast.host=10.10.10.10:5540
Вместо 10.10.10.10 укажите внешний IP адрес сервера, на котором производится настройка: для дочерней инсталляции — адрес дочернего сервера, для родительской инсталляции — адрес основного сервера. Порт оставьте без изменений.
Расположение файла конфигурации модуля Keep:
- Linux: /usr/src/InSentry/Keep/application.properties
- Windows: C:\Program Files\InSentry\Keep.Lite\application.properties
В основной и дочерней инсталляциях создайте новый файл application.properties для модуля Cast и укажите в нём внешний IP адрес сервера, на котором производится настройка. Порт оставьте без изменений.
watch.host=10.10.10.10:9230
Расположение файла конфигурации модуля Cast:
- Linux: /usr/src/InSentry/Cast/application.properties
- Windows: C:\Program Files\InSentry\Cast\application.properties
В дочерней инсталляции в файле конфигурации application.properties модуля Keep укажите дополнительно следующие значения:
cloud.archive.host=20.20.20.20:3299 cloud.archive.bitrate=200 cloud.archive.chunklimit=30 cloud.archive.timegap=5
Вместо 20.20.20.20 укажите внешний IP адрес родительского сервера. Порт оставьте без изменений.
Расположение файла конфигурации модуля Keep:
- Linux: /usr/src/InSentry/Keep/application.properties
- Windows: C:\Program Files\InSentry\Keep.Lite\application.properties
В основной инсталляции этого делать не нужно.
В дочерней инсталляции перейдите в раздел Управление → Модули и нажмите кнопку Добавить.
В открывшемся окне ручного добавления модуля укажите адрес и порт для подключения к серверу с основным модулем Watch. Порт по умолчанию: 9200.
В дочерней инсталляции скачайте файл со списком камер и загрузите его в родительскую инсталляцию. Импорт и экспорт камер через файл производится в разделе Управление → Импорт / экспорт. Важно, чтобы все настройки камер в родительской и дочерней инсталляциях в точности совпадали.
См. также: Импорт и экспорт камер через файл
В родительской инсталляции перейдите в раздел Управление → Модули.
Если всё настроено правильно, то в списке появится дочерний модуль Watch. Перейдите в его настройки.
Включите доверие модулю.
На этом настройка завершена. Теперь дочерний модуль Watch реплицирует пропущенные данные для записи в родительской инсталляции. Чтобы проверить работу репликации, отключите контейнер или службы Insentry.Keep и Insentry.Cast в родительской инсталляции на 10-15 минут и проверьте, что в родительской инсталляции в списке камер статусы камер зелёные, трансляция идёт и архив записывается.
Перед проверкой на всякий случай включите в дочерней инсталляции запись в архив критически важных данных с камер, чтобы ничего не потерять за время тестирования.