Skip to main content

Command menu

Jump to a page or search the catalog

AI Tools & Scripts

Grafana Config Check

Check Grafana and Prometheus config before going live: admin/admin, anonymous Admin access, data source passwords in provisioning files, default secret_key, open sign-up, auth proxy without a whitelist, TLS checks off.

$5.00

What you get: 1 file · 33.04 KB · ZIP

See purchase options

Product description

A monitoring stack copied from a demo often ships GF_AUTH_ANONYMOUS_ORG_ROLE=Admin and GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_ADMIN_PASSWORD:-admin} in docker-compose.yml, a data source with its password written in provisioning/datasources/datasources.yml, and the default secret_key that encrypts every stored data source password. Anyone who reaches port 3000 can then edit dashboards, query every data source and read the credentials. This skill finds those and the other common Grafana and Prometheus mistakes before the stack goes live, and tells you how to fix each one.

Your agent runs a scanner on your project: grafana.ini and custom.ini, GF_* variables of the Grafana service in Docker Compose files, Grafana provisioning YAML (data sources, alert contact points, legacy notifiers, plugin apps) and prometheus.yml. It reads INI files the way Grafana does (; and # comments, """...""" values, the last value wins), so the untouched grafana.ini that Grafana packages ship, with every setting commented out, gives NOT FLAGGED. A value with a $__file{}, $__env{}, $ENV_NAME or ${ENV_NAME} reference anywhere in it (such as Bearer ${LOKI_TOKEN}), or a GF_*__FILE variable, counts as kept out of the file, while a written fallback such as ${VAR:-admin} does not. Other YAML in the project, including Helm chart values files, is ignored. It never starts or connects to Grafana or Prometheus. It returns BLOCK, REVIEW, or NOT FLAGGED, with the file, line, reason, and a safer approach. Secrets are never printed.

What it checks

BLOCK (fix before shipping)

  • G01: admin_password or GF_SECURITY_ADMIN_PASSWORD set to the default admin or to a written password, including a Compose fallback such as ${VAR:-admin}

  • G02: anonymous access with the Editor or Admin role

  • G03: passwords, tokens and keys written in provisioning files: data source password and basicAuthPassword fields, secureJsonData values, contact point secrets, Slack, Discord, Teams and Google Chat webhook URLs, passwords in URLs

  • G04: other credentials in grafana.ini or the Grafana service environment: database and SMTP passwords, OAuth client_secret, cache connection passwords, storage keys, renderer tokens

REVIEW (check before release)

  • G11: secret_key written in the file, including Grafana's published default

  • G12: cookie_secure off (or HTTPS without it) and cookie_samesite none or disabled

  • G13: allow_embedding = true

  • G14: open sign-up, and GitHub, GitLab or Google login without an allowed organization, team, group or domain

  • G15: anonymous Viewer access

  • G16: auth proxy without a whitelist

  • G17: Prometheus basic_auth passwords, authorization credentials, bearer tokens and passwords in URLs written in prometheus.yml

  • G18: TLS verification off (insecure_skip_verify, tlsSkipVerify, tls_skip_verify_insecure, skip_verify)

  • G19: brute-force login protection turned off

What's included

  • The scanner (Python 3.9+, standard library only)

  • A rules guide with the reason and safer approach for each rule

  • A risky and a safe example monitoring stack (grafana.ini, docker-compose.yml, data source and contact point provisioning, prometheus.yml), and the real report the scanner produces on the risky one

Limits

It reads each file as written and judges each file on its own. Helm chart values, environment variables set outside Compose files (Kubernetes, systemd, .env files), settings changed in the Grafana UI or SSO settings, ldap.toml, Alertmanager configuration and the contents of files referenced with $__file{} are not seen, so a setting overridden elsewhere can be reported or missed. NOT FLAGGED is not a guarantee.

Contents

One ZIP file with 17 files: SKILL.md, the scanner in scripts/ (4 Python files), references/rules.md (every rule with its reason and safer approach), and examples/ (10 example files plus report.md, the real scanner output on the risky example).

How to use: This is an agent skill: a folder with a SKILL.md file and Python scripts that an AI coding agent such as Claude Code, Cursor, or Codex CLI can run. Unzip it into your agent's skills folder (for Claude Code: ~/.claude/skills/), then ask your agent to check your project. The scripts also run on their own with Python 3.9 or newer, with nothing to install. They read your files only: no network access, and nothing is sent anywhere.

What you get

1 file · 33.04 KB

  • grafana-config-check-1.0.0.zipZIP · 33.04 KB

Included in Getly ProGet Pro

LicenseCommercial use allowed
PublishedNov 11, 2026
File size33.04 KB
File formatZIP
Versionv1.0

Tags

grafanaprometheusmonitoringsecuritydevopsai agent skill
R
RR HH

Frequently asked questions

Do I get access instantly?

Yes. This is a digital product - you can download it right after checkout, straight from your library.

Can I use it for commercial projects?

Yes. Commercial use is allowed: use it in your own business and in things you sell. You may not resell or redistribute the file itself.

What's your refund policy?

You can request a refund within 30 days. If something isn't right, request it from your order and the Getly team reviews it.

What file formats and sizes will I get?

You'll download 1 file - ZIP - 33.04 KB in total.

Do I get free updates?

Yes - when the seller ships a new version, you can re-download the latest files from your library at no extra cost. Check the changelog for recent updates.

Price

$5.00