Инструкция по установке

  1. SWAP должен быть равен половине размера RAM
swapoff /swapfile
rm /swapfile
sudo dd if=/dev/zero of=/swapfile count=2048 bs=1MiB
sudo chmod 600 /swapfile ; sudo mkswap /swapfile ; sudo swapon /swapfile
free -m
swapon -s
dmesg -H | tail
tail /var/log/messages
supervisorctl status all
добавть в конце /etc/fstab строку
/swapfile swap swap sw 0 0

2. Увеличить socket buffer больше 50 МБ.

Буфер приема:
sysctl -w net.core.rmem_max=56214400
sysctl -w net.core.rmem_default=56214400
На постоянной основе:
Внести изменения в файле /etc/sysctl.conf:
net.core.rmem_max=56214400
net.core.rmem_default=56214400
И перезагрузить ОС

При необходимости можно увеличить ограничение на число подключений:
sysctl -w net.core.somaxconn=65535

А также буфер отправки:
sysctl -w net.core.wmem_max=33554432
sysctl -w net.core.wmem_default=31457280

И также прописать в /etc/sysctl.conf:
net.core.somaxconn=65535
net.core.wmem_max=33554432
net.core.wmem_default=31457280

3. Для корректной работы кластеров GIMS необходимо задать параметры сетевых тайм-аутов.

Выполнить команды:
sysctl -w net.ipv4.tcp_retries2=5
sysctl -w net.ipv4.tcp_keepalive_time=30
sysctl -w net.ipv4.tcp_keepalive_intvl=10
sysctl -w net.ipv4.tcp_keepalive_probes=3

Задать значения параметров в файле /etc/sysctl.conf
net.ipv4.tcp_retries2=5
net.ipv4.tcp_keepalive_time=30
net.ipv4.tcp_keepalive_intvl=10
net.ipv4.tcp_keepalive_probes=3

Загрузка образов контейнеров GIMS

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

Получить перечень доступных версий GIMS

Выполнить команду

curl https://registry.gelarm.ru/v2/docker/gims-monitoring/tags/list -u 'username'

Также перечень доступных версий можно получить авторизовавшись в https://nexus.gelarm.ru 

Загрузить образ GIMS из репозитория Gelarm на локальный сервер

docker login registry.gelarm.ru
Username: 'username'
Password: 'password'

docker pull registry.gelarm.ru/gelarm/gims-monitoring:2.3.1dev-bookworm

Загрузка образа GIMS на удалённый сервер 

Выполнить следующие команды

docker login registry.gelarm.ru
Username: 'username'
Password: 'password'

docker image save registry.gelarm.ru/docker/'gims-monitoring:2.1.1-bullseye' | ssh 'root@10.0.0.2' docker image load

Также возможно скачать образ авторизовавшись в https://nexus.gelarm.ru и загрузить образ на удалённый сервер любыми средствами.

После загрузки образа на удалённый сервер необходимо выполнить команду для загрузки его в локальный репозиторий docker

docker image load -i 'путь к сохранённому образу'

Создать директорию для установки компонента GIMS

mkdir -p /home/gims/gims-docker

Выгрузить файл конфигурации контейнеров из образа

docker run --rm --entrypoint=cat registry.gelarm.ru/gelarm/gims-automation:3.0.5dev-trixie /home/gims/gims-docker/docker-compose.yaml > docker-compose.yaml

Шаги подготовки к установке и загрузку образов необходимо выполнить на каждом сервере где будут установлены компоненты GIMS.

Установка компонента GIMS Portal.

Создание файла конфигурации GIMS Portal

cd /home/gims/gims-docker
nano portal.sh

Содержимое файла:

export ACCEPT_EULA=yes
export CLUSTER_TYPE=mngm
export CLUSTER_ID=1
export SERVER_ID=1
export GIMS_IMAGE=registry.gelarm.ru/docker/gims-monitoring:2.0.13dev-bullseye
export POSTGRES_IMAGE=registry.gelarm.ru/postgres:16
export COMPOSE_PROJECT_NAME=gims-portal
export COMPOSE_PROFILES=portal
export SERVER_IP=10.178.0.131
export SECRET_KEY=8d204b6568e9d990afdf5681676c2a6f
export CLR_LOG_LEVEL=error
exec docker compose "$@"

