Instalace na jednom uzlu
Následující kroky popisují instalaci TeskaLabs LogMan.io na jednom uzlu.
Požadavky
Pro nastavení hardwaru postupujte podle těchto instrukcí. Měli byste začít s čerstvou instalací Linuxu a běžící službou Docker.
Pokud instalujete LogMan.io spolu s jinými službami na jedné stroji, mějte na paměti, že LogMan.io ovládá tyto adresáře ve výchozím nastavení:
/opt/site/
/data/hdd/
/data/ssd/
Ujistěte se, že tyto adresáře jsou před instalací prázdné.
sudo rm -rf /opt/site/* /data/hdd/* /data/ssd/*
Pokud je to možné, zastavte všechny kontejnery Docker a odstraňte všechny data Dockeru.
docker system prune -af
Pro spuštění instalace v Podman místo Dockeru postupujte podle těchto instrukcí.
Ujistěte se, že jste nakonfigurovali požadované parametry jádra Linuxu.
Bootstrap
Spusťte tento příkaz pro zahájení bootstrapu LogMan.io.
docker run -it --rm --pull always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /opt/site:/opt/site \
-v /opt/site/docker/conf:/root/.docker/ \
-v /data:/data \
-e NODE_ID=`hostname -s` \
--network=host \
pcr.teskalabs.com/asab/asab-governator:stable \
python3 -m governator.bootstrap
Jednoduché GUI se spustí v terminálu.
- Vyberte instalaci prvního uzlu clusteru.
- Budete požádáni o přihlašovací údaje do registru Dockeru TeskaLabs. Autorizace ke stažení softwaru je kritickým krokem.
- Zkontrolujte node_id. To je název hostitele serveru a musí být řešitelný na IP adresu uvedenou.
Na konci bootstrap procesu by mělo být spuštěno 6 služeb v 6 Docker kontejnerech:
- ZooKeeper
- ASAB Remote Control
- ASAB Governator
- ASAB Library
- ASAB Config
- Zoonavigator
Note
Pro zobrazení všech běžících Docker kontejnerů, jednoduše použijte:
docker ps
Pro zobrazení všech nainstalovaných Docker obrazů použijte:
docker images
Seznamte se s modelem
Ve svém prohlížeči navštivte http://<node_id>:9001/zoonavigator
. (Nahraďte <node_id>
skutečným node ID, názvem hostitele serveru nebo IP adresou.)
Přejděte na /library/Site/model.yaml
Model bude vypadat podobně jako tento:
define:
type: rc/model
services:
zoonavigator:
instances: {1: {node: "<node_id>"} }
params:
PUBLIC_URL: "https://localhost" # změňte tento výchozí na vlastní doménu
applications:
- name: "ASAB Maestro"
version: v24.13
Přidání nové služby do nasazení je tak snadné, jako přidání dvou řádků do souboru yaml. Zkuste přidat jednu instanci Mongo služby.
define:
type: rc/model
services:
zoonavigator:
instances: {1: {node: "<node_id>"} }
mongo:
- <node_id>
params:
PUBLIC_URL: "https://localhost" # změňte tento výchozí na vlastní doménu
applications:
- name: "ASAB Maestro"
version: v24.13
Když jste s modelem spokojeni, musíte aplikovat model na nasazení. Tím synchronizujete model s realitou.
Služba ASAB Remote Control je zodpovědná za aplikaci modelu. Pro aplikaci změn můžete použít API ASAB Remote Control.
curl -X 'POST' 'http://<node_id>:8891/node/<node_id>' -H 'Content-Type: application/json' -d '{"command": "up"}'
Uvidíte spuštěný kontejner asab-governator-up
. Tento kontejner nainstaluje Mongo a bude odstraněn po dokončení.
Instalace WebUI
Závislostmi pro LogMan.io WebUI jsou:
- nginx
- seacat-auth
Rozšiřte model:
define:
type: rc/model
services:
zoonavigator:
instances: {1: {node: "<node_id>"} }
mongo:
- <node_id>
seacat-auth:
- <node_id>
nginx:
- <node_id>
params:
PUBLIC_URL: "https://<node_id>"
applications:
- name: "ASAB Maestro"
version: v24.13
webapps:
/: LogMan.io WebUI
/auth: SeaCat Auth WebUI
V části webapps
specifikujte webové aplikace a umístění, kde by měly být dostupné. Budete potřebovat obě LogMan.io a SeaCat Auth webové aplikace.
webapps:
/: LogMan.io WebUI
/auth: SeaCat Auth WebUI
Nezapomeňte specifikovat veřejnou URL. Můžete použít název hostitele (node ID), pokud nemáte připravenou žádnou doménu.
params:
PUBLIC_URL: "https://<node_id>"
Nakonec aplikujte model:
curl -X 'POST' 'http://<node_id>:8891/node/<node_id>' -H 'Content-Type: application/json' -d '{"command": "up"}'
Přístup k WebUI
WebUI LogMan.io je nyní přístupné z veřejné URL nastavené v modelu. Požádejte o výchozí přihlašovací údaje.
Nastavení společné knihovny LMIO a SMTP
V UI přejděte na Údržba > Konfigurace. Pro pokračování v instalaci služeb LogMan.io zadejte distribuční bod společné knihovny LogMan.io a nastavte ji jako druhou vrstvu knihovny.
libsreg+https://libsreg.z6.web.core.windows.net,libsreg-secondary.z6.web.core.windows.net/lmio-common-library
Konfigurujte SMTP server. Je to důležité při vytváření nových přihlašovacích údajů a umožňování přístupu k WebUI LogMan.io.
Pro propagaci obou těchto konfigurací na všechny služby znovu aplikujte změny.
curl -X 'POST' 'http://<node_id>:8891/node/<node_id>' -H 'Content-Type: application/json' -d '{"command": "up"}'
Nyní můžete vytvořit uživatelské přihlašovací údaje a pozastavit výchozí admin
.
Instalace služeb třetích stran
Rozšiřte model pro instalaci všech služeb třetích stran, které jsou vyžadovány v aplikacích LogMan.io.
Elasticsearch může být velmi náročný na přidělování paměti. Pokud je to potřeba, nastavte, kolik paměti přidělit Elasticsearch. Výchozí je 2GB pro master node a 28GB pro každý data node.
define:
type: rc/model
services:
zoonavigator:
instances: {1: {node: "<node_id>"} }
mongo:
- <node_id>
seacat-auth:
- <node_id>
nginx:
- <node_id>
influxdb:
- <node_id>
grafana:
- <node_id>
telegraf:
- <node_id>
jupyter:
- <node_id>
kafka:
- <node_id>
kafdrop:
- <node_id>
kibana:
- <node_id>
elasticsearch:
instances:
master-1:
node: <node_id>
hot-1:
node: <node_id>
descriptor:
environment:
ES_JAVA_OPTS: "-Xms2g -Xmx2g"
warm-1:
node: <node_id>
descriptor:
environment:
ES_JAVA_OPTS: "-Xms2g -Xmx2g"
cold-1:
node: <node_id>
descriptor:
environment:
ES_JAVA_OPTS: "-Xms2g -Xmx2g"
params:
PUBLIC_URL: "https://<node_id>"
applications:
- name: "ASAB Maestro"
version: v24.13
- name: "LogMan.io"
version: v24.13
webapps:
/: LogMan.io WebUI
/auth: SeaCat Auth WebUI
Aplikujte změny!
curl -X 'POST' 'http://<node_id>:8891/node/<node_id>' -H 'Content-Type: application/json' -d '{"command": "up"}'
Instalace služeb ASAB a LogMan.io
Pro umožnění deskriptorů z aplikace LogMan.io (uložených ve společné knihovně LogMan.io) je potřeba specifikovat aplikaci a její globální verzi v modelu. Také přidejte více služeb do modelu.
define:
type: rc/model
services:
zoonavigator:
instances: {1: {node: "<node_id>"} }
mongo:
- <node_id>
seacat-auth:
- <node_id>
nginx:
- <node_id>
influxdb:
- <node_id>
grafana:
- <node_id>
telegraf:
- <node_id>
jupyter:
- <node_id>
kafka:
- <node_id>
kafdrop:
- <node_id>
kibana:
- <node_id>
elasticsearch:
instances:
master-1:
node: <node_id>
hot-1:
node: <node_id>
descriptor:
environment:
ES_JAVA_OPTS: "-Xms2g -Xmx2g"
warm-1:
node: <node_id>
descriptor:
environment:
ES_JAVA_OPTS: "-Xms2g -Xmx2g"
cold-1:
node: <node_id>
descriptor:
environment:
ES_JAVA_OPTS: "-Xms2g -Xmx2g"
asab-pyppeteer:
- <node_id>
bs-query:
- <node_id>
asab-iris:
- <node_id>
lmio-installer:
- <node_id>
lmio-receiver:
- <node_id>
lmio-depositor:
- <node_id>
lmio-elman:
- <node_id>
lmio-alerts:
- <node_id>
params:
PUBLIC_URL: "https://<node_id>"
applications:
- name: "ASAB Maestro"
version: v24.13
- name: "LogMan.io"
version: v24.13
webapps:
/: LogMan.io WebUI
/auth: SeaCat Auth WebUI
Aplikujte změny!
curl -X 'POST' 'http://<node_id>:8891/node/<node_id>' -H 'Content-Type: application/json' -d '{"command": "up"}'
Gratulujeme! TeskaLabs LogMan.io je nainstalován!
Pokračujte v instalaci přidáním nového tenantu a připojením log zdrojů. Podívejte se, jak připojit simulátor logů.