Gestión de la cardinalidad

Qué es la cardinalidad

El número de combinaciones únicas de valores de label. Cada combinación = una time series distinta en la TSDB. 10k series no es nada, 1M duele, 10M tumba la TSDB.

Las principales fuentes de explosión

  1. user_id / session_id en labels — miles de usuarios × N labels más = millones de series
  2. Path HTTP sin templating/users/123/orders en vez de /users/:id/orders
  3. Timestamps en labels — nunca

Cómo encontrarlo

GET /api/v1/orgs/:slug/metrics

Luego, para una métrica sospechosa:

GET /api/v1/orgs/:slug/metrics/:name/labels

Más de 1000 valores por label es un red flag.

El remedio

  • Templating del path de URL (/users/:id/...)
  • Drop de labels en el agente vía configuración include/exclude
  • Mover user_id a logs, no a métricas