Use a metrics backend for collection, storage, querying, and alerting, then layer a visualisation tool on top for dashboards and shared analysis. This separation keeps each component focused on its strength and reduces unnecessary complexity. In practice, teams can collect time-series data centrally, then build role-specific views for operations, engineering, and leadership without forcing one tool to do every job.
Why This Matters for Security Teams
Metrics collection and dashboarding solve different problems, and observability gets weaker when teams try to collapse them into one layer. Collection needs durable ingestion, retention, querying, and alert evaluation. Dashboards need fast rendering, consistent labels, and views that are tailored to the audience. When those responsibilities are separated cleanly, teams can change visualisation patterns without disturbing the metric pipeline, and they can improve alerting without redesigning every dashboard.
This separation also reduces the temptation to treat dashboards as the source of truth for operational decision-making. A dashboard is a lens on the data, not the system that preserves it. That distinction matters during incidents, when engineers need reliable query paths and leadership needs a stable summary view, even if the front-end visual layer is slow or temporarily unavailable. In practice, teams usually discover this only after a dashboard becomes overloaded with alert logic and ad hoc reporting instead of being used as a presentation layer.
How It Works in Practice
A common pattern is to centralise metric ingestion in one backend, then connect one or more visualisation tools to that backend. The backend handles the mechanics that are expensive or stateful: time-series storage, retention policies, query execution, label handling, and alert evaluation. The dashboard layer focuses on how people consume the data, including executive summaries, service health views, and drill-down panels for on-call staff.
That split works best when teams treat dashboards as products for specific decisions. Operational dashboards should emphasise latency, error rate, saturation, and dependency health. Engineering dashboards can go deeper into release impact, capacity trends, and component-level diagnostics. Leadership views should compress the same underlying data into service availability, incident frequency, and risk trend indicators without forcing a second data model.
- Use one metrics source of truth so alerting and reporting do not diverge.
- Normalise labels and naming early so dashboard queries stay reusable.
- Keep expensive calculations in the backend where possible, not in every dashboard panel.
- Apply retention and downsampling rules according to the decision horizon of the metric.
This guidance breaks down when teams let the visual layer become the only place where business logic lives, because the dashboards then turn brittle, slow, and hard to audit.
Common Variations and Edge Cases
Tighter separation often adds some upfront modelling work, so teams have to balance clean architecture against the effort of maintaining shared metric definitions and query conventions. The payoff is usually worth it once more than one audience depends on the same data, but very small teams sometimes accept a lighter setup if the tooling overhead would exceed the operational gain.
One variation is to use a single backend with multiple dashboard tools, especially when different groups prefer different layouts or permissions. Another is to keep alerting tightly coupled to the metrics backend while allowing dashboards to evolve independently, which is usually the safer default. The main exception is exploratory work, where analysts may temporarily build one-off panels or derived queries directly in the visual layer before those views are standardised.
Best practice is evolving around whether to compute derived metrics in the backend or in the dashboard layer, but the general rule is to place reusable, operationally important logic as close to the metrics store as possible. That preserves consistency and avoids silent drift between teams. The hardest edge case is when product, operations, and leadership all want different definitions of the same service health signal, because that can create competing dashboards built from the same raw data.
Practitioner Guidance
What to prioritise: Prioritise a single metrics pipeline and a small set of shared definitions before designing attractive dashboards. If the same signal is represented differently across teams, the observability stack will produce disagreement instead of insight.
Decision rule: If a calculation is needed for alerting, incident response, or repeated analysis, keep it in the metrics backend. If a calculation only changes presentation or audience context, keep it in the dashboard layer.
What good looks like: The backend owns ingestion, retention, query, and alerting logic, while dashboards are free to vary by audience without changing the underlying meaning of the data.
Practitioner takeaway: The most reliable observability stacks make the data plane boring and stable, then let the presentation layer adapt to people, not the other way around.
Related resources from NHI Mgmt Group
- How should security teams classify AI agent traces without overloading their observability stack?
- How should teams instrument Java LLM applications for observability without rebuilding their monitoring stack?
- What is the difference between dashboarding authorization metrics and having usable authorization observability?
- How should teams implement OpenTelemetry Collector Contrib in a production observability stack?