Hedef DB → Collector → Ingestor → MongoDB → Backend → Frontend
Veri akışı tek yönlü: hedef veritabanları yalnızca okunur (READ-only kullanıcı), DMC sunucularına hiçbir veri akmaz. Tüm bileşenler aynı Docker network'ünde çalışır; air-gap kurulumda dış internet bağlantısı gerekmez.
Beş servis, açık görev tanımı
Backend
Ana API sunucusu. JWT auth, /api/v2/* endpoint'leri, ProviderFactory üzerinden hedef DB'lere bağlanır.Main API server. JWT auth, /api/v2/* endpoints, connects to target DBs via ProviderFactory.
Collector
Zamanlanmış metrik toplama servisi. Varsayılan 60 saniyede bir hedef veritabanlarını sorgular ve sonuçları Ingestor'a HTTP POST eder.Scheduled metric collection service. By default it queries the target databases every 60 seconds and HTTP POSTs the results to the Ingestor.
Ingestor
Collector'dan gelen metrikleri doğrular (Pydantic v2), zaman serisi indekslemesi yapar ve MongoDB metrics_ts koleksiyonuna yazar.Validates metrics coming from the Collector (Pydantic v2), performs time-series indexing, and writes to the MongoDB metrics_ts collection.
Advisor
Bulgu üretici. Kural tabanlı analiz veya yapılandırılırsa Azure OpenAI / yerel Ollama ile insight üretir; findings koleksiyonuna yazar.Finding generator. Produces insight via rule-based analysis or, if configured, Azure OpenAI / local Ollama; writes to the findings collection.
Frontend
Tek sayfa uygulaması. Axios + httpOnly cookie ile Backend'e bağlanır. Recharts/ECharts/React Flow tabanlı görselleştirme.Single-page application. Connects to the Backend via Axios + httpOnly cookie. Visualization based on Recharts/ECharts/React Flow.
MongoDB
Tek metadata deposu: kullanıcılar, kaynaklar, metrikler, bulgular, audit log. Production'da port dışa açılmaz, yalnızca container ağı.Single metadata store: users, resources, metrics, findings, audit log. In production the port is not exposed externally, only the container network.
İki kurulum modeli
Standart on-premise
İnternete bağlı Linux sunucu. install.sh ile Docker image'lar ACR'dan çekilir, docker-compose ile çalışır. Lisans güncellemeleri online.
İnternete kapalı kurulum
İnternete bağlı olmayan bankacılık/kamu ağları için. Docker image bundle (~3.5 GB) USB veya stage host üzerinden taşınır, lisans Ed25519 JWT olarak elden teslim. Detay →
Veri sınırı nerede çiziliyor?
- AI yalnızca bulgular üzerine yazar. İster bulut (Azure OpenAI) ister tamamen kurum içi (yerel Ollama) — yapay zeka danışmanı her iki modda da yalnızca üretilen bulgular üzerine yorum yazar; ham verileriniz modele gönderilmez. Air-gap ortamında lokal LLM ile internetsiz çalışır.
- Hedef veritabanlarına okuma yetkisi yeter. Sentinel hedef DB'lerde yazma yapmaz; toplama için
db_datareaderseviyesi izin yeterli.Read access to the target databases is enough. Sentinel does not write to the target DBs;db_datareader-level permission is sufficient for collection. - Kimlik bilgileri APP_ENC_KEY ile şifreli. 32 byte hex anahtarı kurum tarafından üretilir; DMC'de saklanmaz.Credentials are encrypted with APP_ENC_KEY. The 32-byte hex key is generated by the organization; it is not stored at DMC.
- Auth: oturum JWT'si HS256 + httpOnly cookie. Şifreler bcrypt ile hash'lenir, plaintext saklanmaz. (Lisans JWT'si ayrıca Ed25519 ile imzalanır.)Auth: session JWT is HS256 + httpOnly cookie. Passwords are hashed with bcrypt, never stored in plaintext. (The license JWT is additionally signed with Ed25519.)
- Audit chain (Pro+). Tüm değişiklikler HMAC zincirli kayıt — log tampering tespit edilebilir.Audit chain (Pro+). Every change is an HMAC-chained record — log tampering can be detected.
- Multi-tenant izolasyon.
$jsonSchemaile org_id enforcement, cross-tenant query leak engellenir.Multi-tenant isolation. org_id enforcement via$jsonSchemaprevents cross-tenant query leaks. - İstemci taraflı erişim: Frontend Backend'e
/api/v2/*üzerinden erişir; CSPdefault-src 'self'.Client-side access: the Frontend reaches the Backend over/api/v2/*; CSPdefault-src 'self'.