Synadia Insights

Architecture

Insights is a single binary with independently toggleable subsystems. You can run everything in one process, or split responsibilities across multiple instances to match your environment.

Subsystems

SubsystemPurpose
ScraperCollects monitoring data from a target NATS system's system account.
IndexerProcesses collected data into a time-series store for query and audit.
ChecksEvaluates automated audit checks after each collection cycle.
Web UIDashboard for interactive exploration of indexed data.
APINATS Micro service for programmatic access to indexed data.
SimulatorOptional in-process NATS deployment used for evaluation and demos.

Each subsystem can be enabled or disabled independently. This allows deployment topologies ranging from a single all-in-one process to distributed setups where scraping, indexing, and serving run on separate hosts. See the Deployment Guide for topology configurations.

Data Flow

Insights connects to the target NATS system using the system account, collects monitoring data on a recurring interval, and indexes it for query. Audit checks run after each indexing cycle. The Web UI and API serve the indexed data.

Collection is read-only. Insights does not modify the target system.

Epochs

Each collection cycle is called an epoch. An epoch captures a snapshot of the entire NATS deployment: servers, clusters, connections, streams, consumers, accounts, and their configuration and state. The default epoch interval is 1 minute.

Every piece of data Insights stores is associated with an epoch, which is what makes historical analysis (go back in time, compare states, audit what changed) possible.

Data Storage

Insights uses an embedded analytical database. By default, all data is held in memory and lost on process restart.

Set --data-dir to enable persistent storage. Insights will write:

  • The analytical database file containing all indexed time-series data.
  • Internal NATS JetStream state used for durable message transport between the scraper and indexer.

Retention is configurable by duration or by epoch count, so long-running deployments don't grow unbounded.

Deployment Topologies

Because subsystems toggle independently, Insights supports several operational shapes:

  • All-in-one. Every subsystem in a single process. The default and simplest topology.
  • Headless. No Web UI; the API remains available for programmatic access.
  • Indexer-only. Consume from an existing scrape stream produced by a separate scraper instance.
  • External sink. Use an external NATS cluster for the scraper-to-indexer transport, enabling multi-instance setups.

See the Deployment Guide for concrete configurations.

Audit Checks

After each epoch is indexed, Insights runs over 100 automated audit checks against the current state. Checks evaluate health, performance, error patterns, resource saturation, configuration consistency, and recent changes. Findings carry a severity, the affected entity, and remediation guidance. See Audit Checks.

Next Steps

Previous
Concepts