DMCDMC Bilgi Teknolojileri

One platform, full coverage

From performance monitoring to security audit, AI-powered root cause to enterprise alert delivery — every engine-agnostic capability of SentinelDB360 in one place.

Query, plan, resourcesecond-by-second visibility

Top Queries

Top query analysis

TOP-N analysis from each engine's native query store (Query Store, pg_stat_statements, performance_schema, currentOp); ranking by CPU, reads, execution count and duration.

  • Query-hash based history and trend
  • Resource scoring + classification
  • Query masking (anonymization)
Plan Analysis

Execution plan & plan cache

XML/JSON plan inspection, plan cache top consumers, regression detection, forced plan management (force/unforce). Query Store integration for SQL Server.

  • Plan handle deep dive (last actual stats)
  • Automatic Query Store regressions
  • Plan force / unforce action
Wait Stats

Wait analysis & trend

Wait stat categorization (CPU, I/O, lock, network), per-session wait stats, query memory grants and hourly wait trend charts.

  • Wait category distribution (donut)
  • Session wait + query wait stats
  • 1-168 hour trend window
Index Health

Missing & duplicate index

Missing index suggestions (impact score), duplicate index detection, fragmentation analysis, online rebuild action, fill factor analysis.

  • Missing index group + impact
  • Index physical stats (avg fragmentation)
  • Online rebuild + maintenance advisor
I/O & Storage

I/O latency & storage

File I/O latency (read/write ms), virtual file stats delta, disk volume usage, database file growth history, autogrow event tracking.

  • I/O delta engine (10s sample)
  • DB growth + autogrow events
  • Tempdb / temp tablespace monitoring
Live Monitor

Active sessions & live query

Active queries, sessions, blocking status, kill SPID action (system SPID protection), session input buffer and real-time WebSocket updates.

  • Live query monitor (top N)
  • Session input buffer inspection
  • Kill SPID — system SPID guard

Find the lead of the chain in one click

Blocking Tree

Blocking chain mapping

Tree of mutually waiting sessions visualized with React Flow. Path to lead session, lock type, wait time shown on each node. Sankey and list views.

  • React Flow blocking tree
  • Sankey diagram alternative
  • Threshold-based alerts (warning / critical ms)
Deadlock

Deadlock history

SQL Server deadlock_history XE event, MySQL InnoDB deadlock log, MongoDB lock conflict — engine-specific evidence collected and presented in a normalized history.

  • XE deadlock report parse
  • Victim SPID + winning SPID
  • Resource graph + SQL text
Long Tx

Long-running transactions

Transactions exceeding the threshold (default 5 min) detected; locked resources, log space consumption and session detail provided in context.

  • SQL Server: get_long_running_transactions
  • PostgreSQL: pg_stat_activity tx_start
  • Log space + version store impact
Action

Operational actions

One-click kill SPID, force/unforce plan, recompile procedure, update statistics, shrink log file from the UI. Audit log + confirmation dialog required.

  • Kill SPID — system SPID ≤ 50 protection
  • Update Statistics FULLSCAN
  • DBCC SHRINKFILE NO_INFOMSGS

Early warning before failover

Always On AG

SQL Server Always On

Availability Group status, replica role, sync mode, lag KB/sec, log send queue, redo queue, AG endpoint health, listener TCP, read-only routing.

  • Replica lag (sec + KB)
  • AG endpoint health
  • WSFC quorum status
PostgreSQL

Streaming & Logical

pg_stat_replication, replication slots, WAL archiver status, logical replication subscribers. Tracking archive lag and WAL bytes accumulating in slots.

  • Replication slot lag
  • WAL archiver status
  • Logical subscribers
MySQL

Group & Channel

Group replication members and status, replication channels, IO/SQL thread status, seconds behind master, GTID set drift.

  • performance_schema.replication_*
  • Group replication members
  • Channel error detection
MongoDB

Replica Set & Sharding

Replica set status, oplog window, member health, election timeout, sharding balancer status, chunk distribution, mongos round-robin.

  • replSetGetStatus
  • Oplog window (hours)
  • Sharding balancer
Backup

Backup chain validation

Backup history, full/diff/log chain validation, log shipping status, critical lag alarm (>1 hour). Recovery model changes are logged.

  • Backup chain (7 days)
  • Log shipping lag
  • Recovery model audit
Cluster

