Репликация архива. Иерархия модулей Insentry

Репликация архива применяется для отказоустойчивости и централизованного просмотра архива с большого количества камер.

Для настройки репликации создаются отдельные инсталляции Insentry, одна из инсталляций — основная (родительская), остальные — дочерние. Между модулями Watch в родительской и дочерней инсталляции настраивается иерархическая связь. Дочернему модулю даётся разрешение на запись архива в файлы родительской инсталляции, что позволяет заполнить возможные пробелы в записях архива основной инсталляции.

Ниже расскажем, как это настроить.

  1. В основной и дочерней инсталляциях отредактируйте файл конфигурации application.properties модуля Watch, указав следующие значения:

    modules.register.subnet=*
    watch.host=10.10.10.10
    insentry.link.enabled=true

    Вместо 10.10.10.10 укажите внешний IP адрес сервера, на котором производится настройка: для дочерней инсталляции — адрес дочернего сервера, для родительской инсталляции — адрес основного сервера.

    Расположение файла конфигурации модуля Watch:

    • Linux: /usr/src/InSentry/Watch/application.properties
    • Windows: C:\Program Files\InSentry\Watch.Lite\application.properties
  2. В основной и дочерней инсталляциях создайте новый файл 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
  3. В основной и дочерней инсталляциях создайте новый файл 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
  4. В дочерней инсталляции в файле конфигурации 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
  5. В дочерней инсталляции перейдите в раздел Управление → Модули и нажмите кнопку Добавить.

  6. В открывшемся окне ручного добавления модуля укажите адрес и порт для подключения к серверу с основным модулем Watch. Порт по умолчанию: 9200.

  7. В дочерней инсталляции скачайте файл со списком камер и загрузите его в родительскую инсталляцию. Импорт и экспорт камер через файл производится в разделе Управление → Импорт / экспорт. Важно, чтобы все настройки камер в родительской и дочерней инсталляциях в точности совпадали.

    См. также: Импорт и экспорт камер через файл

  8. В родительской инсталляции перейдите в раздел Управление → Модули.

  9. Если всё настроено правильно, то в списке появится дочерний модуль Watch. Перейдите в его настройки.

  10. Включите доверие модулю.

На этом настройка завершена. Теперь дочерний модуль Watch реплицирует пропущенные данные для записи в родительской инсталляции. Чтобы проверить работу репликации, отключите контейнер или службы Insentry.Keep и Insentry.Cast в родительской инсталляции на 10-15 минут и проверьте, что в родительской инсталляции в списке камер статусы камер зелёные, трансляция идёт и архив записывается.

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