# Инструкция по установке ## Установка необходимых пакетов для ОС RockyLinux 9.1 Для установки системы мониторинга e-node требуется операционная система RockyLinux 9.1 с установленными набором программного обеспечения: - Архиватор Tar - Контейнеризатор приложений Docker - Служба настройки и запуска многоконтейнерных приложений Docker ### Установка Tar В случае отсутствия пакета tar на сервере можно воспользоваться rpm пакетом в составе комплекта системы мониторинга e-node находящимся в папке ./yum/tar/ yum install -y ~/enode/yum/tar/* Проверить версию пакета tar можно с помощью команды tar --version > [root@server]# tar --version > tar (GNU tar) 1.34 Copyright (C) 2021 > Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or > later . This is free software: you > are free to change and redistribute it. There is NO WARRANTY, to the > extent permitted by law. > Written by John Gilmore and Jay Fenlason. ### Установка Docker и docker compose В случае отсутствия пакета docker и утилиты docker compose на сервере можно воспользоваться rpm пакетами в составе комплекта системы мониторинга e-node находящимся в папке ./yum/docker-ce/ yum install -y ~/enode/yum/docker-ce/* После успешной установки необходимо запустить службу и поставить ее на автозапуск после перезагрузки системы systemctl start docker systemctl enable docker Проверить статус работы службы docker можно с помощью команды systemctl status docker Проверить версию службы docker можно с помощью команды docker --version > [root@server]# docker --version > Docker version 24.0.2, build cb74dfc Проверить версию утилиты docker compose можно с помощью команды docker compose version > [root@server]# docker compose version > Docker Compose version v2.18.1 ## Установка серверной части enode ```bash ./install.sh enode app start ``` ``` # НЕ АКТУАЛЬНО ## Инструкция по установке e-node ```bash docker network create enode_network ``` ```bash groupadd --gid 1001 docker groupmod -g 1001 docker useradd -m --uid 1001 --gid 1001 docker -s /bin/bash ``` ```bash docker images --all docker image prune --all ``` ### Установка основной базы данных (clickhouse) ```bash cp ../../2023.07.01_enode/build/images/clickhouse_clickhouse-server.image . docker load --input ./clickhouse_clickhouse-server.image docker load --input ./clickhouse-server-v23.3.7.5-lts.tar mkdir -p ./{data,logs,config} chown -Rf 1001:1001 config data logs docker run -d \ --name=enode_clickhouse \ --restart=unless-stopped \ --ulimit nofile=262144:262144 \ --network enode_network \ --publish 127.0.0.1:8123:8123 \ --publish 127.0.0.1:9000:9000 \ --publish 127.0.0.1:9009:9009 \ clickhouse/clickhouse-server:23.3.7.5 docker exec -it enode_clickhouse /bin/bash docker logs -f --tail 10000 enode_clickhouse curl 127.0.0.1:8123 docker stop enode_clickhouse && docker rm enode_clickhouse ``` ### Установка in-memory key–value базы данных (redis) ```bash docker pull cp ../../2023.07.01_enode/build/images/redis.image . docker load --input ./redis.image docker run -d \ --name=enode_redis \ --restart=unless-stopped \ --network enode_network \ --publish 127.0.0.1:6379:6379 \ --publish 127.0.0.1:8001:8001 \ --volume ./data:/data \ redis ``` ### Установка координации распределённых систем (zookeeper) ```bash docker pull zookeeper:3.8 docker save --output ./zookeeper:3.8.tar zookeeper:3.8 docker load --input ./zookeeper:3.8.tar cp ../../2023.07.01_enode/build/images/bitnami_zookeeper_3_8_0.image . docker load --input ./bitnami_zookeeper_3_8_0.image docker run -d \ --name=enode_zookeeper \ --restart=unless-stopped \ --network enode_network \ --user 1001:1001 \ --publish 127.0.0.1:2181:2181 \ --env ZOO_SERVER_ID=1 \ --env ALLOW_ANONYMOUS_LOGIN=yes \ --env USER_ID=1001 \ --env GROUP_ID=1001 \ --volume ./data:/data \ --volume ./datalog:/datalog \ --volume ./conf:/conf \ zookeeper:3.8 bitnami/zookeeper:3.8.0 docker logs -f --tail 100 enode_zookeeper docker stop enode_zookeeper && docker rm enode_zookeeper ``` ### Установка enode_core ```bash cp ../../2023.07.01_enode/build/images/registry_entcor_enode_enode_core_latest.image . docker load --input ./registry_entcor_enode_enode_core_latest.image docker images registry.entcor/enode/enode_core docker run -d \ --name=enode_core \ --restart=unless-stopped \ --network enode_network \ --publish 127.0.0.1:4009:4009 \ --publish 127.0.0.1:9229:9229 \ --env CH_URL=http://enode_clickhouse:8123 \ --env REDIS=redis://enode_redis:6379 \ --env ZOOKEEPER=enode_zookeeper:2181 \ --volume ./data:/host_scripts \ registry.entcor/enode/enode_core docker logs -f --tail 10000 enode_core docker stop enode_core && docker rm enode_core ``` ### Установка enode_ui ```bash cp ../../2023.07.01_enode/build/images/registry_entcor_enode_enode_ui_latest.image . docker load --input ./registry_entcor_enode_enode_ui_latest.image docker images registry.entcor/enode/enode_ui docker run -d \ --name=enode_ui \ --restart=unless-stopped \ --network enode_network \ registry.entcor/enode/enode_ui docker logs -f --tail 10000 enode_ui docker stop enode_ui && docker rm enode_ui ``` ### Установка enode_lb ```bash cp ../../2023.07.01_enode/build/images/ghcr_io_entcor_nginx_load_balancer_1_0_0.image . docker load --input ./ghcr_io_entcor_nginx_load_balancer_1_0_0.image docker images ghcr.io/entcor/nginx_load_balancer docker run -d \ --name=enode_lb \ --restart=unless-stopped \ --network enode_network \ --publish 127.0.0.1:80:80 \ --env FRONT_1_PORT_80_TCP_ADDR=enode_ui \ --env FRONT_REMOTE_PORT=80 \ --env FRONT_REMOTE_PATH=/ \ --env FRONT_PATH=/ \ --env FRONT_EXPOSE_PROTOCOL=http \ --env FRONT_HOSTNAME=localhost \ --env FRONT_LOG_LEVEL=warn \ --env API_2_PORT_4009_TCP_ADDR=enode_core \ --env API_REMOTE_PORT=4009 \ --env API_PATH=/api/ \ --env API_EXPOSE_PROTOCOL=http \ --env API_HOSTNAME=localhost \ --env API_REWRITE='^/api/(.*) /$$1 break' \ --env APIWS_3_PORT_4009_TCP_ADDR=enode_core \ --env APIWS_REMOTE_PORT=4009 \ --env APIWS_PATH=/socket.io/ \ --env APIWS_EXPOSE_PROTOCOL=http \ --env APIWS_HOSTNAME=localhost \ ghcr.io/entcor/nginx_load_balancer:1.0.0 docker logs -f --tail 10000 enode_lb docker stop enode_lb && docker rm enode_lb ```