Загрузка данных между серверами

При создании системы контроля с несколькими удалёнными серверами - например в региональных филиалах - нужно настроить обмен данными между ними и центральным сервером.

Примечание

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

Настройка центрального (master) сервера

Чтобы настроить master-сервер для приёма данных:

  1. Откройте веб-консоль управления master-сервером.

  2. В разделе Панель управления - Параметры сервера включите опцию Доступ к API разрешен.

В строке Ключ API указан ключ для синхронизации с slave-сервером. Скопируйте его.

Настройка удалённого (slave) сервера

  1. Откройте веб-консоль управления slave-сервером.

  2. В разделе Панель управления - Параметры сервера в строке Мастер сервер укажите IP-адрес master-сервера.

  3. В строку Ключ API мастер сервера вставьте ключ API, скопированный с master-сервера.

  4. Включите опцию Режим slave-сервера.

  5. Перезапустите сервер:

sudo staffcop restart

Настройка slave-сервера завершена. Чтобы передать данные на сервер, используйте команду:

staffcop upload --all

Особенности передачи данных:

  • передаются только события;

  • файлы не передаются;

  • записывается ID последнего отправленного события - следующая передача начинается с события, чей ID следует за записанным.

«Ключ API» и «Ключ API мастер сервера»

В настройках сервера есть строки «Ключ API» и «Ключ API мастер сервера», на которые важно обратить внимание.

Для master-сервера:

  • «Ключ API» содержит ключ для синхронизации со slave-сервером;

  • «Ключ API мастер сервера» остаётся незаполненным.

Для slave-сервера:

  • «Ключ API мастер сервера» содержит ключ для синхронизации с master-сервером (значение из поля «Ключ API» master-сервера);

  • «Ключ API» остаётся незаполненным (указанные здесь значения не влияют на работу slave-сервера)

Синхронизация политик, пользователей и конфигураций

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

Чтобы синхронизировать все настройки slave- и master-сервера:

  1. Остановите Staffcop на slave-сервере:

sudo service staffcop stop
  1. Запустите синхронизацию с master-сервером:

sudo staffcop sync
  1. Запустите Staffcop:

sudo service staffcop start

Чтобы настроить список передаваемых настроек, отредактируйте конфигурационный файл /etc/staffcop/config. В строке SYNC_MODELS = укажите только те параметры, которые нужно синхронизировать.

По умолчанию строка SYNC_MODELS = выглядит так:

SYNC_MODELS = 'auth.user', 'agent.config', 'agent.acl', 'agent.accountconfig', 'agent.accountacl', 'analytics.filter'.

Чтобы передать, например, только настройки администраторов и фильтры, приведите строку к следующему виду:

SYNC_MODELS = ['auth.user', 'analytics.filter']