Переменная

Пример значения

Описание

ACCEPT_EULA

yes

(required) Согласие с условиями лицензионного соглашения GIMS.

GIMS_IMAGE

registry.gelarm.ru/docker/gims-monitoring:2.0.13dev-bullseye

(required) Образ GIMS используемый для установки. 

COMPOSE_PROJECT_NAME

gims-portal-1

(required) Имя и порядковый номер устанавливаемого компонента.

COMPOSE_PROFILES

portal

(required) Тип устанавливаемого компонента.

SERVER_ID

1

(required) идентификатор устанавливаемого сервера портала

CLUSTER_ID

1

(required) идентификатор кластера портала

SERVER_IP

10.178.0.131

(optional) IP адрес сервера на который выполняется установка. Требуется в случае одновременной установки нескольких компонент GIMS на один сервер.

SECRET_KEY

8d204b6568e9d990afdf5681676c2a6f

(required) Секретный ключ для взаимодействия компонентов GIMS. 

CLUSTER_TYPE

mngm

Тип кластера

Генерация SECRET_KEY

echo $RANDOM | md5sum | head -c 32; echo

Установка компонентов GIMS Portal

cd /home/gims/gims-docker
bash portal.sh --profile postgres --profile rabbitmq up -d

#В результате выполнения команды будет ошибка, что нет томов rabbitmq и postgres, их нужно создать командой docker volume create 'имя тома' и повторно выполнить команду.

bash portal.sh --profile postgres --profile rabbitmq up -d

#Выполнить установку основных компонентов GIMS

bash portal.sh up -d --wait

Проверить статус компонентов GIMS Portal

cd /home/gims/gims-docker
bash portal.sh ps

Запуск компонентов GIMS Portal

cd /home/gims/gims-docker
bash portal.sh start 'имя сервиса'

Остановка компонентов GIMS Portal

cd /home/gims/gims-docker
bash portal.sh stop 'имя сервиса'

Доступ к web интерфейсу GIMS Portal

https://'адрес сервера'

Пользователь: admin

Пароль: 123QWErty

Удаление компонентов GIMS Portal

cd /home/gims/gims-docker
bash portal.sh --profile cluster down -v -t 0

Настройка инфраструктуры компонентов GIMS

Создать кластер 

Данная команда выполняется на сервере, на котором установлен компонент GIMS Portal.

bash portal.sh exec -it backend gimsctl cluster_add --type '2' --connection 2 --name "Automation"

Значение параметра  type

Описание

1

Кластер GIMS Portal. В инфраструктуре возможно наличие только одного кластера.

2

Кластер GIMS Automation. В инфраструктуре возможно наличие неограниченного количества кластеров.

3

Кластер GIMS Inventory. В инфраструктуре возможно наличие только одного кластера.

4

Кластер GIMS Fault. В инфраструктуре возможно наличие неограниченного количества кластеров.

5

Кластер GIMS Performance. В инфраструктуре возможно наличие только одного кластера.

Также создать кластер возможно на странице “Конфигуратор инфраструктуры” GIMS Portal.

Добавить сервер в кластер

Данная команда выполняется на сервере, на котором установлен компонент GIMS Portal.

bash portal.sh exec -it backend gimsctl server_add --cluster '2' --address '10.178.0.132' --name "as-gims1-02.local"

Название параметра

Описание

cluster

Задаёт идентификатор кластера в который необходимо добавить сервер.

address

Задаёт ip адрес или DNS имя сервера.

name

Задаёт имя сервера для отображения в списке серверов конфигуратора.

Также добавить сервер в кластер возможно на странице “Конфигуратор инфраструктуры” GIMS Portal.

Вывести список серверов 

