MainsKeeper Product & System Guide Edition 0.2.3

Chapter 6 · architecture paths

Deployment and monitoring integration choices

Shared collector and evidence concepts support a standalone scrape path and a centralized MainsKeeper platform. They solve different jobs.

Standalone monitoring versus centralized platform. Prometheus scrapes the collector. Grafana queries Prometheus. Telemetry goes collector, buffer, ingestion, history. Enrollment only establishes identity.

Figure 14. Standalone monitoring vs centralized MainsKeeper platform

Takeaway: Prometheus scrapes the collector, and Grafana queries Prometheus. Telemetry is collector, then buffer, then ingestion, then history. Enrollment only establishes identity. Fleet views, alerts, and Assurance read stored state. The open boxes are not chosen by the drawing.

Storage layers

Figure 13. Current state · raw history · aggregates · durable evidence

Takeaway: Ingestion writes current state and raw history. Rollups and Assurance read that store. Prometheus is connected only to current gauges.

Path A — Standalone collection

Proposed Operate the collector primarily as a metrics source for an existing Prometheus / Grafana stack. Still keep a local buffer if you care about WAN gaps. A rollup in Grafana does not recreate a dropped span. You do not automatically get fleet enrollment UX, Battery Assurance findings, or cross-site incident timelines.

Path B — Centralized platform

Accepted as product direction in the design handoff: dashboard enrollment, site-first fleet views, history, alerts, Assurance. Open backend runtime, storage engine, production retention, and exact API transport.

Explicit Open implementation decisions

Proposed extensions

UniFi and modem diagnostics are Proposed extensions only. Connectivity targets and checks relationships are Accepted concepts; vendor-specific UniFi/modem integrations are not Accepted platform features.