WSFC & quorum

Windows Server Failover Cluster nodes, quorum type and vote status, witness disk/share/cloud health, dynamic quorum decisions.

  • WSFC nodes + state
  • Quorum type + votes
  • Witness status

Continuous security scanning and health score

CIS Benchmark

Compliance dashboard

Engine-specific CIS-style security checks: weak passwords, sysadmin sprawl, public role grants, sa account status, default ports, is audit enabled?

  • SQL Server: 30+ tabs
  • PostgreSQL: pg_hba, RLS, controls
  • MySQL/MongoDB: engine-specific
Encryption

TDE / Always Encrypted

Transparent Data Encryption status, certificate expiry early warning, Always Encrypted column list, Dynamic Data Masking, Row Level Security coverage table.

  • TDE status + cert expiry
  • Always Encrypted columns
  • DDM & RLS audit
Audit

Audit log & Ledger

SQL Server Audit, PostgreSQL pgAudit, MySQL audit log, MongoDB audit. Plus SQL 2022+ Ledger table verification and immutable log review.

  • get_audit_logs (limit + filter)
  • Ledger blockchain verification
  • Failed login spike detection
Permission Matrix

Permission matrix

User / role / login permissions, orphan user detection, excessive sysadmin alert, login lockout policy, password expiry configuration.

  • Permission matrix (TTL cached)
  • Orphan users
  • Excessive sysadmin alert
XE Sessions

Extended Events & XE ring

Active XE sessions, target types, ring buffer status and XE overhead alert (high event rate). Crypto provider list, AG routing.

  • XE sessions + targets
  • Ring buffer event rate
  • Crypto providers + AG routing
RLS & PostgreSQL

Row Level Security

Coverage analysis of PostgreSQL RLS policies: which tables are enabled, FORCE RLS tables, are public-role policies present?

  • get_row_level_security
  • FORCE RLS tables
  • Policy impact analysis

Root cause & recommendations, without your data leaving

LiteLLM

Multi-provider architecture

Switch between Azure OpenAI (gpt-4o-mini default) and local Ollama with a single configuration, thanks to the LiteLLM abstraction layer. Platform-wide preference via AI_DEFAULT_PROVIDER.

  • Azure OpenAI: AZURE_OPENAI_ENDPOINT
  • Ollama: local, no internet required
  • Rule-based fallback (advisor.py)
Turkish

Native-language recommendations

With AI_LANG=tr, responses come in Turkish. DBA terminology, engine-specific references and evidence-based explanations; written, not translated.

  • Turkish DBA language
  • Engine-specific references
  • Evidence snippets + explanation
Root Cause

Anomaly & root cause

Plan change (regression), parameter sniffing, missing statistics, missing index, tempdb contention, parallelism (CXPACKET), capacity forecasting — contextual interpretation.

  • Plan regression analysis
  • Parameter sniffing detection
  • Disk growth projection
Data Sovereignty

On-Premise & air-gapped

In local AI (Ollama) mode no data leaves the organization. AI features fully work in air-gapped environments; query text is processed within the organization's network.

  • Air-gapped compatibility
  • Query text within org network
  • Query masking option

In the live demo 75+ collections are populated

On demo.sentineldb360.com, every engine is shown concretely — lock chains, replication topology, KVKK inventory, playbook library, executive KPIs. In production the same structure runs on the organization's own data.

🧠

AI-powered analysis flow

Sentinel generates engine-specific recommendations with Azure OpenAI or local Ollama: summary + 3–4-step action plan + confidence + estimated impact + estimated effort. The demo has 80+ sample recommendations (20 per engine).

  • Azure OpenAI (gpt-4o-mini) or local Ollama
  • TR / EN language option (AI_LANG)
  • Air-gapped: data never leaves the organization
📘

Playbook library

12 production-grade procedures: AG drift, frozen XID wraparound, metadata lock pt-osc, oplog flood, brute-force IP block, disk emergency, SSL renewal. Each playbook includes trigger + diagnostic + remediation + verification + rollback.

  • Approval required / optional distinction (destructive-action protection)
  • Execution history + audit trail
  • Sample runs in the demo (MTTR, approver, evidence)

Real-time recommendation feed