Данная команда выполняется на сервере, на котором установлен компонент GIMS Portal.

$ bash portal.sh exec backend gimsctl server_list

Также вывести список серверов возможно на странице “Конфигуратор инфраструктуры” GIMS Portal.

Справка по команде управления инфраструктурой

bash portal.sh exec -it backend gimsctl --help

Установка компонента GIMS Automation.

Прописать адреса серверов Automation в файле /etc/hosts

Необходимо прописать адресацию всех серверов кластера automation в файле /etc/hosts на каждом сервере если не настроен DNS. Пример файла:

127.0.0.1      localhost
10.178.0.132 as-gims1-02
10.178.0.133 as-gims1-03
10.178.0.134 as-gims1-04

Создание файла конфигурации GIMS Automation

cd /home/gims/gims-docker
nano automation.sh

Содержимое файла:

export ACCEPT_EULA=yes
export GIMS_IMAGE=registry.gelarm.ru/docker/gims-monitoring:2.0.13dev-bullseye
export POSTGRES_IMAGE=registry.gelarm.ru/postgres:16
export COMPOSE_PROJECT_NAME=gims-automation-node-1
export COMPOSE_PROFILES=automation
export CLUSTER_TYPE=autm
export CLUSTER_ID=2
export SERVER_ID=2
export SERVER_IP=10.178.0.132
export SECRET_KEY=8d204b6568e9d990afdf5681676c2a6f
export CLR_LOG_LEVEL=error
export CLR_WORKER_MAX_CNT_ACTIVATOR=20
export CLR_WORKER_MAX_CNT_SCRIPT=20
export CLR_ACTIVATOR_MIN_TCP_PORT=4000
export CLR_ACTIVATOR_MAX_TCP_PORT=4100
export RABBITMQ_HOSTNAME=as-gims1-02
export RABBITMQ_CLUSTER_HOSTNAME=rabbit@as-gims1-02
export CLUSTER_HOST1=as-gims1-02
export CLUSTER_HOST2=as-gims1-03
export CLUSTER_HOST3=as-gims1-04
export CLUSTER_HOST4=as-gims2-01
export CLUSTER_HOST5=as-gims2-02
export CLUSTER_HOST1_IP=10.178.0.132
export CLUSTER_HOST2_IP=10.178.0.133
export CLUSTER_HOST3_IP=10.178.0.134
export CLUSTER_HOST4_IP=10.178.0.141
export CLUSTER_HOST5_IP=10.178.0.142
exec docker compose "$@"

Файл конфигурации также можно настроить и скачать в интерфейсе конфигуратора инфраструктуры GIMS Portal

undefined

Значение параметров файла конфигурации

Переменная

Пример значения

Описание

ACCEPT_EULA

yes

(required) Согласие с условиями лицензионного соглашения GIMS

GIMS_IMAGE

registry.gelarm.ru/docker/gims-monitoring:2.0.13dev-bullseye

(optional) Образ GIMS используемый для установки. 

COMPOSE_PROJECT_NAME

gims-automation-node-1

(required) Имя и порядковый номер устанавливаемого компонента

COMPOSE_PROFILES

automation

(required) Тип устанавливаемого компонента

CLUSTER_TYPE

autm

(required) Тип кластера. Для automation - autm.

SERVER_IP

10.178.0.132

(optional) IP адрес сервера на который выполняется установка. Требуется в случае одновременной установки нескольких компонент GIMS на один сервер

SECRET_KEY

8d204b6568e9d990afdf5681676c2a6f

(required) Секретный ключ для взаимодействия компонентов GIMS. Ключ необходимо использовать, который был создан в разделе “Установка GIMS Portal”

CLUSTER_ID

2

(required) Идентификатор кластера. Настраивается в  разделе “Настройка инфраструктуры компонентов GIMS”

SERVER_ID

2

(required) Идентификатор сервера. Настраивается в  разделе “Настройка инфраструктуры компонентов GIMS”

CLR_WORKER_MAX_CNT_ACTIVATOR

20

