Управление кардинальностью
Что такое cardinality
Количество уникальных комбинаций label-значений. Каждая комбинация = отдельный time series в TSDB. 10k series — ничего, 1M — больно, 10M — VM падает.
Главные источники взрыва
- user_id / session_id в лейблах — тысячи юзеров × N других лейблов = миллионы series
- HTTP path без templating —
/users/123/ordersвместо/users/:id/orders - Timestamps в лейблах — никогда
Как находить
GET /api/v1/orgs/:slug/metricsЗатем по подозрительной метрике:
GET /api/v1/orgs/:slug/metrics/:name/labelsЕсли значений > 1000 на label — это red flag.
Лечение
- Templating URL path (
/users/:id/...) - Drop labels на агенте через include/exclude конфигурацию
- Перенести user_id в logs, не в metrics