Actionable recommendations Sentinel analyzed in the last 15 minutes. For each: action SQL + rollback command + estimated impact + "one-click apply" status. Together with a confidence score.

  • CREATE INDEX CONCURRENTLY one click (PG)
  • Configuration recommendations (TLS, memory)
  • Cost optimization (RI, Azure Hybrid Benefit)
🎞️

Incident timeline replay

4 production-grade incident scenarios — minute-by-minute event history. Alert → page → diagnose → playbook → resolve. With MTTR, MTTA, root cause, lessons learned and impact estimate.

  • MSSQL AG failover (P1, RCA: app retry + AG network)
  • PG frozen_xid wraparound (P2, partitioning recommendation)
  • MongoDB ETL oplog flood (P2, batch redesign)
📈

Executive KPI history

12 KPIs × 90-day trend (uptime, MTTR, MTBF, P1 incidents, cost per query, compliance score, backup success, DR drill, DBA productivity). Quarterly board narrative + metrics-vs-targets table.

  • PDF export for the CIO board presentation
  • Trend + weekly seasonality detection
  • Target vs actual comparison
💬

DBA Copilot conversations

The demo has 4 sample multi-turn dialogues: DBA + junior DBA + compliance officer + SRE. Question → AI answer → applied action → audit trail. Gets a junior DBA going on their own.

  • A realistic answer to "the 5 slowest queries"
  • One-click "Apply Recommendation"
  • KVKK audit pack generated within 5 minutes

Transparency note: the items above are shown with data in the live demo environment. In a production deployment, AI recommendations and real-time recommendations are generated automatically; the playbook and incident history build up over the organization's real usage. Automatic playbook execution is opt-in (destructive actions require DBA approval).

New: 13 sprints of visible-feature parity completed (v1.7)

We delivered competitors' visible features on Sentinel's agentless framework — without installing an agent or touching the organization's DB server. Backed by 126 unit tests (108 backend + 18 frontend).

Transparency note: anomaly detection is a NumPy MAD 3σ statistical baseline — not an ML model (DataDog Watchdog LSTM/ARIMA). The widget library has 16 types; it is a subset of the Grafana plugin marketplace. Detailed comparison: comparison page.

📁

Folder Organization + Versioning

Organize dashboards into a folder hierarchy (max 3 levels, cycle check), with team-level viewer/editor/admin permissions. Automatic version history after every save → diff + rollback. Grafana parity S4+S5.

  • 50-version retention per layout
  • FolderTree drag-drop UI + permission modal
  • VersionHistoryDrawer timeline + restore
🔧

Maintenance Windows + Quick Mute

Mute the alert pipeline during one-time or recurring (daily / weekdays / weekly + midnight crossing) maintenance windows. Per-alert 1h / 6h / 24h / 7d quick mute. RedGate parity.

  • Recurrence + recurrence_end persist
  • Suppressed events written to the audit log
  • Cascade snooze: if the parent is muted, the child is too
🚨

Alert Engine Maturity

De-dup (15-min hash) + frequency cap (flood guard of 10 alerts/source per 60s) + parent/child correlation (high CPU → slow query matching) + cascade snooze. RedGate noise-reduction parity.

  • 100 alerts fire → max 10 dispatched (flood guard)
  • Heuristic taxonomy: root cause vs symptom
  • UI: AlertCenter expand/collapse grouped view
🎒

Dashboard JSON I/O

Config-as-code: export a dashboard as JSON, import into another organization — bulk transfer (max 50 layouts), schema version control, source_id substitution map. Grafana provisioning parity.

  • on_conflict: skip / rename / overwrite
  • ImportExportModal drag-drop file
  • Dry-run validate (reference source_id list)
📊

PG / MySQL Plan Regression

MSSQL plan_history parity has come to PostgreSQL + MySQL. pg_stat_statements + EXPLAIN JSON parse → written to the execution_plans + plan_history collections. Same query, different plan → regression flag. Provider depth.

  • PG: Seq Scan critical, Hash Join medium risk
  • MySQL: access_type ALL critical, range medium
  • Parameterized queries are skipped (read-only EXPLAIN)
🔎

Explore Mode — Ad-hoc SQL Workbench

Users write SELECT / WITH / EXPLAIN / SHOW — server-side regex+whitelist enforcement, 30s timeout, 1000-row cap, audit log. DML/DDL 403 reject. Grafana Explore parity (S8).

  • MSSQL + PG + MySQL support
  • Query history (per user, from the audit log)
  • MongoDB BSON in a future release