Число рабочих процессов для запуска активаторов

CLR_WORKER_MAX_CNT_SCRIPT

20

Число рабочих процессов для запуска сценариев автоматизации

CLR_ACTIVATOR_MIN_TCP_PORT

4000

Нижняя граница диапазона пробрасываемых портов в контейнер активаторов

CLR_ACTIVATOR_MAX_TCP_PORT

4100

Верхняя граница диапазона пробрасываемых портов в контейнер активаторов

RABBITMQ_HOSTNAME

as-gims1-02

(required) Короткое имя текущего узла в кластере Automation. Должно разрешаться через /etc/hostsили ДНС.

RABBITMQ_CLUSTER_HOSTNAME

rabbit@as-gims1-01

(required для всех узлов кластера, кроме первого) Короткое имя первого узла в кластере Automation. Должно разрешаться через /etc/hosts или ДНС.

Формат: rabbit@

 

 

CLUSTER_HOST1, CLUSTER_HOST2, CLUSTER_HOST3 …

as-gims1-02

Имена всех узлов кластера Automation, которые будут введены в кластер. параметр указывается, если имена не разрешаются через ДНС.

CLUSTER_HOST1_IP,  CLUSTER_HOST2_IP, CLUSTER_HOST3_IP …

10.178.0.132

IP всех узлов кластера Automation, которые будут введены в кластер. параметр указывается, если имена не разрешаются через ДНС.

Установка компонентов GIMS Automation

cd /home/gims/gims-docker

bash --profile postgres --profile rabbitmq up -d
или
docker compose -f automation.json --profile postgres --profile rabbitmq up -d

#В результате выполнения команды будет ошибка, что нет томов rabbitmq и postgres, их нужно создать командой docker volume create 'имя тома' и повторно выполнить команду

bash --profile postgres --profile rabbitmq up -d
или
docker compose -f automation.json --profile postgres --profile rabbitmq up -d

#выполнить команду установки основных компонентов GIMS

bash automation.sh up -d --wait
или
docker compose -f automation.json up -d

Проверить статус компонентов GIMS Automation

bash automation.sh ps
или
docker compose -f automation.json ps

Также статус компонента можно посмотреть на странице GIMS Portal «Конфигуратор инфраструктуры».

Запуск компонентов GIMS Automation

bash automation.sh start 'имя сервиса'
или
docker compose -f automation.json start 'имя сервиса'

Остановка компонентов GIMS Automation

cd /home/gims/gims-docker
bash automation.sh stop 'имя сервиса'

Удаление компонентов GIMS Automation

cd /home/gims/gims-docker
bash automation.sh --profile cluster down -v -t 0


Установка компонента GIMS Inventory.

Создание файла конфигурации GIMS Inventory

nano inventory.sh

Содержимое файла:

export ACCEPT_EULA=yes
export GIMS_IMAGE=registry.gelarm.ru/docker/gims-monitoring:2.0.13dev-bullseye
export POSTGRES_IMAGE=registry.gelarm.ru/postgres:16
export COMPOSE_PROJECT_NAME=gims-inventory-node-1
export COMPOSE_PROFILES=inventory
export CLUSTER_TYPE=invdb
export CLUSTER_ID=3
export SERVER_ID=9
export SERVER_IP=10.178.0.143
export SECRET_KEY=8d204b6568e9d990afdf5681676c2a6f
exec docker compose "$@"

Переменная

Пример значения

Описание

ACCEPT_EULA

yes

(required) Согласие с условиями лицензионного соглашения GIMS

GIMS_IMAGE

registry.gelarm.ru/docker/gims-monitoring:2.0.13dev-bullseye

(optional) Образ GIMS используемый для установки. 

COMPOSE_PROJECT_NAME

gims-inventory-node-1

(required) Имя и порядковый номер устанавливаемого компонента

COMPOSE_PROFILES

inventory

(required) Тип устанавливаемого компонента

CLUSTER_TYPE

invdb

(required) Тип кластера. Для inventory - invdb.

SERVER_IP

