К основному содержанию
скилл CX Codex

dpm-finder — скилл для Claude Code: что делает и как установить

Скилл помогает найти метрики Prometheus с наибольшим числом точек в минуту в Grafana Cloud и выявить причины растущих расходов на мониторинг.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add grafana/skills --skill dpm-finder -a claude-code
Открыть на GitHub

Что делает dpm-finder

Скилл обучает агента работе с CLI-утилитой dpm-finder от команды Grafana Professional Services. Инструмент ранжирует метрики Prometheus по показателю Data Points per Minute (DPM) и показывает разбивку по комбинациям лейблов. Это позволяет отследить источники высокой кардинальности и рассчитать затраты через флаг --cost-per-1000-series.

Для запуска требуются Python 3.9+ и API-токен с областью доступа metrics:read. В качестве имени пользователя Prometheus обязательно передаётся числовой идентификатор стека Grafana Cloud. Без него авторизация завершится с ошибкой 401. Утилита поддерживает выгрузку отчёта в JSON и умеет отдавать данные в режиме Prometheus-экспортёра. При сканировании нескольких стеков автор рекомендует ограничиться тремя одновременными процессами, чтобы не вызвать блокировку по лимитам запросов.

Какие задачи решает

  • найти метрики с наибольшим расходом DPM в Grafana Cloud
  • локализовать связки лейблов с высокой кардинальностью
  • рассчитать расходы на серии метрик через параметры тарификации
  • сравнить кардинальность до и после внедрения правил агрегации

Примеры запросов агенту

  • Найди метрики, которые создают больше всего DPM в моём стеке Grafana Cloud.
  • Запусти dpm-finder и покажи топ-10 самых дорогих метрик с разбивкой по лейблам.
  • Просканируй Prometheus эндпоинт и выгрузи метрики с DPM выше 2.0 в JSON.

Как установить dpm-finder

1Через Skills CLI (Vercel)

npx skills add grafana/skills --skill dpm-finder -a claude-code

2Вручную: положить файлы

~/.claude/skills/dpm-finder/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/dpm-finder/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о dpm-finder

Как установить dpm-finder в Claude Code?

Выполните команду npx skills add grafana/skills --skill dpm-finder -a claude-code.

Что делает скилл dpm-finder?

Он направляет агента при анализе метрик Prometheus в Grafana Cloud, ранжируя их по числу точек данных в минуту (DPM) и комбинациям лейблов.

Что делать при ошибках 401 или 403 при сканировании?

Проверьте права API-ключа: для него требуется скоуп metrics:read. Также убедитесь, что в качестве логина указан именно числовой ID стека.

Исходный текст

SKILL.md · Apache-2.0
---
name: dpm-finder
license: Apache-2.0
description: Find the Prometheus metrics that drive your Grafana Cloud bill. `dpm-finder` is a Grafana Professional Services CLI that ranks metrics by Data Points per Minute (DPM) with per-label-set breakdown, optional `--cost-per-1000-series` pricing, and a Prometheus-exporter mode. Use when investigating high Grafana Cloud spend, hunting noisy / high-cardinality metrics, comparing pre/post recording-rule cardinality, or feeding cost data into dashboards — even when the user says "why is my Mimir bill so high?", "find the biggest metrics", "cardinality offenders", or "optimize Prometheus cost" without naming dpm-finder.
---

# dpm-finder

Grafana PS tool ranking Prometheus metrics by DPM with per-series breakdown. Source: https://github.com/grafana-ps/dpm-finder

## Prerequisites

- Python 3.9+
- A Grafana Cloud Prometheus endpoint URL + numeric stack ID + API key (`glc_…`, `metrics:read` scope)

## Common Workflows

### One-shot analysis (most common)

```bash
# 1. Clone + venv + install
git clone https://github.com/grafana-ps/dpm-finder.git
cd dpm-finder
python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt

# 2. Configure creds — copy .env_example → .env and fill in:
#    PROMETHEUS_ENDPOINT  https://prometheus-<cluster_slug>.grafana.net  (NOTHING after .net)
#    PROMETHEUS_USERNAME  <numeric stack id>
#    PROMETHEUS_API_KEY   glc_…

# 3. Verify creds before scanning — should return >0 series count
curl -s -u "$PROMETHEUS_USERNAME:$PROMETHEUS_API_KEY" \
  "$PROMETHEUS_ENDPOINT/api/v1/label/__name__/values" | jq '.data | length'

# 4. Run the scan (10-min lookback, 2.0 DPM minimum, top output)
./dpm-finder.py -f json -m 2.0 -t 8 --timeout 120 -l 10

# 5. Read the result — top 10 metrics by DPM
jq -r '.metrics | sort_by(-.dpm) | .[:10][] | "\(.dpm)\t\(.series_count)\t\(.metric_name)"' metric_rates.json
```

If step 5 is empty, lower `-m` or confirm the endpoint URL has no trailing path after `.net`.