🔁

Transformations Pipeline

A client-side pipeline on widget data: filter / rename / groupBy + aggregate / sort / calculate / join / reduce. Drag-drop ordering, preview at each step. The backend is untouched. Grafana Transform parity (S10).

  • 7 transform types in pure JS
  • Safe formula evaluator (regex-limited)
  • /dashboard/transforms playground page
🔗

Public Snapshot Share

Share a snapshot of a dashboard via token + QR code, with an optional IP allowlist, without logging in. 15min / 1h / 24h / 7d expiry. Read-only, audited.

  • 22-char URL-safe base64 token (~128-bit entropy)
  • QR code for mobile presentation
  • IP allowlist (Enterprise)
📈

Smart Statistical Baseline (Anomaly Detection)

Hour-of-day MAD 3-sigma residual. High CPU at Monday 09:00 is "expected", Monday 03:00 is an anomaly. Expected-band shading + anomaly dots on Recharts. NumPy-only, not ML.

  • Hour-of-day seasonal baseline
  • Forecast: expected band for the next 24 hours
  • Live visualization on the InsightsV2 page
🛡️

RBAC Granular Permissions

3 roles (admin/editor/viewer) → 19-scope matrix. Custom grant/deny patch. Folder permission inheritance. DataDog RBAC parity.

  • Scope categories: dashboard / alert / source / settings / user / other
  • Role Builder in the Admin tab (org user dropdown)
  • Transparent permission list via /api/v2/rbac/scopes
📚

Library Panels

Save a widget config as a "Library Panel" → reference it across multiple dashboards. Edit the original → it updates in all references. Grafana parity (S6).

  • CRUD + link / unlink endpoints
  • Reference tracking: on delete, unlink in layouts
  • Widget config integration in a future release
📱

Mobile Responsive Sidebar

Hamburger menu + overlay drawer + backdrop for iPhone / Android viewports. Granular useMediaQuery breakpoint hooks. Per-page CSS sweep in a follow-up sprint.

  • Sidebar on mobile = overlay drawer
  • Hamburger Menu icon + Escape to close
  • Usable on iPhone 12 + Galaxy S20 viewports

Agentless mandate preserved: all 13 sprints work over Sentinel's existing read-only DB connections. We do not install any agent / binary on the target DB server. In government / defense / healthcare (KVKK + air-gap) environments this architectural decision is decisive.

The right time, the right person

Deduplication

SHA-256 alert dedup

Repeating alerts for the same root cause are merged into a single event via SHA-256 hash; one "ongoing incident" stream instead of spam.

  • Hash-based dedup key
  • First seen / last seen
  • Resolve count
Thresholds

Per-instance threshold

Instance-level thresholds for 9+ fields including CPU, memory, disk, blocking, connections. Personal override layer over platform defaults.

  • 9 tunable fields
  • Override + reset
  • Effective vs default comparison
Maintenance

Maintenance windows

Suppress alarm generation during patches. Cron patterns, per-engine selection, custom maintenance windows per alert type.

  • Window CRUD
  • Per alert type
  • is_in_maintenance helper
Channels

Email + Webhook

Email via SMTP (mail_service.py), JSON push to Slack / Teams / PagerDuty / custom services via Webhook integration. Per-channel template customization.

  • SMTP TLS / STARTTLS
  • Webhook JSON payload
  • Retry + backoff
Alert Types

Built-in alert types

Failed login spike, log shipping lag critical, excessive sysadmin, XE session high overhead, replication lag, disk threshold, CPU/memory critical, blocking warning.

  • 24+ built-in alert types
  • Severity: warning / critical
  • Audit log integration
Audit

Full audit trail

All operational actions like alarm trigger, threshold change, kill SPID, plan force are stored in audit_logs collection; who, when, what?

  • audit_logs MongoDB collection
  • Action + user + timestamp
  • Excel/PDF report export

Async, agentless, 5 microservices

Fully async with FastAPI + Motor (async MongoDB driver). Data collection and serving are decoupled; collector / ingestor / advisor scale independently.

Frontend React 19 · Nginx · :3000 Backend (API) FastAPI · async · :8001 MongoDB Motor async · sentinel_db Collector Scheduled · :8002 Ingestor Metrics intake · :8003 Advisor (AI) LiteLLM · Ollama · :8004 Target DBs SQL Server PostgreSQL MySQL MongoDB