10.178.0.143

(optional) IP адрес сервера на который выполняется установка. Требуется в случае одновременной установки нескольких компонент GIMS на один сервер

SECRET_KEY

8d204b6568e9d990afdf5681676c2a6f

(required) Секретный ключ для взаимодействия компонентов GIMS. Ключ необходимо использовать, который был создан в разделе “Установка GIMS Portal”

CLUSTER_ID

3

(required) Идентификатор кластера. Настраивается в  разделе “Настройка инфраструктуры компонентов GIMS”

SERVER_ID

9

(required) Идентификатор сервера. Настраивается в  разделе “Настройка инфраструктуры компонентов GIMS”

Файл конфигурации также можно настроить и скачать в интерфейсе конфигуратора инфраструктуры GIMS Portal

undefined

Установка компонентов GIMS Inventory

cd /home/gims/gims-docker
bash inventory.sh up -d --wait

Проверить статус компонентов GIMS Inventory

cd /home/gims/gims-docker
bash inventory.sh ps

Также статус компонента можно посмотреть на странице GIMS Portal «Конфигуратор инфраструктуры».

Запуск компонентов GIMS Inventory

cd /home/gims/gims-docker
bash inventory.sh start 'имя сервиса'

Остановка компонентов GIMS Inventory

cd /home/gims/gims-docker
bash inventory.sh stop 'имя сервиса'

Удаление компонентов GIMS Inventory

cd /home/gims/gims-docker
bash inventory.sh --profile cluster down -v -t 0

Установка компонента GIMS Monitoring Fault.

Создание файла конфигурации GIMS Monitoring Fault

nano faultdb.sh

Содержимое файла:

export ACCEPT_EULA=yes
export GIMS_IMAGE=registry.gelarm.ru/docker/gims-monitoring:2.0.13dev-bullseye
export POSTGRES_IMAGE=registry.gelarm.ru/postgres:15-cron
export COMPOSE_PROJECT_NAME=gims-faultdb-node-1
export COMPOSE_PROFILES=faultdb
export CLUSTER_TYPE=fltdb
export CLUSTER_ID=3
export SERVER_ID=9
export SERVER_IP=10.178.0.144
export SECRET_KEY=8d204b6568e9d990afdf5681676c2a6f
exec docker compose "$@"

Переменная

Пример значения

Описание

ACCEPT_EULA

yes

(required) Согласие с условиями лицензионного соглашения GIMS

GIMS_IMAGE

registry.gelarm.ru/docker/gims-monitoring:2.0.13dev-bullseye

(optional) Образ GIMS используемый для установки. 

COMPOSE_PROJECT_NAME

gims-faultdb-node-1

(required) Имя и порядковый номер устанавливаемого компонента

COMPOSE_PROFILES

faultdb

(required) Тип устанавливаемого компонента

CLUSTER_TYPE

fltdb

(required) Тип кластера. Для faultdb - fltdb.

SERVER_IP

10.178.0.144

(optional) IP адрес сервера на который выполняется установка. Требуется в случае одновременной установки нескольких компонент GIMS на один сервер

SECRET_KEY

8d204b6568e9d990afdf5681676c2a6f

(required) Секретный ключ для взаимодействия компонентов GIMS. Ключ необходимо использовать, который был создан в разделе “Установка GIMS Portal”

CLUSTER_ID

3

(required) Идентификатор кластера. Настраивается в  разделе “Настройка инфраструктуры компонентов GIMS”

SERVER_ID

9

(required) Идентификатор сервера. Настраивается в  разделе “Настройка инфраструктуры компонентов GIMS”

Установка компонентов GIMS Monitoring Fault

cd /home/gims/gims-docker
bash --profile postgres --profile rabbitmq up -d

#В результате выполнения команды будет ошибка, что нет томов rabbitmq и postgres, их нужно создать командой docker volume create 'имя тома' и повторно выполнить команду.

bash faultdb.sh up -d --wait

Проверить статус компонентов GIMS Monitoring Fault