### Discover stack details with `gcx`

If [gcx](https://github.com/grafana/gcx) is installed it can derive the endpoint + username:

```bash
gcx config check          # active stack context
gcx config list-contexts  # all configured stacks
gcx config view           # full config with endpoints
```

The Prometheus endpoint pattern is `https://prometheus-{cluster_slug}.grafana.net`. Username is the numeric stack ID.

Without gcx: look up in the Grafana Cloud portal, or query `grafanacloud_instance_info{name=~"STACK_NAME.*"}` on the usage datasource.

### Multi-stack runs

Limit to **max 3 concurrent** runs to avoid GCloud rate limits. Batch the stacks and wait for each batch before the next.

## Interpreting results

- **DPM** = max data points per minute across that metric's series
- **series_count** = active time-series count for that metric
- **series_detail[]** (JSON / text only) = per-label-combination DPM breakdown — use this to spot the offending label
- Sort by DPM descending → noisiest metrics; combine with `--cost-per-1000-series` to prioritize by spend

## Troubleshooting

- **401 / 403** — API key invalid or missing `metrics:read`; confirm `PROMETHEUS_USERNAME` is the numeric stack ID
- **Timeouts** — bump `--timeout` to 120+ for stacks with thousands of metrics
- **HTTP 422** — metric has aggregation rules; tool warns + skips automatically
- **Empty results** — lower `-m`; verify endpoint has no trailing path
- **Connection errors** — exponential backoff retries up to 10 times; persistent failure usually = network/firewall

## References

- [`references/cli.md`](references/cli.md) — full flag reference, output-format details, exporter mode, Docker invocation, auto-exclusion rules, retry behavior

## Resources

- [dpm-finder GitHub](https://github.com/grafana-ps/dpm-finder)
- [gcx](https://github.com/grafana/gcx)

© grafana · Apache-2.0 · grafana/skills

Похожие скиллы

Всё по теме «DevOps и инфраструктура» →
monitoring-observability ahmedasmar Скилл для настройки мониторинга и наблюдаемости: стратегия метрик, алерты, дашборды, SLO и разбор инцидентов. CX Codex +1 493установок grafana-dashboards Seth Hobson Скилл помогает создавать Grafana-дашборды для метрик систем и приложений. Подойдёт для мониторинга, SLO и операционных интерфейсов наблюдаемости. CX Codex 13 097установок slo-implementation Seth Hobson Помогает задать измеримые цели надёжности, считать запас ошибок и настраивать оповещения. Пригодится, когда нужно отслеживать доступность и задержку сервиса. CX Codex 10 400установок promql-cli samber Скилл учит агента гонять PromQL через CLI promql-cli: instant- и range-запросы, поиск метрик, вывод таблицей, CSV, JSON или графиком. CX Codex +1 4 400установок qdrant-monitoring qdrant Скилл подсказывает, как настроить мониторинг Qdrant и разобраться с зависшим оптимизатором, ростом памяти или медленными запросами. CX Codex +1 1 500установок cost-export ruvnet Выгружает телеметрию расходов агента в формате Prometheus textfile или отправляет JSON через вебхук для внешнего мониторинга. CX Codex +1 681установок

Из того же набора47

pyroscope Скилл для непрерывного профилирования приложений через Grafana Pyroscope: флейм-графы CPU, памяти и аллокаций прямо в диалоге с агентом. CX Codex +1 4 700установок beyla Автоматически подключает eBPF-мониторинг HTTP, gRPC и баз данных через Grafana Beyla без изменения кода. Пригодится для сбора трейсов и RED-метрик с готовых бинарников. CX Codex +1 4 700установок app-observability Ведёт агента по настройке Grafana Cloud: RED-метрики из OTel-трейсов, карты сервисов, браузерный RUM через Faro и наблюдение за вызовами LLM. CX Codex +1 4 400установок infrastructure Настраивает передачу метрик, логов и трейсов из Kubernetes, Linux-хостов и облаков в Grafana Cloud. Пригодится при подключении кластеров и виртуалок. CX Codex +1 4 300установок oncall-irm Помогает агенту настроить маршрутизацию алертов, дежурные ротации и жизненный цикл инцидентов в Grafana IRM / OnCall. CX Codex +1 4 200установок send-data Помогает настроить отправку метрик, логов, трейсов и профилей в Grafana Cloud. Пригодится при настройке Alloy, OTLP-экспортёров, Prometheus remote write и Helm-чартов. CX Codex +1 4 200установок fleet-management Скилл для управления парком коллекторов Grafana Alloy: один раз описать пайплайн, раскатать его на нужные коллекторы по атрибутам и без перезапуска. CX Codex +1 4 200установок cost-management Скилл разбирает счёт Grafana Cloud по командам и сервисам и подсказывает, как урезать метрики, логи и трейсы. CX Codex +1 4 200установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой