prometheus-mimir-grafana — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited prometheus-mimir-grafana (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
This skill uses the stack; it does not change it. Version-laddering Mimir is `mimir-upgrade`; getting SNMP devices to emit metrics is `snmp-exporter`; logs are `logging-operator` (`rancher-logging-exit` for leaving the Rancher chart). Query returns nothing → start here; component broken or stale → wrong skill.
| Claim | Correct |
|---|---|
=~"foo" is a substring match | Fully anchored — means ^foo$. Prefix match is =~"foo.*". |
Mimir /api/v1/status/config returns the config YAML | Returns empty config (Prometheus-compat stub). Live config: /config; per-tenant overrides: /runtime_config. |
Grafana 12 deprecated the legacy dashboard /api | Grafana 12 added /apis/dashboard.grafana.app/…; Grafana 13 deprecated /api. Legacy /api/dashboards/db still works, removal deferred — default to it. Current stable line: 13.2. |
A dashboard JSON has panels | Grafana 13 may serve the v2 schema: elements / variables / layout, no panels. Same UID can be classic from /api/dashboards/uid and v2 from /apis or the Grafana MCP. Check the shape before any JSONPath. |
| Mimir 422 is transient | A per-tenant limit tripped (max_samples_per_query, max_query_length, max_fetched_series_per_query). Never retry unchanged — raise step, shrink the window, tighten matchers. |
/api/v1/query returns every series | Prometheus 3+ accepts limit= to cap result cardinality — use it when exploring. |
/api/v1/series?match[]=<metric> or label_values()). The 5xx label is exporter-dependent (status, status_code, code); a wrong name matches nothing and the panel reads zero errors./label/__name__/values or /series can have no samples now; confirm with an instant query and up{job=…}.POST /api/annotations, tags ["agent", …]) and every dashboard save a message.| Shape | Base URL | Auth | Tenant | ||
|---|---|---|---|---|---|
| Prometheus direct | http://prometheus:9090 | none / Basic | n/a | ||
| Self-hosted Mimir gateway | https://mimir.example.com/prometheus | Bearer | X-Scope-OrgID: <tenant>; federate `a\ | b\ | c` |
| Grafana Cloud Mimir | https://prometheus-prod-XX.grafana.net/api/prom | Basic instance_id:access_token or Bearer access_token | in token | ||
| Grafana datasource proxy | ${GRAFANA}/api/datasources/proxy/uid/<ds-uid> | Grafana SA token | datasource-configured | ||
| In-cluster via apiserver | https://kubernetes.default.svc/…/services/prometheus-k8s:web/proxy | SA token + CA | n/a |
Missing X-Scope-OrgID on Mimir → 401/403 mentioning "org id". Recipes: references/mimir-api.md.
Its tools describe themselves. What they don't say — dead metrics without a time window, the histogram helper collapsing dimensions, run_panel_query failing on v2 dashboards, v2 JSONPaths and bracket quoting — is in references/agent-workflow.md §3a. Read it before the first MCP call.
| Need | File |
|---|---|
| Discovery loop, triage PromQL by symptom, first 10 queries on an unfamiliar cluster, MCP gotchas, query cost, auth | references/agent-workflow.md |
PromQL surface, HTTP API, canonical group_left join, agent pitfall list | references/promql.md |
| Mimir architecture, endpoints, per-tenant limits, curl recipes | references/mimir-api.md |
| Dashboard JSON (classic + v2), variables, transformations, both dashboard APIs, bug-fix catalog | references/grafana-dashboards.md |
| What to measure: RED / USE / Golden Signals, SLO burn-rate tiers, exporter catalogs, dashboard recipes | references/kpis-frameworks.md |
| Upstream sources and verification dates | references/sources.md |
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.