SynthIQ
Intelligent DICOM Load Balancer
live v last activity

Dashboard?

Active bindings
in h cache window
Cache hit rate
decisions / hits
C-STORE received
total since boot
Associations
opened / rejected
C-ECHO received
verification probes

Pools 0?

Loading pools…

Study-affinity cache 0?

Study UID Pool Backend Instances First seen Last seen Committed
No bindings yet — send a study to populate the cache.

Recent routing decisions 0?

At From Modality SUID → Backend Decision Status
No routing decisions yet.

Analytics

System Overview

Uptime
since boot
Active bindings
in cache window
Cache hit rate
decisions / hits
C-STORE received
total since boot
Associations
opened / rejected
C-ECHO received
verification probes
Backends healthy
of total
Commits
completed / pending

Queue Health aggregate across all healthy backends

Loading…

Destination Health per-backend heartbeat + queue + disk

Loading…

Processing Performance Association → Storage Commitment (ms)

Outbound Wait Time last C-STORE → Storage Commitment (ms)

Disk Usage cards + history (DCR-2026-495 Phase 2)

Loading…

Statistics routing events over time (DCR-2026-495 Phase 2)

Top Source AEs

none yet

Modality Mix

none yet

Fleet Analytics aggregated across all pool Routers

Fleet Overview

Nodes
/
healthy / total
Received 24h
across all Routers
Forwarded 24h
across all Routers
Active Assoc
in-flight right now
Avg Load
lower = less busy

Per-Router Snapshot

Node Status Rx 24h Fwd 24h Assoc Queues (proc/out/hold/fail) Load Disk Free Last seen
Loading…

Throughput Timeline

Queue Depth Timeline processing (solid) + outbound (dashed)

Pool Management

Logging

Source: · Modified: · Size:
Loading…

Settings read-only

Display Timezone
Controls how all dashboard timestamps render. Stored server-side under {dataDir}/display_timezone.json. Three-tier resolution: this setting (if set) → browser auto (if blank). Applies to every authenticated session.

Other SynthIqConfig values from appsettings.json below are read-only. Edit-capability for the rest is Phase 2 (RI-2026-084, post-conference). For now, edit appsettings.Production.json on the host and restart the service.

Loading…

Authentication

Session lifetime + account lockout policy. SynthIQ always requires login; toggling auth off is a deploy-time appsettings.json concern, not an operator-runtime control. LDAP/AD accounts follow Active Directory Group Policy and are not affected by the Max Login Attempts setting (Phase 3 will add the LDAP card).

How long a login session stays active without activity. 1..720 (30 days max).
Consecutive failed logins before lockout. 0 disables lockout. Default: 5.

Disk Space Monitor

Configure up to 10 drive paths to monitor independently. Each drive has its own alert threshold and enable toggle. Drives not listed here use the default threshold below; the Analytics > Disk Usage chart's alert line follows the per-drive value.

applied to any enumerated drive that doesn't have a per-drive override below

Disk Watermark Auto-Purge

When the data drive's used space exceeds the watermark, SynthIQ purges oldest rows from the analytics + affinity stores in the priority order below until usage drops to watermark − 5%. Independent of the standing 30-day analytics retention; both can run.

Reading /api/analytics/disk_usage
Allowed: analytics_disk_snapshots, analytics_routing_events, affinity_expired_bindings, log_files_oldest. SynthIQ has no at-rest DICOM blobs (three-property invariant); only metadata stores get pruned.

Email Notifications


Notify on

LDAP / Active Directory

When enabled, the login flow tries the local SynthIQ user store first; on miss, it falls through to LDAP/AD. Test Bind is on the Roles & LDAP page.

If set, login does a direct bind using {username} substitution. Leave blank to use service-account search-then-bind.
Map LDAP group DN → SynthIQ role. First match wins. Falls through to Default Role.

Support Agent

Roles & LDAP — custom roles + permission editing

License Activation