cd /home/gims/gims-docker
bash faultdb.sh ps

Также статус компонента можно посмотреть на странице GIMS Portal «Конфигуратор инфраструктуры».

Запуск компонентов GIMS Monitoring Fault

cd /home/gims/gims-docker
bash faultdb.sh start 'имя сервиса'

Остановка компонентов GIMS Monitoring Fault

cd /home/gims/gims-docker
bash faultdb.sh stop 'имя сервиса'

Удаление компонентов GIMS Monitoring Fault

cd /home/gims/gims-docker
bash faultdb.sh --profile cluster down -v -t 0

Установка компонента GIMS Monitoring Performance.

Создание файла конфигурации GIMS Monitoring Performance

nano perfmon.sh

Содержимое файла:

export ACCEPT_EULA=yes
export GIMS_IMAGE=registry.gelarm.ru/docker/gims-monitoring:2.0.13dev-bullseye
export POSTGRES_IMAGE=registry.gelarm.ru/postgres:15-timescaledb-2
export COMPOSE_PROJECT_NAME=gims-perfmon-node-1
export COMPOSE_PROFILES=perfmon
export CLUSTER_TYPE=prfmn
export CLUSTER_ID=3
export SERVER_ID=9
export SERVER_IP=10.178.0.145
export INVENTORY_SERVER=192.168.108.59
export SECRET_KEY=8d204b6568e9d990afdf5681676c2a6f
exec docker compose "$@"

Переменная

Пример значения

Описание

ACCEPT_EULA

yes

(required) Согласие с условиями лицензионного соглашения GIMS

GIMS_IMAGE

registry.gelarm.ru/docker/gims-monitoring:2.0.13dev-bullseye

(optional) Образ GIMS используемый для установки. 

POSTGRES_IMAGE

registry.gelarm.ru/timescale/timescaledb:2.11.2-pg15

(required) Образ БД с возможностью хранения временных рядов

COMPOSE_PROJECT_NAME

gims-perfmon-node-1

(required) Имя и порядковый номер устанавливаемого компонента

COMPOSE_PROFILES

faultdb

(required) Тип устанавливаемого компонента

CLUSTER_TYPE

fltdb

(required) Тип кластера. Для perfmon - prfmn.

SERVER_IP

10.178.0.144

(optional) IP адрес сервера на который выполняется установка. Требуется в случае одновременной установки нескольких компонент GIMS на один сервер

INVENTORY_SERVER

192.168.108.59

(required) IP адрес сервера GIMS Inventory

SECRET_KEY

8d204b6568e9d990afdf5681676c2a6f

(required) Секретный ключ для взаимодействия компонентов GIMS. Ключ необходимо использовать, который был создан в разделе “Установка GIMS Portal”

CLUSTER_ID

3

(required) Идентификатор кластера. Настраивается в  разделе “Настройка инфраструктуры компонентов GIMS”

SERVER_ID

9

(required) Идентификатор сервера. Настраивается в  разделе “Настройка инфраструктуры компонентов GIMS”

Установка компонентов GIMS Monitoring Performance

cd /home/gims/gims-docker
bash --profile postgres --profile rabbitmq up -d

#В результате выполнения команды будет ошибка, что нет томов rabbitmq и postgres, их нужно создать командой docker volume create 'имя тома' и повторно выполнить команду.

bash perfmon.sh up -d --wait

Проверить статус компонентов GIMS Monitoring Performance

cd /home/gims/gims-docker
bash perfmon.sh ps

Также статус компонента можно посмотреть на странице GIMS Portal «Конфигуратор инфраструктуры».

Запуск компонентов GIMS Monitoring Performance

cd /home/gims/gims-docker
bash perfmon.sh start 'имя сервиса'

Остановка компонентов GIMS Monitoring Performance

cd /home/gims/gims-docker
bash perfmon.sh stop 'имя сервиса'

Удаление компонентов GIMS Monitoring Performance

cd /home/gims/gims-docker
bash perfmon.sh --profile cluster down -v -t 0