Data flow: Frontend requests go to the Backend → the Collector pulls from target DBs with async drivers (pymssql · asyncpg · aiomysql · motor) pulls metrics → Ingestor writes to MongoDB → Advisor produces AI commentary.

Agentless

No installation on target servers. Only DB credentials are required.

Fully Async

FastAPI + Motor. The event loop never blocks — high concurrency.

200+ instances

TTL cache + timeout + graceful degradation banner support large inventories.

Observability

Prometheus metrics, deep /healthz, X-Request-ID + log correlation.

You can monitor the monitoring tool itself

SentinelDB360 exposes its own health to the outside world — Prometheus metric endpoint, subsystem-level readiness, request correlation IDs. Your SRE team can monitor the tool itself from Grafana.

Prometheus

/metrics endpoint

Runtime metrics exposed via prometheus_client 0.25 — HTTP request count, latency histogram, active WebSocket connections, process cpu/memory, custom counters.

  • sentinel_http_requests_total{method,path,status}
  • sentinel_http_latency_seconds (histogram)
  • sentinel_active_ws_connections (gauge)
/healthz

Deep readiness probe

A shallow ping isn't enough for Kubernetes / docker healthchecks. /healthz tests four subsystems individually: MongoDB ping, provider factory, license signature, mail handler. If any fails, it returns 503.

  • mongodb: ping + write probe
  • provider: factory smoke
  • license: signature verification
Tracing

X-Request-ID correlation

Every HTTP request gets a unique ID at the middleware layer; it is injected into every log line via ContextVar. You can grep a single user complaint ("I got an error when I clicked this button") end-to-end.

  • middleware/request_id.py
  • log filter (logging.Filter)
  • Race-safe with ErrorMailHandler
Auto Mail

Automatic error notifier

ERROR / CRITICAL log levels are automatically converted to email — stack trace + context to [email protected]. SHA-256 fingerprint with 15-minute dedup; you don't get flooded by the same error. Can be disabled via opt-out env.

  • Sent via M365 Graph API
  • 15-minute fingerprint dedup
  • Disable with DESTEK_MAIL_DISABLED env

Measure today, plan tomorrow

Capacity Planning

Linear regression + 95% confidence interval

Time-series projections for storage growth, connection trend, CPU and memory utilization. 95% prediction interval with z-score 1.96. Backs answers like "the disk fills in 73 days, plan +200GB" with data.

  • Storage / connection / CPU / memory
  • 95% prediction band — over/under risk
  • Anomaly threshold (CPU)
Multi-Tenant

Endpoint-level ownership isolation

Every endpoint that takes {source_id} goes through a dependency-injected tenant check (verify_source_ownership). Users cannot query sources they do not own; admin overrides are written to audit_logs.

  • Router-level dependency / per-endpoint guard
  • Admin override audit log
  • ARCH-003 spec compliant
Health Grade

A-F health report card

Comprehensive health-check score per engine (A: 90+, B: 75+, C: 60+, D: 40+, F: <40). A single-letter report card you can hand to management; every check is visible underneath.

  • /api/v2/health-check/{source_id}
  • Sourced from dms_jobs + metrics_ts
  • No mock — real data or empty
Reports Dashboard

Executive reports

DMS report aggregation — performance score trend, top issues, open findings. Tenant-filtered, builds an executive summary screen with a single API call.

  • /api/v2/reports-dashboard/{source_id}
  • A-F grade trend + top finding
  • Excel + PDF export ready

SaaS, IaaS, On-Premise. Your choice.

Cloud / SaaS

Zero infrastructure, start now

Connect to SentinelDB360 hosted on DMC infrastructure within seconds. Automatic updates, backups and scaling.

  • 5-minute setup — just DB connection
  • Automatic updates, zero maintenance
  • 99.9% uptime target · TLS encryption
  • Monthly or annual subscription
View plans →
On-Premise / IaaS

Full control on your own infrastructure

Deploy via Docker Compose + Azure Container Registry on your own servers within minutes. Air-gapped network compatible.

  • Single-command Docker Compose
  • Air-gapped compatible
  • Local AI (Ollama) option
  • LDAP / AD integration
Get in touch →

See the platform with your own eyes

In a 30-minute demo session, let's discuss your team's specific needs.