Sentinel Commander — Dokumentace (v2026.08.001)
Text Only ##
++########++
++++###+++++++
+++++++++++-++-.
++++++#++++++-+-
++######+++++--
+++ ####+ -+-
++++######++-
++++#######+-#
++++######++-+.-+
++++++###+++##+---++#
+++++++++###+#######++++++++
-+++++++++++###+#####+#+++++----..-
++-++++++++#######+######++++++++--.. .
---++++##+++#####++####++++#++++---.....
--+++++############++###++++#+++---........
--++++++##++##########++++++++++----.........
--+++++#####++#####+#+++++++++++++-.-.........
--++++#####+########++++++-+++++-++--------.-..
++++##########+####++++++-+++++++-+++---------.
S E N T I N E L C O M M A N D E R
v2026.08.001
Hybridní AI log monitor a analyzátor pro enterprise Linux infrastrukturu
Rychlá navigace
Co je Sentinel?
Sentinel Commander je pokročilý hybridní monitorovací systém s plnou AI vrstvou určený pro enterprise Linux infrastrukturu. Kombinuje Pull přístup (inotify tailing logů) s Push přístupem (vzdálení Python agenti POSTují telemetrii). Klíčové integrace: Hailo AI HAT 2+ NPU (hailo-ollama), lokální/externí Ollama LLM, ChromaDB (RAG).
Ve verzi v2026.08.001 systém obsahuje 1 050 automatizovaných testů a 80/100 AI roadmap položek pokrytých 24 novými AI moduly pro diagnostiku, verifikaci, plánování remediace, korelaci, baselining, předpovědi a správu znalostí.
Co je nového ve v2026.08.001 (2026-08-03)
| Funkce | Detail |
| Testy: 938 → 1050 | 112 nových testů pokrývajících knowledge base, infra audit a dependency mapping |
| 80/100 AI roadmap položek | Nárůst ze 66/100 ve v2026.07 |
| 3 kritické SSH bugy opraveny | SSH diagnostika + remediace nefungovaly 30. 7. – 1. 8.; zcela vyřešeno |
knowledge.py | Runbooky, prevention hinty, tréninkové páry, přenos KB mezi instancemi |
infra_audit.py | Detekce config driftu, zombie procesy, expirace certů, post-reboot checklist, kontrola přesnosti dokumentace |
dependencies.py | Graf závislostí hostů, výpočet blast-radius, simulace odstavení |
host-setup.md | Nový průvodce: příprava monitorovaných hostů pro AI diagnostiku (sentinel user, sudoers, journal group) |
Co je nového ve v2026.07.001 (2026-07-31)
AI vrstva — 21 nových modulů
| Modul | Co dělá |
ai_guard.py | Obrana proti prompt-injection v obsahu logů, hodinový limit akcí, detekce smyčky |
ai_verify.py | Kontrola halucinací — ověřuje AI tvrzení proti známé infrastruktuře |
ai_profiles.py | Profily kontextového okna dle typu úlohy (triage, hloubková analýza, chat) |
ai_runtime.py | Cache odpovědí, konzistence, token budget, routing modelů |
diagnostics.py | Pevný katalog read-only příkazů — AI vybírá ID příkazů, nikdy raw shell; spustí a interpretuje reálný výstup |
fix_verify.py | Verifikace opravu ~15 min po každém pokusu; selhání se zaznamenají jako anti-vzory |
remediation.py | Stupňovitý žebříček: observe → reload → restart → reboot |
remediation_plan.py | Rollback, kontextové hodnocení rizika, dry-run mód, fronta práce |
policy.py | Vysvětlení blokace, návrhy allowlistu/auto-execute |
escalation.py | Eskalace s kontextem (co bylo zkuseno a proč to selhalo) |
correlate.py | Změnová korelace, kauzální řetězce, cross-host vzory |
incident_analysis.py | Společný jmenovatel, timeline incidentu, detekce kaskád, seřazené hypotézy |
trend_detect.py | Tichá degradace (regrese + r²), detekce chybějících signálů |
baseline.py | Per-host normální profil, sezónnost, audit auth logů |
alert_quality.py | Těžba false-alarmů z historických dat |
playbooks.py | Postupy naučené z manuálních oprav — buduje institucionální paměť |
foresight.py | Kapacitní prognóza, týdenní infrastrukturní výhled |
unmatched.py | Náhodné vzorkování log řádků, které žádný plugin nezachytí |
rag_utils.py | Komprese, hybridní vyhledávání, citace, správa chunků |
knowledge.py | (preview ve v07, stabilní ve v08) |
infra_audit.py | (preview ve v07, stabilní ve v08) |
Rozsah
- Testy: 317 → 938 (+621 nových testů pokrývajících celou AI vrstvu)
- AI roadmap: 66/100 dokončeno
- Kompletní audit trail každé AI akce
- Všechny AI moduly plně integrovány do Scheduler maintenance smyčky
Co je nového ve v2026.06.024 (oproti v2026.06.005)
Bezpečnostní hardening
| Funkce | Detail |
| 2FA / TOTP | Kompletní stack: pyotp (RFC 6238), QR enrollment (Google Authenticator / Authy), dvoukrokový login flow, DB tabulka user_totp, admin může 2FA komukoliv deaktivovat |
| bcrypt hashování hesel | web.password_hash: "$2b$12$..." má prioritu před plaintextem; tlačítko „Hash hesla" v Settings vygeneruje hash; viewer heslo analogicky |
| CSRF ochrana | Token v session + SameSite=Strict cookie + globální fetch wrapper přidává X-CSRF-Token ke všem POST/PUT/DELETE |
| Brute-force ochrana | Form login i Basic auth: IP ban po 5 selháních na 300 s; auto-registrace agentů limitována na 10/min per IP |
| XSS hardening | Všechny AI odpovědi escapovány přes html.escape() před innerHTML — obsah logů je pod kontrolou útočníka |
| SSH hardening | ssh_utils.py: accept-new + UserKnownHostsFile místo StrictHostKeyChecking=no; ssh-keyscan při registraci agenta; known_hosts UI (zobrazit / rescan / smazat klíče) |
| API key scopes | Jemné: read:issues, write:actions, admin:users — se zpětnou kompatibilitou |
| Práce se secrets | {SECRET:ENV_VAR} substituce v config.yaml (proměnné po použití smazány z os.environ); /api/config/view maskuje password/token/secret/api_key jako *** |
| Kontrola sessions | Absolutní 12h timeout (security.session_max_hours), refresh role z DB každých 5 min, revokované sessions přežijí restart (DB) |
| Audit trail | Tabulka config_audit (kdo, kdy, IP, jaké klíče), audit 403/401 přístupů, prohlížeč audit trailu v Settings |
| SSRF + validace vstupů | /api/admin/validate_url odmítá privátní IP rozsahy; regex validace hostname na všech SSH/ingest endpointech; int_param() kontrola mezí na 20+ endpointech |
| Security self-check | /api/admin/security_check vrací bezpečnostní známku A/B/C/D |
Notifikace a integrace
| Funkce | Detail |
| Odchozí kanály | MS Teams · Slack · PagerDuty · Discord (embeds) · Telegram bot · Opsgenie (Events API v2) · ntfy.sh · Gotify · SMTP e-mail (STARTTLS 587 / SSL 465) · Matrix · Home Assistant · MQTT · obecný Webhook (HMAC-SHA256 + replay ochrana) |
| Příchozí webhooky | /api/inbound/grafana (legacy + unified alerting) · /api/inbound/alertmanager (Prometheus AM) · /api/inbound/zabbix (Media Type flat JSON) |
| Spolehlivost | Retry fronta s exponenciálním backoffem (30 s/120 s/300 s, max 3 pokusy); throttling per severity (critical/security/root 15 min, high 1 h, medium/low 4 h) |
| Granularita | Per-detektor 🔔 toggle, per-kanál toggle, jméno instance v prefixu všech titulků ([Instance] CHANNEL alert) |
| Lifecycle webhooky | Konfigurovatelné webhooky při CREATED / ACKNOWLEDGED / RESOLVED |
| Gitea issue sync | Kritické issues automaticky zakládány v Gitea repozitáři (GITEA_URL/TOKEN/REPO) |
| Grafana anotace | _send_grafana_annotation() při critical/security alertu |
| Prometheus | GET /metrics scrape endpoint + pushgateway export self-metrik Sentinelu |
Analytika a AI
| Funkce | Detail |
| Health score per host | /api/agents/<hostname>/health_score — kompozitní 0–100 se známkou A–D |
| Předpověď issues | /api/analytics/forecast — lineární regrese, výhled 7 dní |
| SLA & fatigue reporty | Tabulka resolution-time, alert-fatigue graf, widget flapping issues, změny od posledního přihlášení |
| AI kapacitní plánování | /api/reports/capacity_plan — telemetrie agregovaná per host, AI vrací karty HOST/PROBLÉM/DOPORUČENÍ/PRIORITA |
| Auto-clustering | /api/analyze/auto_clusters — seskupení issues dle pluginu/hostu v 30min oknech, AI pojmenuje root cause |
| AI postmortem | /api/issues/<key>/postmortem — AI generovaný Markdown postmortem incidentu |
| Auto-severity & duplikáty | Severity přiřazená LLM, automatická detekce duplikátů |
| Týdenní digest | Obsahuje flapping issues a průměrnou dobu řešení |
Správa flotily agentů
| Funkce | Detail |
| Batch SSH | POST /api/ssh/batch — paralelní SSH přes ThreadPoolExecutor (10 vláken, max 50 hostů, 15 s per-host timeout), allowlist kontrolován |
| Per-agent thresholdy | check_agent_thresholds() vynucováno při každém ingest payloadu; quick-buttons CPU > 90 %, RAM > 90 %, Disk > 85 % |
| HW metriky přes SSH | síť (/proc/net/dev), GPU (nvidia-smi/rocm-smi), SMART (smartctl), UPS (apcaccess/upsc) |
| CVE scanner | apt list --upgradable / dnf --security check-update per agent |
| Inventář balíčků | dpkg-query / rpm -qa s live filtrem v detailu agenta |
| QR registrace | Token modal generuje QR {hostname, token, ingest_url}; kopírování tokenu jedním klikem; hromadná rotace tokenů (/api/agents/rotate_all_tokens) |
| Okna údržby | Snooze pravidla per host; detail agenta zobrazuje vlastní okna |
| Version drift alert | Issue při registraci agenta s buildem starším 30 dní; délka offline trackována v telemetrii |
Provoz a spolehlivost
| Funkce | Detail |
| Health endpointy | /healthz (Kubernetes/UptimeKuma JSON probe, 503 při chybě DB) · přepracovaná veřejná stránka /status (auto-refresh 30 s) |
| Správa konfigurace | jsonschema validace kritických klíčů · backup/restore s automatickými snapshoty před restore (drží 10) · diff snapshotů endpoint + UI |
| Hot reload | SIGHUP reloaduje config i watcher patterns i pluginy; /api/admin/log_level mění log level za běhu |
| Graceful shutdown | SIGTERM flushne telemetry buffer + publikuje MQTT sentinel/status: offline |
| Zálohy | /api/admin/backup/download (tar.gz) + /api/admin/backup/s3 (upload na S3/MinIO) |
| File Integrity Monitoring | SHA-256 hash kritických souborů kontrolován každou minutu → security issue při změně |
| Ansible runner | /api/ansible/run — validovaná cesta playbooku, streamovaný výstup |
| Syntetické checky | HTTP health checky (SYNTHETIC_CHECKS), heartbeat URL monitoring, expirace SSL certifikátů (< 14 dní → security issue) |
| Self-monitoring | Self-metriky RAM/vlákna/fronta/load každou minutu · memory watchdog (RSS > 1,5 GB → warning) · alert na backlog AI fronty · alert na velikost DB · no-agent alert · profilace startu |
Výkon
- Issues cache s TTL 5 s + double-checked
threading.Lock; invalidace při zápisu - Dávkování zápisu telemetrie (buffer flushovaný periodicky), dashboard sparklines dotaz cachován 5 min
- Kompozitní DB indexy (
idx_problems_plugin_ch_ts, idx_issue_hist_plugin_ts, severity + telemetrie) - WAL tuning —
wal_autocheckpoint=200, synchronous=NORMAL, explicitní checkpoint po prune; VACUUM po > 10 k smazaných řádcích; 90denní retence historie issues - HTTP cachování — ETag +
max-age + 304 conditional GET pro statiku; defer + preload načítání skriptů; gzip - SocketIO backpressure — omezená fronta na frontend (500, drop-oldest); dedup WS zpráv v 1s okně
- Virtual scroll — issues stránkované po 50 s tlačítkem „Načíst více"
UI / UX
- Tab Runbooks v Tools s CRUD + runbook modalem
- Moderní interaktivní grafy — min/max/avg badge, přerušovaná průměrová linie, bohaté tooltipy (dashboard trend, donut s celkovým počtem uprostřed, alert timeline, agent sparklines)
- Fullscreen overlay issue, inline komentáře, barevné štítky, drag & drop záložky, mobilní swipe (vpravo = acknowledge, vlevo = delete)
- Kopie issue jako Markdown, hromadný CSV export (
Alt+E), hromadný acknowledge (Alt+A), export chatu do Markdownu - Přístupnost — ARIA
role="dialog", aria-modal, aria-labelledby na všech modalech, Escape pro zavření - DB management panel v Settings — velikost, počty záznamů, tlačítka „Prune nyní" a „Agregovat telemetrii"
- Chat — kontextové chips s navrženými dotazy, LIVE tag (obohacuje prompt o kontext aktivních issues), Markdown rendering
- Časová zóna —
DISPLAY_TZ, /api/timezone/info, /api/timezone/convert
Inženýrská kvalita
- 118 automatizovaných testů — route testy, security testy (brute force, scopes, hostname injection, maskování secrets), integrační testy (celý lifecycle issue na reálné DB), benchmark dashboardu
- CI pipeline — Gitea Actions (
pytest + node --check + make build), pre-push git hook, make ci - Linting — ruff (Python), ESLint s
no-redeclare=error (JS), pinované requirements.txt - Refaktoring —
notifier.py (všechny odchozí kanály), scheduler.py (3úrovňová maintenance smyčka) a ssh_utils.py extrahovány z chat_service.py - CONTRIBUTING.md — diagram architektury, vývojový workflow, bezpečnostní pravidla
Přehled funkcí
| Oblast | Schopnosti |
| AI inference | Hailo-10H NPU (hailo-ollama) · CPU Ollama · external API · runtime přepínání modelu |
| RAG znalostní báze | ChromaDB + nomic-embed-text · BM25 TF×IDF fallback · vlastní upload (.md/.txt/.pdf/.docx/.csv) · reindex jedním klikem |
| AI bezpečnost | Obrana proti prompt-injection · hodinový limit akcí · detekce smyčky · kontrola halucinací · audit trail (ai_guard.py, ai_verify.py) |
| AI diagnostika | Pevný read-only katalog příkazů — AI vybírá ID, nikdy raw shell; spustí a interpretuje reálný výstup (diagnostics.py) |
| AI verifikace | Kontrola opravy ~15 min po každé remediaci; selhání se ukládají jako anti-vzory (fix_verify.py) |
| AI remediace | Stupňovitý žebříček: observe → reload → restart → reboot · rollback · dry-run · hodnocení rizika (remediation.py, remediation_plan.py) |
| AI korelace | Kauzální řetězce · změnová korelace · cross-host vzory · detekce kaskád · timelines incidentů · seřazené hypotézy (correlate.py, incident_analysis.py) |
| AI baselining | Per-host normální profil · sezónnost · tichá degradace (regrese + r²) · chybějící signály (baseline.py, trend_detect.py) |
| AI prognózy | Kapacitní prognóza · týdenní výhled · těžba false-alarmů · vzorkování nezachycených logů (foresight.py, alert_quality.py, unmatched.py) |
| Znalostní báze | Runbooky · prevention hinty · tréninkové páry · přenos KB mezi instancemi (knowledge.py) |
| Infra audit | Config drift · zombie procesy · expirace certů · post-reboot checklist · blast-radius závislostí (infra_audit.py, dependencies.py) |
| Hybridní telemetrie | Pull (inotify logy) + Push (agenti přes Bearer token) · více IP adres na agenta · tracking verze agenta (SHA) |
| Autofix | AI navrhne opravu → admin Schválit/Zamítnout → SSH exec na mgmt nodu · allowlist příkazů · autonomní exec |
| Prediktivní analytika | TTC (Time-To-Critical) pro disky · Mann-Kendall trend test · předpověď lineární regresí · kapacitní plánování |
| Bezpečnostní profiler | Brute-force, sudo abuse, CVE scan, neoprávněné porty, honeypot, FIM, expirace SSL |
| Notifikace | 13 odchozích kanálů · 3 příchozí webhooky · retry fronta · throttle per severity · per-detektor/kanál toggles |
| Prometheus | GET /metrics scrape + pushgateway export; auth přes scrape_token |
| Dashboard | Stat karty · interaktivní min/max/avg grafy · trend chart · donut · health trend · flapping widget · live hodiny |
| Autentizace | viewer / admin / superadmin · LDAP (lldap + OpenLDAP) · 2FA/TOTP · bcrypt · rate-limit + IP ban · CSRF |
| Workflow issues | active → acknowledged → validating → resolved · eskalační pravidla · lifecycle webhooky |
| Auto-remediace | Jednorázová SSH oprava · allowed_commands s auto_execute · AUTOFAIL issues · SSH jump host (ProxyJump) · Ansible runner |
| Plugin hot-reload | POST /api/plugins/reload · SIGHUP plný reload · Pattern Editor s regex testerem + AI návrhy patternů |
| Telemetrie | Detekce anomálií (3σ) · pevné thresholdy · per-agent thresholdy · InfluxDB export · heatmap · health score historie |
| Topologie | Mapa topologie agentů · graf závislostí pluginů · SNMP CDP/LLDP · Canvas force-directed graf |
| SSH akce | Jump host (ProxyJump) · SSH modal (admin+) · streaming výstup (SSE) · batch SSH · správa known_hosts |
| API dokumentace | GET /api/docs — Swagger UI · GET /api/openapi.json — OpenAPI 3.0 spec |
| Hailo TUI | hailo_models.py — Unicode TUI správce modelů: htop-style CPU/Mem bary, RX/TX, NPU arch+FW, TPS benchmark graf |
| UI i18n | Čeština (výchozí) · angličtina toggle · localStorage persistence · konfigurace časové zóny |
| Bezpečnost | Symlink containment · limit uploadů (5 MB) · secure_filename · timing-safe ověření tokenů · CSP hlavičky · maskování secrets · SSRF guard |
Architektura
Text Only Log soubory ──inotify──▶ watcher.py ──▶ plugins[] ──▶ api.report_problem()
Vzdálení agenti ──POST──▶ /api/v1/agent/ingest │
Grafana/AM/Zabbix ──POST──▶ /api/inbound/* │
▼
state.py (SQLite WAL)
│
┌──────────────────────────────────┤
▼ ▼
ollama_service.py Flask + SocketIO :5050
(AI worker pool) (chat_service.py + routes/)
│ │
┌───────────────┼───────────────┐ ┌────────┴────────┐
▼ ▼ ▼ ▼ ▼
hailo-ollama Ollama CPU external scheduler.py notifier.py
(NPU :8000) (:11434) API (maintenance) (13 kanálů)
Hlavní moduly
| Soubor | Zodpovědnost |
chat_service.py | Flask/SocketIO app factory, RBAC, WebSocket |
auth.py | Autentizace, LDAP, 2FA/TOTP, bcrypt, sessions, ověření API klíčů |
state.py (state_base/issues/agents) | SQLite WAL orchestrace — issues, telemetrie, agenti |
watcher.py | inotify filesystem eventy, hot config reload, FIM |
plugin_manager.py | Dynamické načítání pluginů, routing patternů, hot-reload |
ollama_service.py | AI worker thread pool, přepínání modelů |
rag.py | ChromaDB, nomic-embed-text, BM25 fallback |
actions.py | Lifecycle autofixu — create, approve, reject, SSH exec |
notifier.py | Všechny odchozí notifikace + retry fronta + throttling |
scheduler.py | Background maintenance (minutová / hodinová / noční úroveň) |
ssh_utils.py | Centrální SSH bezpečnost — build_ssh_cmd(), sken host klíčů |
analytics.py | TTC, Mann-Kendall, Z-Score, health score, forecast |
topology.py | Topologie agentů, SNMP CDP/LLDP |
routes/ | Flask Blueprints: main, issues, agents, actions, system, export, integrations, chat |
AI vrstva (v2026.07+)
| Soubor | Zodpovědnost |
ai_guard.py | Obrana proti prompt-injection, limit akcí, detekce smyčky |
ai_verify.py | Kontrola halucinací proti známé infrastruktuře |
ai_profiles.py | Profily kontextového okna dle typu úlohy |
ai_runtime.py | Cache odpovědí, konzistence, token budget, routing modelů |
diagnostics.py | Pevný katalog read-only příkazů — AI vybírá ID, nikdy raw shell |
fix_verify.py | Verifikace opravy po remediaci; selhání se ukládají jako anti-vzory |
remediation.py | Stupňovitý žebříček remediace s rollbackem |
remediation_plan.py | Hodnocení rizika, dry-run, fronta práce |
policy.py | Vysvětlení blokace, návrhy allowlistu/auto-execute |
escalation.py | Eskalace s kontextem předchozích pokusů |
correlate.py | Změnová korelace, kauzální řetězce, cross-host vzory |
incident_analysis.py | Timeline, detekce kaskád, seřazené hypotézy |
trend_detect.py | Tichá degradace, chybějící signály |
baseline.py | Per-host normální profil, sezónnost, audit auth logů |
alert_quality.py | Těžba false-alarmů z historických dat |
playbooks.py | Postupy naučené z manuálních oprav |
foresight.py | Kapacitní prognóza, týdenní výhled |
unmatched.py | Vzorkování nezachycených log řádků |
rag_utils.py | Komprese, hybridní vyhledávání, citace, správa chunků |
knowledge.py | Runbooky, prevention hinty, přenos KB |
infra_audit.py | Config drift, zombie procesy, certifikáty, post-reboot check |
dependencies.py | Graf závislostí hostů, blast-radius, simulace odstavení |
Datové toky
A. Ingest & detekce
- Log řádek zapsán do
/var/log/sentinel/logs/ → inotify event watcher.py čte nové řádky přes mmap PluginManager routuje řádky na odpovídající detektory dle masky souboru - Detektor generuje unikátní klíč (např.
DISK_FULL|proxmox01|/data) - Stav zapsán do tabulky
problems → task vložen do task_queue - Push cesta: agenti POSTují
/api/v1/agent/ingest (nebo /api/v1/ingest/bulk pro dávky); pole metrics se kontroluje proti per-agent thresholdům
B. AI inference + RAG
- AI worker vyzvedne task z
task_queue - Načte prompt šablonu dle kanálu (security, clusters, infra, root, icinga)
- RAG: ChromaDB dotaz → relevantní kontext vložen do system promptu
- Prompt odeslán do Ollama (NPU/CPU/external)
- Pokud odpověď obsahuje remediation skript →
actions.py vytvoří pending akci
actions.py vytvoří DB záznam s navrženým SSH příkazem - Frontend dostane WebSocket event
new_action - Admin s rolí
admin nebo superadmin klikne Schválit nebo Zamítnout - Při schválení: SSH připojení na management node → vykonání příkazu (allowlist pre-validován)
- STDOUT/STDERR zalogován → incident přechází do stavu
validating
D. Notifikační pipeline
- Issue uloženo →
notifier.send_notification() fan-out na všechny zapnuté kanály - Nejdřív se kontrolují per-detektor a per-kanál toggles
- Aplikuje se throttle per severity (critical 15 min … low 4 h)
- Selhání jdou do retry fronty (backoff 30 s → 120 s → 300 s)
- Lifecycle webhooky se spouští při CREATED / ACKNOWLEDGED / RESOLVED
Workflow issues
Text Only detekováno ──▶ active ──▶ acknowledged (tlačítko ✓✓)
│ │
│ validating ──▶ resolved
│
└──▶ (auto-resolved detektorem nebo expiry pravidlem)
Eskalační pravidla: Pokud issue zůstane active nebo acknowledged déle než N hodin bez vyřešení, severity se automaticky zvýší na další úroveň.
Lifecycle webhooky mohou notifikovat externí systémy při každém přechodu a kritické issues lze zrcadlit do Gitea.
Instalace
Bashgit clone <repo> /opt/Sentinel
sudo bash /opt/Sentinel/install.sh # Debian/Ubuntu/RHEL/Rocky/Pi OS
sudo python3 /opt/Sentinel/sentinel_init.py # interaktivní konfigurační wizard
sudo systemctl enable --now sentinel
Setup wizard odmítá výchozí hesla, generuje systemd unit s WatchdogSec=900 a WAL-checkpoint ExecStartPre a vytváří /var/lib/sentinel.
Klíčová konfigurace (config.yaml)
YAMLweb:
port: 5050
password_hash: "$2b$12$..." # bcrypt — má prioritu před plaintext `password`
security:
login_max_attempts: 5
login_ban_time: 300
session_max_hours: 12
ollama:
url: "http://localhost:11434"
model: "llama3.2"
workers: 3
hailo_ollama:
enabled: false
url: "http://localhost:8000"
ldap:
enabled: false
host: "ldaps://ldap.example.com"
base_dn: "dc=example,dc=com"
prometheus:
enabled: true
scrape_token: "{SECRET:PROM_TOKEN}" # substituce z env proměnné
telemetry_alerts:
cpu_critical: 95
disk_critical: 95
temp_critical: 85
fim:
enabled: true
paths: [/etc/passwd, /etc/shadow, /etc/ssh/sshd_config]
Požadavky
- Python 3.13+ · Flask · Flask-SocketIO · ChromaDB · paho-mqtt
pyotp (2FA) · qrcode + pillow (QR enrollment) · bcrypt · jsonschema - Ollama s
nomic-embed-text (pro embeddingy) - Volitelně: Hailo AI HAT 2+ s hailo-ollama 5.3.0 pro NPU inferenci
Ekosystém komponent
| Komponenta | Popis | Port |
| Sentinel | Centrální server (tato dokumentace) | 5050 |
| sentinel-agent | Push agent na každém monitorovaném nodu | — |
| sentinel-overhealth | SSH pull orchestrátor (cron) | — |
| sentinel-plugins | 11 detektorových pluginů | — |
| sentinel-alert | Standalone síťový bezpečnostní dashboard (vč. MikroTik + PiHole) | 5056 |
| sentinel-hw | Fyzický RPi robot | 5055 |
| sentinel-app | Android mobilní klient | — |
| sentinel-console | TUI terminálový klient | — |