Sistemos Architektūra
Sentinel APM (monitorsrv.com v2.5) yra autonominė On-Premise telemetrijos, agentų valdymo ir kibernetinio saugumo platforma, suprojektuota veikti pilnai izoliuotoje kliento infrastruktūroje.
Pagrindiniai Komponentai
- Go Centrinis Serveris: Ypatingai greitas, mažai resursų reikalaujantis serveris (Golang), aptarnaujantis tūkstančius lygiagrečių agentų ryšių per atvirkštinius WebSocket kanalus.
- React Vartotojo Sąsaja: Šiuolaikiškas Shadcn/UI valdymo pultas su šviesios/tamsios temos palaikymu, realaus laiko grafikais ir integruotu Web SSH terminalu.
- ClickHouse BigData Telemetrija: Stulbinančio greičio stulpelinė duomenų bazė metrikų saugojimui ir momentiniam agregavimui.
- PostgreSQL & Redis: Saugi reliacinė duomenų bazė konfigūracijoms bei greita spartinančioji atmintis sesijoms.
Ed25519 Kriptografinis Licencijavimo Variklis
Licencijos pasirašomos asimetriniu Ed25519 raktu. Licencijos raktas turi griežtą struktūrą:
MSRV.<Base64URL_Payload>.<Base64URL_Ed25519_Signature>
Konteineryje integruotas viešasis raktas leidžia sistemai veikti visiškai izoliuotame tinkle (Air-Gapped) be interneto ryšio, automatiškai patvirtinant licencijos galiojimą ir mazgų kvotą.
Saugus Reversinis WebSocket/TLS Tunelis
Agentams nereikia atverti jokių įeinančių prievadų (No Inbound Ports). Kiekvienas agentas pats inicijuoja išeinantį saugų TLS wss:// ryšį į jūsų centrinį serverį. Šiuo kanalu perduodama telemetrija, vykdomos Web SSH sesijos ir saugus nuotolinis darbalaukis.
Serverio Diegimas (Docker & Compose)
1. Greitasis Diegimas (1-Liner Komanda)
Oficialus diegimo skriptas automatiškai patikrina Docker, autorizuojasi privačiame registre, sukonfigūruoja failus ir paleidžia Sentinel APM konteinerį:
curl -sSL https://monitorsrv.com/install.sh | bash -s -- --license="MSRV.eyJ..."
2. Docker Registry Autorizacija
Oficialūs Sentinel atvaizdai (registry.monitorsrv.com/sentinel-server:v2.5.0 ir :latest) saugomi privačiame registre. Prieš vykdant rankinį diegimą, autorizuokitės:
echo "SentinelDeployClient2026!" | docker login registry.monitorsrv.com -u client-deploy --password-stdin
3. Pilnas Gamybinis docker-compose.yml
Gamybinei aplinkai rekomenduojamas pilnas kaminas su PostgreSQL, ClickHouse ir Redis:
services:
sentinel-server:
image: registry.monitorsrv.com/sentinel-server:v2.5.0
container_name: sentinel-server
restart: unless-stopped
ports:
- "8080:8080"
- "443:443"
environment:
- LICENSE_KEY=JŪSŲ_MSRV_LICENCIJOS_RAKTAS
- POSTGRES_DSN=postgres://sentinel:secret123@postgres:5432/sentinel_db?sslmode=disable
- CLICKHOUSE_ADDR=clickhouse:9000
- REDIS_ADDR=redis:6379
- PUBLIC_BASE_URL=https://sentinel.jusu-domenas.lt
depends_on:
- postgres
- clickhouse
- redis
volumes:
- ./data:/var/lib/sentinel
postgres:
image: postgres:16-alpine
container_name: sentinel-postgres
restart: unless-stopped
environment:
POSTGRES_DB: sentinel_db
POSTGRES_USER: sentinel
POSTGRES_PASSWORD: secret123
volumes:
- ./pgdata:/var/lib/postgresql/data
clickhouse:
image: clickhouse/clickhouse-server:24.3-alpine
container_name: sentinel-clickhouse
restart: unless-stopped
volumes:
- ./chdata:/var/lib/clickhouse
redis:
image: redis:7-alpine
container_name: sentinel-redis
restart: unless-stopped
volumes:
- ./redisdata:/data
Paleidimas fone:
docker compose up -d
Pradinis Saugumo Konfigūravimas
1. Numatytieji Prisijungimo Duomenys
http://<SERVER_IP>:8080/login
admin
admin123
2. Dviguba Autentifikacija (2FA)
Sentinel APM palaiko pramoninio standarto 2FA apsaugą:
- TOTP Programėlė (Rekomenduojama): Google Authenticator, Microsoft Authenticator, 1Password ar Bitwarden. Aktyvuojama nuskaičius QR kodą profilio nustatymuose.
- Email OTP: Vienkartiniai 6 skaitmenų kodai, siunčiami į vartotojo el. paštą kiekvieno autorizacijos bandymo metu.
3. Rolių Valdymas (RBAC)
Sistemos Nustatymai ir Kliento Domenas
public_base_url ir Automatinis Domeno Parinkimas
Kad agentų diegimo komandos automatiškai generuotųsi su jūsų serverio viešuoju domenu ar IP adresu, nustatykite parametrą PUBLIC_BASE_URL (arba valdymo pulte Nustatymai → Sistemos Domenas):
PUBLIC_BASE_URL="https://sentinel.jusu-domenas.lt"
Jei parametras nenurodytas, sistema automatiškai nustato domeną pagal užklausos X-Forwarded-Host arba Host antraštes.
SMTP El. Paštas ir Mazgų Kvotos Stebėjimas
Skiltyje Nustatymai → El. Paštas (SMTP) sukonfigūruokite SMTP serverį pranešimų apie incidentus ir slaptažodžio atkūrimo siuntimui.
Kvotos stebėjimas: Sentinel serveris realiu laiku seka aktyvių agentų skaičių. Pasiekus 90% licencijos limito, administratoriai gauna įspėjimą el. paštu bei pranešimą valdymo pulto būsenos juostoje.
Agento Diegimas (Fleet Deployment)
Sentinel APM Agentas (monitor-agent) yra parašytas Go 1.24 (Golang) kalba, veikia kaip vienas nepriklausomas statinis binarinis failas, naudoja vos 0.1% CPU ir ~12 MB RAM.
Atsisiunčia į /usr/local/bin/monitor-agent ir sukuria automatiškai startuojančią systemd tarnybą:
curl -sSL https://<DOMENAS>/install.sh | sudo bash -s -- --token="<FLEET_TOKEN>" --group="Production Servers" --env="production" --tags="production,web"
Pavyzdys: curl -sSL https://monitor.tweb.lt/install.sh | sudo bash -s -- --token="tok_live_57c29b8a0166c4fcf5c7644220d27642" --group="Production Servers" --env="production" --tags="production,web"
Įdiegiama į Program Files/MonitorAgent ir registruojama kaip foninė Windows tarnyba (PowerShell su Administratoriaus teisėmis):
irm https://<DOMENAS>/install.ps1 | iex; Install-MonitorAgent -ServerUrl "https://<DOMENAS>" -Token "<FLEET_TOKEN>" -GroupName "Production Servers" -Environment "production" -Tags "production,web"
Pavyzdys: irm https://monitor.tweb.lt/install.ps1 | iex; Install-MonitorAgent -ServerUrl "https://monitor.tweb.lt" -Token "tok_live_57c29b8a0166c4fcf5c7644220d27642" -GroupName "Production Servers" -Environment "production" -Tags "production,web"
Automatinis Agentų Atnaujinimas (Fleet Auto-Updates)
Išleidus naują agento versiją, centrinis serveris saugiu pasirašytu kanalu atnaujina agentus fone be jokio rankinio įsikišimo ar paslaugos sutrikdymo.
Pagrindinės Funkcijos
CPU, RAM, disko I/O, tinklo pralaidumo ir eBPF procesų metrikos atnaujinamos kas 1 sekundę.
Zero-Config nuotolinis prisijungimas prie Linux terminalo ir Windows darbalaukio tiesiai naršyklėje.
Automatinis infrastruktūros mazgų ryšių žemėlapis su aktyvių srautų ir gedimų vizualizacija.
CrowdSec grėsmių žvalgyba, eBPF failų vientisumas (FIM) ir momentinis IP blokavimas UniFi / Mikrotik.
Dažniausiai Užduodami Klausimai (D.U.K. / FAQ)
Ar reikia atverti įeinančius prievadus (ports) agentų serveriuose? ▼
Ne! Visi agentai jungiasi per atvirkštinį (reverse) WebSocket/TLS kanalą tiesiai į jūsų centrinį serverį. Agentų serveriai gali būti už griežčiausių NAT ar ugniasienių be viešo IP.
Kaip veikia licencijos mazgų kvota? ▼
Kvota skaičiuoja vienu metu aktyviai prisijungusius agentus. Jei serveris išjungiamas arba agentas pašalinamas, vieta kvotoje atsilaisvina automatiškai.
Ar sistema gali veikti pilnai uždarame tinkle be interneto ryšio (Air-Gapped)? ▼
Taip. Sentinel APM konteineryje integruotas Ed25519 viešasis kriptografinis raktas, todėl licencijos parašas tikrinamas vietoje be interneto ryšio.
Ką daryti gavus „no basic auth credentials“ klaidą diegiant Docker? ▼
Privatus Docker registras reikalauja autorizacijos. Prieš vykdydami docker compose up, atlikite echo "SentinelDeployClient2026!" | docker login registry.monitorsrv.com -u client-deploy --password-stdin.