High-cardinality tags multiply one metric into many distinct time series, which increases storage, query load, and alerting overhead. The issue is not the metric itself but the uniqueness of the labels attached to it. Identifiers that look useful in code often become expensive at scale.
Why This Matters for Security Teams
High-cardinality metric tags are a cost problem because they turn observability into a storage and query scaling problem, not just a telemetry design choice. A tag such as user ID, request ID, container ID, or full URL can explode the number of unique time series and force monitoring platforms to retain, index, and scan far more data than planned. That drives both direct spend and operational drag when dashboards, alerts, and investigations slow down. The same pattern also makes it harder to define stable security signals, because noisy labels fragment what should have been one measurable control.
Security teams should treat tag design as part of telemetry governance. The practical question is not whether a label is convenient in code, but whether it is stable enough to support incident response, trend analysis, and alerting at scale. This is consistent with the control discipline encouraged by the NIST Cybersecurity Framework 2.0, where measurement only helps if it is usable and repeatable. In practice, many teams discover the real cost only after a dashboard or billing review shows that one “helpful” tag created millions of series and masked the signal they needed most.
How It Works in Practice
Metric backends usually store each unique combination of metric name plus tag values as a separate time series. When the tag set includes values that change for every request, session, host, or object, the platform no longer sees one metric with dimensions. It sees a large population of near-unique streams that must be ingested, indexed, compacted, retained, and queried independently. That affects compute, memory, storage, and network traffic. The result is often higher cost per unit of visibility, which is the opposite of what observability is meant to achieve.
Operationally, the issue shows up in three places:
Ingestion: more series means more metadata and more write overhead.
Querying: dashboards and searches fan out across many series, increasing latency.
Alerting: rules that should watch a population instead evaluate too many distinct streams, creating noise and extra evaluation cost.
Good practice is to keep tags bounded, stable, and useful for aggregation. Security and platform teams should prefer service, environment, region, and workload class over per-request or per-user identifiers unless there is a very specific investigative need. Where fine-grained attribution is required, current guidance suggests keeping that data in logs or traces rather than in metrics, because metrics are optimized for aggregation, not identity-level detail. For implementation guidance on signal design and telemetry hygiene, the CISA Secure by Design guidance is a useful reminder that defaults should reduce operational burden rather than amplify it. These controls tend to break down when engineering teams auto-tag every event with request-scoped identifiers because the metric pipeline then loses its ability to aggregate efficiently.
Common Variations and Edge Cases
Tighter tag governance often improves cost control and query performance, but it can reduce the speed of root-cause analysis if teams remove labels that investigators actually need. That tradeoff is real, and best practice is evolving rather than universal. Some organisations can safely support moderately rich tags if they enforce strong cardinality budgets, short retention, and clear naming standards. Others, especially those with rapid microservices growth or tenant-heavy SaaS workloads, need much stricter limits because each new customer, pod, or endpoint can multiply series counts quickly.
The edge cases are usually about intent. A tag that is harmless in a low-volume dev environment can become expensive in production once it is attached to high-frequency metrics. High-cardinality labels are also more dangerous when they appear in automated alert rules, because every unique value can become a separate evaluation path. Where identity or tenant attributes must be retained, consider whether the data belongs in logs, traces, or security events instead of metrics. This distinction matters because metrics answer “how much” and “how often,” while investigation workflows often need “who” and “which one.” The high-cardinality guidance widely discussed by observability practitioners aligns with that principle, even though there is no universal standard for tag budgets yet.
Standards & Framework Alignment
This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.
OWASP Agentic AI Top 10 and MITRE ATLAS address the attack and risk surface, while NIST CSF 2.0, NIST AI RMF and NIST AI 600-1 set the governance and control requirements practitioners need to meet.
| Framework | Control / Reference | Relevance |
|---|---|---|
| NIST CSF 2.0 | DE.CM | Telemetry must remain usable for continuous monitoring and detection. |
| NIST AI RMF | GOVERN | Governance is needed so telemetry design does not undermine control objectives. |
| OWASP Agentic AI Top 10 | Agentic systems can emit noisy telemetry that amplifies cost and obscures behavior. | |
| MITRE ATLAS | Adversaries can exploit noisy telemetry to hide malicious activity or exhaust budgets. | |
| NIST AI 600-1 | GenAI systems need output and telemetry controls that preserve observability quality. |
Limit metric cardinality so monitoring data stays searchable and operationally useful.
Related resources from NHI Mgmt Group
Deepen Your Knowledge
Reviewed and updated by the NHIMG editorial team on August 19, 2026.
NHI Mgmt Group — the #1 independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org