prometheus — скилл для Claude Code: что делает и как установить
Справочник по PromQL, правилам алертов Prometheus и маршрутизации Alertmanager. Помогает генерировать метрики, алерты и правила записи.
npx skills add grafana/skills --skill prometheus -a claude-codeЧто делает prometheus
Скилл содержит шаблоны запросов PromQL: селекторы мгновенных и диапазонных векторов, вычисление темпа через rate, агрегации sum by и квантили гистограмм. В него входят готовые формулы для расчёта доли ошибок 5xx, утилизации CPU и прогнозирования переполнения диска через функцию predict_linear.
Внутри описаны структуры правил алертинга и примеры конфигурации Alertmanager с маршрутизацией на Slack, PagerDuty или почту. Приведены команды проверки синтаксиса через promtool check rules и amtool check-config.
Для запуска инспекции через Metrics Drilldown без PromQL потребуется Grafana 12 или свежее. Скилл даёт только синтаксис и примеры: сам сервер Prometheus и консольные утилиты promtool должны быть уже развёрнуты в системе.
Какие задачи решает
- написать запрос PromQL для вычисления процента ошибок и утилизации ресурсов
- составить конфигурацию алертов для Prometheus и маршрутизацию в Alertmanager
- сформировать recording rules для предварительного расчёта тяжёлых метрик
- проверить корректность файлов правил утилитами promtool и amtool
Примеры запросов агенту
- Напиши recording rule для вычисления p99 задержки запросов
- Составь правило алерта Prometheus на высокую долю ошибок 5xx с отправкой в Slack
- Как проверить конфигурацию alertmanager.yml с помощью amtool?
Как установить prometheus
1Через Skills CLI (Vercel)
npx skills add grafana/skills --skill prometheus -a claude-code2Вручную: положить файлы
~/.claude/skills/prometheus/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/prometheus/
1Через Skills CLI (Vercel)
npx skills add grafana/skills --skill prometheus -a codex2Вручную: положить файлы
.agents/skills/prometheus/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add grafana/skills --skill prometheus -a cursor2Вручную: положить файлы
.cursor/skills/prometheus/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install grafana/skills prometheus2Вручную: положить файлы
.github/skills/prometheus/SKILL.md1Через Skills CLI (Vercel)
npx skills add grafana/skills --skill prometheus -a gemini-cli2Командой платформы
gemini skills install https://github.com/grafana/skills --path skills/grafana-lgtm/prometheusВручную: положить файлы
.devin/skills/prometheus/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add grafana/skills --skill prometheus -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о prometheus
Как установить prometheus в Claude Code?
Выполните команду npx skills add grafana/skills --skill prometheus -a claude-code в терминале.
Что делает скилл prometheus?
Он даёт ИИ-ассистенту готовые шаблоны PromQL, примеры правил алертов, структуры файлов Alertmanager и команды валидации.
Какая версия Grafana нужна для Metrics Drilldown?
Функция Metrics Drilldown для исследования метрик без написания PromQL работает в Grafana версии 12 и выше.
Исходный текст
SKILL.md · Apache-2.0
---
name: prometheus
license: Apache-2.0
description: >
Prometheus and Grafana Cloud Metrics overview including PromQL query language, Metrics Drilldown,
alerting, recording rules, and integration patterns. Use when working with Prometheus, writing PromQL
queries, configuring alerting, or discussing metrics architecture and best practices.
---
# Metrics with Prometheus and Grafana
> **Docs**: https://prometheus.io/docs/ | **Grafana Cloud Metrics**: https://grafana.com/docs/grafana-cloud/send-data/metrics/
## PromQL Quick Reference
### Instant Vector Selectors
```promql
# By metric name
http_requests_total
# Label filter
http_requests_total{job="api-server"}
# Multiple labels (AND)
http_requests_total{job="api-server", method="GET"}
# Regex
http_requests_total{job=~"api.*", status=~"5.."}
# Negative
http_requests_total{status!="200"}
```
### Range Vectors & Rates
```promql
# Per-second rate over 5 minutes
rate(http_requests_total[5m])
# Increase over interval
increase(http_requests_total[1h])
# Instant rate (last two samples)
irate(http_requests_total[5m])
# Offset (5 minutes ago)
rate(http_requests_total[5m] offset 5m)
```
### Aggregations
```promql
# Sum by label
sum by (job) (rate(http_requests_total[5m]))
# Average
avg by (instance) (node_cpu_seconds_total)
# Top-K
topk(5, rate(http_requests_total[5m]))
# Histogram quantiles
histogram_quantile(0.99, rate(http_request_duration_seconds_bucket[5m]))
# Count distinct
count(up{job="api"})
```
### Common Patterns
```promql
# Error rate percentage
sum(rate(http_requests_total{status=~"5.."}[5m]))
/ sum(rate(http_requests_total[5m])) * 100
# Saturation (CPU usage %)
100 - (avg by(instance) (irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)
# Memory usage
node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes
# Predict disk full (linear extrapolation)
predict_linear(node_filesystem_free_bytes[6h], 24*3600) < 0
```
## Alerting Rules
### Prometheus Alerting Rule
```yaml
groups:
- name: api_alerts
rules:
- alert: HighErrorRate
expr: |
sum(rate(http_requests_total{status=~"5.."}[5m]))
/ sum(rate(http_requests_total[5m])) > 0.05
for: 5m
labels:
severity: critical
annotations:
summary: "High 5xx error rate ({{ $value | humanizePercentage }})"
```
### Alertmanager Routing
```yaml
# alertmanager.yml
route:
receiver: default
group_by: [alertname, job]
group_wait: 30s
group_interval: 5m
routes:
- match:
severity: critical
receiver: pagerduty
- match:
severity: warning
receiver: slack
receivers:
- name: pagerduty
pagerduty_configs:
- service_key: "<key>"
- name: slack
slack_configs:
- channel: "#alerts"
api_url: "<webhook_url>"
- name: default
email_configs:
- to: "[email protected]"
```
### Validate Alerting Configuration
```bash
promtool check rules rules.yml
amtool check-config alertmanager.yml
amtool config routes test --config.file=alertmanager.yml severity=critical
```
## Recording Rules
Pre-compute expensive PromQL for dashboard performance:
```yaml
groups:
- name: api_rules
interval: 1m
rules:
- record: job:http_requests:rate5m
expr: sum by (job) (rate(http_requests_total[5m]))
- record: job:http_request_duration_seconds:p99
expr: histogram_quantile(0.99, sum by (job, le) (rate(http_request_duration_seconds_bucket[5m])))
```
### Deploy and Verify Recording Rules
```bash
# 1. Validate rule syntax
promtool check rules rules/recording.yml
# 2. Reload Prometheus (after adding to rule_files in prometheus.yml)
curl -X POST http://localhost:9090/-/reload
# 3. Verify rules are active
curl -s http://localhost:9090/api/v1/rules | jq '.data.groups[].rules[] | {name, health}'
```
## Metrics Drilldown (Grafana 12+)
Queryless Prometheus exploration — browse metrics without writing PromQL. Navigate to
**Explore > Metrics Drilldown** or use `<grafana-url>/a/grafana-metricsdrilldown-app`.
Provides metric search with label breakdown, smart segmentation for anomaly detection,
auto-visualization, and telemetry pivoting from metrics to related logs and traces.
## Resources
- [PromQL Reference](https://prometheus.io/docs/prometheus/latest/querying/basics/)
- [Grafana Cloud Metrics](https://grafana.com/docs/grafana-cloud/send-data/metrics/)
- [Metrics Drilldown App](https://github.com/grafana/metrics-drilldown)
- [Grafana Alerting](https://grafana.com/docs/grafana/latest/alerting/)
- [Grafana Mimir](https://grafana.com/docs/mimir/latest/)
© grafana · Apache-2.0 · grafana/skills