Центральный Пульт в Docker

Состав сборки

Сборка содержит четыре файла:

  • saymon-docker-compose-source.yml – YAML-файл с конфигурацией;

  • .env-source – файл с переменными среды для контейнеров кластера. Содержит актуальные номера портов для кластерных компонентов и прочую информацию, необходимую для конфигурации узлов;

  • start-saymon-cluster.sh – BASH-скрипт, который загружает docker-образы, конфигурирует узлы и запускает saymon-cluster;

  • README.md – readme-файл с инструкциями.

Состав кластера

Сборка предоставляется с docker-кластером, который содержит в себе платформу "Центральный Пульт" и делает возможным запуск Центрального Пульта на локальном хосте.

Кластер состоит из десяти контейнеров:

  • Saymon-server – ядро платформы "Центральный пульт";

  • Saymon-client – пользовательский web-интерфейс платформы;

  • Saymon-agent – мониторинговые агенты платформы;

  • Saymon-extensions – расширения, предоставляющие дополнительный функционал или кастомный пользовательский интерфейс;

  • Redis – in-memory база данных "ключ-значение";

  • MongoDB – документно-ориентированная база данных NoSQL;

  • OpenTSDB – распределённая масштабируемая база данных временных рядов;

  • Kafka – распределённый программный брокер сообщений;

  • Mosquitto – MQTT-брокер сообщений;

  • Zookeeper – служба для поддержки информации о конфигурации.

Требования для установки

  • Версия Docker 20.10.0 или выше.

  • Версия Docker-compose 1.27.0 или выше.

  • Текущий пользователь должен состоять в группах sudo и docker.

Запуск системы на локальном хосте

Для старта системы необходимо:

  1. Распаковать файлы в отдельную директорию.

  2. Проверить, что переменные в файле .env-source содержат необходимые номера портов.

  3. Запустить BASH-скрипт start-saymon-cluster.sh. Параметры скрипта:

    • -h - показать эту инструкцию;

    • -v - многословный режим: запустить saymon-cluster на переднем плане и выводить лог на экран (по умолчанию тихий режим в фоне);

    • -s - остановить saymon-cluster в фоновом режиме.

Скрипт:

  1. Проверяет аппаратное и программное обеспечение на соответствие требованиям.

  2. Копирует файлы

    • saymon-docker-compose-source.yml в saymon-docker-compose.yml,

    • .env-source в .env.

  3. Принимает имя текущего пользователя как суффикс для имён узлов и производит "на лету" необходимые замены в файлах saymon-docker-compose.yml и .env-файлах.

  4. Загружает все docker-образы из репозитария и запускает кластер docker-compose.

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

Default ports NN,NN,NN…​ are occupied

Для устранения ошибки необходимо:

  • найти и закомментировать указанные номера портов в конфигурационном файле .env_source;

  • раскомментировать подходящие альтернативные порты.

ERROR: Pool overlaps with other one on this address space

Для устранения ошибки необходимо:

  • найти и закомментировать в конфигурационном файле .env_source переменную среды SAYMON_NETWORK_RANGE;

  • раскомментировать подходящий альтернативный диапазон сети.