Claude Code Plugins

Community-maintained marketplace

Feedback

Query and interact with Prometheus HTTP API for monitoring data. Use when Claude needs to query Prometheus metrics, execute PromQL queries, retrieve targets/alerts/rules status, access metadata about series/labels, manage TSDB operations, or troubleshoot monitoring infrastructure. Supports instant queries, range queries, metadata endpoints, admin APIs, and alerting information.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name prometheus-api
description Query and interact with Prometheus HTTP API for monitoring data. Use when Claude needs to query Prometheus metrics, execute PromQL queries, retrieve targets/alerts/rules status, access metadata about series/labels, manage TSDB operations, or troubleshoot monitoring infrastructure. Supports instant queries, range queries, metadata endpoints, admin APIs, and alerting information.

Prometheus API Skill

Query Prometheus monitoring systems via HTTP API at /api/v1.

Quick Reference

Instant Query

curl 'http://<prometheus>:9090/api/v1/query?query=<promql>&time=<timestamp>'

Range Query

curl 'http://<prometheus>:9090/api/v1/query_range?query=<promql>&start=<ts>&end=<ts>&step=<duration>'

Response Format

All responses return JSON:

{
  "status": "success" | "error",
  "data": <result>,
  "errorType": "<string>",
  "error": "<string>",
  "warnings": ["<string>"]
}

HTTP codes: 400 (bad params), 422 (expression error), 503 (timeout).

Query Endpoints

Endpoint Purpose Key Parameters
/api/v1/query Instant query query, time, timeout, limit
/api/v1/query_range Range query query, start, end, step, timeout, limit
/api/v1/format_query Format PromQL query
/api/v1/series Find series by labels match[], start, end, limit
/api/v1/labels List label names start, end, match[], limit
/api/v1/label/<name>/values Label values start, end, match[], limit
/api/v1/query_exemplars Query exemplars query, start, end

Metadata & Status Endpoints

Endpoint Purpose
/api/v1/targets Target discovery status (state=active|dropped|any)
/api/v1/targets/metadata Metric metadata from targets
/api/v1/metadata All metric metadata
/api/v1/rules Alerting/recording rules
/api/v1/alerts Active alerts
/api/v1/alertmanagers Alertmanager discovery
/api/v1/status/config Current config YAML
/api/v1/status/flags CLI flags
/api/v1/status/runtimeinfo Runtime info
/api/v1/status/buildinfo Build info
/api/v1/status/tsdb TSDB cardinality stats
/api/v1/status/walreplay WAL replay progress

Admin Endpoints (require --web.enable-admin-api)

Endpoint Method Purpose
/api/v1/admin/tsdb/snapshot POST Create TSDB snapshot
/api/v1/admin/tsdb/delete_series POST Delete series (match[], start, end)
/api/v1/admin/tsdb/clean_tombstones POST Clean deleted data

Common PromQL Patterns

# Rate of counter over 5m
rate(http_requests_total[5m])

# Sum by label
sum by (job) (rate(http_requests_total[5m]))

# Percentile from histogram
histogram_quantile(0.95, rate(http_request_duration_seconds_bucket[5m]))

# Filter by label
up{job="prometheus", instance=~".*:9090"}

# Increase over time
increase(http_requests_total[1h])

# Average over time range
avg_over_time(process_cpu_seconds_total[5m])

Result Types

  • vector: [{"metric": {...}, "value": [timestamp, "value"]}]
  • matrix: [{"metric": {...}, "values": [[ts, "val"], ...]}]
  • scalar: [timestamp, "value"]
  • string: [timestamp, "string"]

Scripts

Query script: scripts/prom_query.py

# Instant query
python scripts/prom_query.py http://localhost:9090 'up'

# Range query
python scripts/prom_query.py http://localhost:9090 'rate(http_requests_total[5m])' \
  --start '2024-01-01T00:00:00Z' --end '2024-01-01T01:00:00Z' --step '1m'

# Output: table, json, csv
python scripts/prom_query.py http://localhost:9090 'up' --format table

Health check: scripts/prom_health.py

python scripts/prom_health.py http://localhost:9090

Detailed Reference

For complete API documentation: references/api_reference.md

For PromQL functions: references/promql_functions.md