MonSPHERE
Platform

Built on open, proven infrastructure — not a black box

MonSPHERE isn't a proprietary metrics format wrapped in a dashboard. It's a real Prometheus and VictoriaMetrics stack, orchestrated by 21 purpose-built microservices, deployed with a single Docker Compose file.

Architecture

Every layer, real and documented

No layer here is aspirational — this is the actual stack running in production and in every self-hosted deployment.

API Gateway

One nginx-fronted unified Gateway routes every client request to the right backend service.

    JWT & API key auth
    Redis-backed rate limiting
    Request routing to 20+ services

Microservices

A modular monolith compiled into 21 independently deployable service binaries.

    api
    monitoring-api
    dashboard-api
    reporting-api
    platform-api
    agent-gateway
    alert-engine
    incident-service
    notification-service
    integration-api
    and more

Prometheus

The metrics collection and query engine every monitor, exporter, and agent reports through.

    Scrapes agent-managed exporters
    PromQL queries power dashboards
    Feeds Alertmanager directly

VictoriaMetrics

Long-term, cost-efficient time-series storage independent of Prometheus's local retention.

    Prometheus remote-write compatible
    Backs historical dashboards & reports
    Scales beyond single-node Prometheus

Alertmanager

Real alert routing, deduplication, and grouping — MonSPHERE's alert engine sits on top of it.

    Grouping & deduplication
    Routes into MonSPHERE's alert-engine
    Feeds incident-service automatically

NATS

The event bus connecting services — 22 real subjects span auth, monitoring, billing, and audit events.

    Async service-to-service events
    Decouples notification delivery
    Powers webhook-worker fan-out

PostgreSQL

A single shared database across every service — organizations, monitors, RBAC, billing, and audit all live here.

    One schema, no per-service DB sprawl
    Append-only audit_logs table
    Row-level multi-tenant isolation

Redis

Session cache, rate-limit counters, and short-lived challenge tokens (MFA, email verification).

    Fixed-window rate limiting
    MFA challenge tokens (5 min TTL)
    General response caching

Docker

Every service, and the entire dependency stack, ships as one Docker Compose deployment — 28 containers total.

    Multi-stage builds per service
    docker compose up -d and you're running
    Identical dev & production images
Data flow

From exporter to incident to dashboard

1

Agent installs an exporter

The MonSPHERE agent connects over mTLS gRPC and installs/supervises Prometheus exporters via the Docker Engine API.

2

Prometheus scrapes metrics

Metrics flow into Prometheus, which also feeds VictoriaMetrics for long-term retention.

3

Alert rules evaluate

Alertmanager and MonSPHERE's alert-engine evaluate thresholds and anomalies against live metrics.

4

Incidents & notifications fire

incident-service opens a tracked incident; notification-service and webhook-worker deliver it to Slack, PagerDuty, email, or a custom webhook.

5

Dashboards & reports render

dashboard-api and reporting-api query the same metrics to render live dashboards and generate scheduled PDF/XLSX reports.

21

Backend service binaries

28

Containers in one Compose stack

1

Shared PostgreSQL database, no sprawl

Start monitoring everything in minutes

Join thousands of teams who trust MonSPHERE to keep their systems online, fast, and observable.