Документация на Flussonic Watcher

База данных Watcher

В этом разделе приведены инструкции по решению отдельных задач поддержки базы данных, используемой в Watcher.
  • Миграция на PostgreSQL (необходима начиная с версии 19.03)
  • Обновление структуры базы данных вручную (может потребоваться в некоторых случаях, Watcher сообщит об этом)

Миграция с SQLite на PostgreSQL Anchor Anchor x2

  1. Сделайте бэкапы этих файлов:

    /etc/flussonic/flussonic.conf

    /opt/flussonic/priv/vsaas.db

  2. Установите последнюю актуальную версию Flussonic Watcher (для этого достаточно обновить Flussonic Media Server). Выполните в команной строке две команды:

    apt update 
    

    и затем

    apt install flussonic
    

    Подробнее о процессе обновления

  3. Сделайте бэкап всех данных с помощью нашей встроенной утилиты для миграции:

    cd /opt/flussonic/apps/vsaas
    
    /opt/flussonic/bin/python -m manage backup create
    

    В результате выполнения получится примерно такой файл:

    /opt/flussonic/apps/vsaas/backups/20190215201434-b62d21842ab7-WatcherBackup.gz

  4. Установите PostgreSQL

  5. Замените строку database в файле конфигурации flussonic.conf:

    database postgresql://vsaas:vsaas@localhost/vsaas_production;

    Для редактирования файла можно воспользоваться редактором nano.

  6. Перезагрузите сервис Flussonic:

    /etc/init.d/flussonic restart
    
  7. Восстановите данные из файла, созданного утилитой для миграции:

    cd /opt/flussonic/apps/vsaas 
    
    /opt/flussonic/bin/python -m manage backup restore -d 20190215201434
    

Установка и настройка PostgreSQL Anchor Anchor x2

  • Для установки PostgreSQL необходимо в консоли под пользователем root выполнить команду:
apt install postgresql
  • Создайте пользователя и базу данных. Для этого выполните по порядку эти команды в консоли. Сначала создадим пользователя с именем vsaas:
sudo -u postgres createuser -P vsaas

Система предложит ввести пароль, который будет у пользователя vsaas:

Enter password for new role: (придумайте и введите пароль супер-админа)

После того, как вы введете пароль, нужно сделать это ещё раз:

Enter it again: (повторите пароль супер-админа)

  • Создайте базу данных vsaas_production с владельцем-созданным пользователем vsaas:
sudo -u postgres createdb -O vsaas -e -E UTF8 -T template0 vsaas_production

Ответ системы в случае успешного создания базы данных:

CREATE DATABASE vsaas_production OWNER vsaas ENCODING 'UTF8' TEMPLATE template0

  • Затем в административном интерфейсе Flussonic Media Server (см. Watcher UI и Flussonic UI ниже) перейдите в раздел IP cameras и в поле Database path укажите путь к базе данных.

Важно. Замените VSAAS_PASSWORD на пароль, который вы указали при создании пользователя vsaas.

Установка Watcher Single

Обновление структуры БД Anchor Anchor x2

Иногда новая версия Flussonic Watcher требует для работы изменений в структуре своей базы данных. В этом случае web-интерфейс покажет сообщение:

Обновление структуры БД

Изменения в структуру базы вносит скрипт:

/opt/flussonic/contrib/watcher_db_migrate.sh

Его необходимо запустить на сервере вручную.

Пример успешного выполнения скрипта:

# /opt/flussonic/contrib/watcher_db_migrate.sh
INFO  [alembic.runtime.migration] Context impl PostgresqlImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
INFO  [alembic.runtime.migration] Running upgrade dfd74e510414 -> 1822b8f25e20, agent:model, agent:camera
INFO  [alembic.runtime.migration] Running upgrade 1822b8f25e20 -> 1a71a9477bbb, streamer: cluster_key
INFO  [alembic.runtime.migration] Running upgrade 1a71a9477bbb -> 7a3ab2550cab, streamer_fkey cascade
Restarting Watcher

После этого интерфейс Flussonic Watcher будет снова доступен для работы.

Если в ходе выполнения watcher_db_migrate.sh появится ошибка:

alembic.util.exc.CommandError: Can't locate revision identified by 'ebdce5515b6d

Необходимо установить предыдущую версию(до даунгрейда/обновления) и выполнить :

cd /opt/flussonic/apps/vsaas
/opt/flussonic/bin/python -m manage db downgrade

Важно! Перед запуском скрипта watcher_db_migrate.sh необходимо сделать резервную копию базы.

Тип базы и место её хранения описано в конфигурации Flussonic Media Server: /etc/flussonic/flussonic.conf.

  • Postgresql:
vsaas {
  database postgresql://vsaas:vsaas_password@localhost/vsaas_production;
}

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

pg_dump -h localhost -U vsaas -d vsaas_production > /path/to/backup/vsaas.sql

Ответ: Password: Введите пароль vsaas_password, который вы указывали при создании пользователя vsaas