Grafana Cheat Sheet

Dashboards, datasources, folders, and the provisioning YAML that keeps Grafana as code.

Observability5 sections · 22 commands
⌘K

HTTP API

6
curl -u admin:admin http://HOST:3000/api/datasources

List datasources

curl -u admin:admin 'http://HOST:3000/api/search?query=pods'

Search dashboards

curl -u admin:admin 'http://HOST:3000/api/dashboards/db/UID'

Dashboard as JSON (model)

curl -u admin:admin -X DELETE 'http://HOST:3000/api/dashboards/uid/UID'

Delete a dashboard

curl -u admin:admin http://HOST:3000/api/folder

List folders

curl -s 'http://HOST:3000/api/health'

Health of the instance

Provisioning as Code

4
datasources.yaml: { apiVersion: 1, datasources: [{ name: Prometheus, type: prometheus, url: 'http://prometheus:9090' }] }

Declare a datasource

dashboards.yaml: { providers: [{ name: default, options: { path: /etc/grafana/provisioning/dashboards } }] }

Auto-load dashboards from disk

notifiers.yaml: { receivers: [{ name: slack, type: slack }] }

Declare alerting channels

/var/lib/grafana/dashboards/*.json

Where dashboard JSON files live

Auth & Users

4
grafana-cli admin reset-admin-password NEW

Reset admin password from the server

curl -X POST http://HOST:3000/api/serviceaccounts -H 'Authorization: Bearer TOKEN' -d '{"name":"ci"}'

Create a service account

curl -u admin:admin http://HOST:3000/api/users

List users

curl -u admin:admin -X DELETE http://HOST:3000/api/users/ID

Remove a user

CLI & Plugins

5
grafana-cli plugins install grafana-piechart-panel

Install a plugin

grafana-cli plugins ls

Installed plugins

grafana-cli plugins update-all

Update every plugin

grafana server

Run the server (default 3000)

grafana cli --homepath /usr/share/grafana

Point at the install dir

Alerting Rules

3
grafana-cli plugins install grafana-llm-app

LLM monitoring (new stack)

curl -u admin:admin -X POST http://HOST:3000/api/v1/provisioning/alert-rules -d @rule.json

Provision alert rules via API

rules file: folder, uid, query ref_id

Alert rule YAML fields