Перейти к содержанию

Запуск сторонних сервисов#

В данном разделе описывается запуск баз данных в Docker-контейнерах. Они должны быть запущены перед подготовкой окружения и сервисами LP.

Сервисы мониторинга#

Сервисы мониторинга LUNA PLATFORM включают InfluxDB (используется по умолчанию), ClickHouse и Prometheus. Далее приведены инструкции по запуску баз данных InfluxDB и ClickHouse.

Информацию о выборе БД для мониторинга, а также о работе с Prometheus см. раздел "Мониторинг" руководства администратора.

При необходимости можно настроить визуализацию данных мониторинга с помощью сервиса LUNA Dashboards, включающего в себя настроенную систему визуализации данных Grafana. Кроме того, можно запустить инструмент для расширенной работы с логами Grafana Loki. См. инструкцию по запуску LUNA Dashboards и Grafana Loki в разделе "Визуализация мониторинга и логов с помощью Grafana".

InfluxDB#

Для мониторинга сервисов LUNA PLATFORM требуется наличие запущенной базы данных Influx 2.0.8-alpine. Ниже приведены команды по запуску контейнера InfluxDB.

Дополнительную информацию см. в разделе "Мониторинг" в руководстве администратора.

Примечание. При необходимости можно использовать внешнюю БД InfluxDB 2.0.8-alpine. В таком случае можно пропустить команду ниже, однако вам придется задать пользовательские настройки для каждого сервиса LUNA PLATFORM.

Используйте команду docker run со следующими параметрами:

docker run \
-e DOCKER_INFLUXDB_INIT_MODE=setup \
-e DOCKER_INFLUXDB_INIT_BUCKET=default \
-e DOCKER_INFLUXDB_INIT_USERNAME=luna \
-e DOCKER_INFLUXDB_INIT_PASSWORD=password \
-e DOCKER_INFLUXDB_INIT_ORG=luna \
-e DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=kofqt4Pfqjn6o0RBtMDQqVoJLgHoxxDUmmhiAZ7JS6VmEnrqZXQhxDhad8AX9tmiJH6CjM7Y1U8p5eSEocGzIA== \
-v /etc/localtime:/etc/localtime:ro \
-v /var/lib/luna/influx:/var/lib/influxdb2 \
--restart=always \
--detach=true \
--network=host \
--name influxdb \
dockerhub.visionlabs.ru/luna/influxdb:2.0.8-alpine

В команде выше создается стандартный бакет. Бакет для хранения данных мониторинга LUNA PLATFORM будет создан на этапе подготовки окружения с помощью утилиты Storages.

ClickHouse#

Ниже приведена команда по запуску контейнера ClickHouse.

Дополнительную информацию см. в разделе "Мониторинг" в руководстве администратора.

Примечание. При необходимости можно использовать внешнюю БД ClickHouse. В таком случае можно пропустить команду ниже, однако вам придется задать пользовательские настройки для каждого сервиса LUNA PLATFORM.

Используйте команду docker run со следующими параметрами:

docker run \
-e CLICKHOUSE_USER=luna \
-e CLICKHOUSE_PASSWORD=password \
-v /var/lib/luna/clickhouse/data:/var/lib/clickhouse \
-v /var/lib/luna/clickhouse/logs:/var/log/clickhouse-server \
-v /var/lib/luna/current/extras/conf/clickhouse_config.xml:/etc/clickhouse-server/config.xml \
--name=clickhouse \
--network=host \
--restart=always \
--detach=true \
--health-cmd="wget --no-verbose --tries=1 --spider http://localhost:8123/ping || exit 1" \
dockerhub.visionlabs.ru/luna/clickhouse-server:v.25.4.0 

Команда выше используется для запуска ClickHouse. База данных для хранения данных мониторинга LUNA PLATFORM будет создана на этапе подготовки окружения с помощью утилиты Storages.

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

1․ Откройте конфигурационный файл Storages:

 vi /var/lib/luna/current/extras/conf/storages_config.conf

и задайте в секции LUNA_MONITORING необходимые настройки для ClickHouse. Пример:

STORAGE_TYPE = clickhouse
SEND_DATA_FOR_MONITORING = 1
HOST = 127.0.0.1
PORT = 9000
HTTP_PORT = 8123
DB_USER = luna
DB_PASSWORD = password
DB_NAME = luna_monitoring
USE_SSL = 0
FLUSHING_PERIOD = 1 

2․ Отредактируйте секцию "LUNA_MONITORING" в настройках LUNA PLATFORM, чтобы сообщить системе какую базу данных для мониторинга необходимо использовать во всех сервисах (кроме сервиса Configurator).

Загрузить настройку можно с помощью дамп-файла перед стартом LUNA PLATFORM:

vi /var/lib/luna/current/extras/conf/platform_settings.json

Поскольку настройки сервиса Configurator хранятся в его конфигурационном файле config.conf, для настройки мониторинга этого сервиса необходимо отредактировать данный файл перед запуском контейнера. См. раздел "Запуск контейнера Configurator".

PostgreSQL#

Примечание. При необходимости можно использовать внешнюю СУБД PostgreSQL. В таком случае можно пропустить команду ниже и выполнить действия из раздела "Конфигурация внешней PostgreSQL".

Используйте следующую команду для запуска PostgreSQL.

docker run \
--env=POSTGRES_USER=luna \
--env=POSTGRES_PASSWORD=luna \
--shm-size=1g \
-v /var/lib/luna/postgresql/data/:/var/lib/postgresql/data/ \
-v /etc/localtime:/etc/localtime:ro \
--name=postgres \
--restart=always \
--detach=true \
--network=host \
--health-cmd="pg_isready -U luna -d postgres" \
dockerhub.visionlabs.ru/luna/postgis-vlmatch:16.1

-v /var/lib/luna/current/example-docker/postgresql/data/:/var/lib/postgresql/data/ — эта команда позволяет монтировать директорию "data" в контейнер PostgreSQL. Директория на сервере и директория в контейнере будут синхронизированы. Данные PostgreSQL из контейнера будут сохраняться в эту директорию.

--network=host — при необходимости изменить порт для PostgreSQL, следует изменить эту строку на -p 5440:5432. Здесь первый порт 5440 — локальный, а 5432 — порт в контейнере.

Все базы данных для сервисов LP следует создавать вручную, если используется уже установленный PostgreSQL.

Redis#

Примечание. Если у вас уже установлен Redis, пропустите этот шаг.

Примечание. При запуске Redis по умолчанию задан пароль lunapass. Крайне рекомендуется сменить пароль для повышения безопасности. Обратите внимание, что пароль должен быть указан в соответствующей настройке сервиса, например, в параметре "password" группы "LUNA_ATTRIBUTES_DB" сервиса Events. По умолчанию в дамп-файле уже прописан пароль lunapass.

Используйте следующую команду для запуска Redis.

docker run \
-v /etc/localtime:/etc/localtime:ro \
--name=redis \
--restart=always \
--detach=true \
--network=host \
dockerhub.visionlabs.ru/luna/redis:7.2 \
redis-server --requirepass lunapass