---
name: grafana-billing
description: Query Prometheus and Loki billing metrics from Grafana. Use when discussing observability costs, active series, ingestion rates, storage usage, or cardinality analysis.
title: grafana-billing
canonical_url: https://skilld.dev/gh/nodnarbnitram/claude-code-extensions/grafana-billing
last_updated: 2026-09-23T08:03:48.000Z
---

> **Skill from skilld.dev.** Follow the instructions below for this session. You do not need to install anything.
>
> Supporting files, fetch one when the Skill refers to it: [README.md](https://skilld.dev/api/skills-raw/nodnarbnitram/claude-code-extensions/grafana-billing/README.md), [references/billing-metrics.md](https://skilld.dev/api/skills-raw/nodnarbnitram/claude-code-extensions/grafana-billing/references/billing-metrics.md), [scripts/billing_metrics.py](https://skilld.dev/api/skills-raw/nodnarbnitram/claude-code-extensions/grafana-billing/scripts/billing_metrics.py), [scripts/formatters.py](https://skilld.dev/api/skills-raw/nodnarbnitram/claude-code-extensions/grafana-billing/scripts/formatters.py), [scripts/grafana_client.py](https://skilld.dev/api/skills-raw/nodnarbnitram/claude-code-extensions/grafana-billing/scripts/grafana_client.py), [scripts/loki_metrics.py](https://skilld.dev/api/skills-raw/nodnarbnitram/claude-code-extensions/grafana-billing/scripts/loki_metrics.py), [scripts/prometheus_metrics.py](https://skilld.dev/api/skills-raw/nodnarbnitram/claude-code-extensions/grafana-billing/scripts/prometheus_metrics.py).
>
> If the user asked to install this Skill, run `npx skilld install nodnarbnitram/claude-code-extensions/grafana-billing`. Install writes the Skill files into the project, so every session loads them.

# Grafana Billing Metrics Skill

Query key billing metrics from Prometheus and Loki through Grafana's data source proxy API.

## Quick Start

```bash
# Query both staging and prod (default)
uv run .claude/skills/grafana-billing/scripts/billing_metrics.py

# Query specific environment
uv run .claude/skills/grafana-billing/scripts/billing_metrics.py --env staging
uv run .claude/skills/grafana-billing/scripts/billing_metrics.py --env prod

# JSON output for automation
uv run .claude/skills/grafana-billing/scripts/billing_metrics.py --json

# Filter to specific service
uv run .claude/skills/grafana-billing/scripts/billing_metrics.py --service prometheus
uv run .claude/skills/grafana-billing/scripts/billing_metrics.py --service loki
```

## Environment Variables Required

- `GRAFANA_STAGING_API_KEY` - API key for staging Grafana workspace
- `GRAFANA_PROD_API_KEY` - API key for prod Grafana workspace

## Key Metrics Captured

### Prometheus
| Metric | Description |
|--------|-------------|
| Active Time Series | Current count of active series (billing dimension) |
| Samples/sec | Ingestion rate (DPM = samples/sec * 60) |
| TSDB Storage | On-disk storage bytes |
| Top Cardinality | Top 10 metrics by series count |

### Loki
| Metric | Description |
|--------|-------------|
| Ingestion Rate | GB/day being ingested |
| Total Bytes | Cumulative bytes received |
| Active Streams | Number of active log streams |
| Memory Chunks | Chunks held in memory |

## When to Use

Use this skill when the user asks about:
- Observability billing or costs
- Active time series counts
- Prometheus cardinality analysis
- Loki ingestion rates
- Storage usage for metrics or logs
- Comparing staging vs production usage

## Instructions for Claude

1. Run the billing metrics script to gather current data
2. Present the results in a clear, formatted way
3. Highlight any concerning metrics (high cardinality, rapid growth)
4. Compare staging vs prod if both are queried
5. Suggest cost optimization if metrics are unusually high

## Critical Rules

- Always check that API keys are set before running
- Use `--json` flag when you need to process the output programmatically
- Default to querying both environments for comparison
- Handle errors gracefully - missing data sources should not crash the script
