Overview
Connecting Grafana Managed lets Rootly AI query your self-hosted Grafana instance during investigations — pulling metrics, logs, profiles, dashboards, and alerts. Every query uses a Grafana service-account token you provide, so Rootly AI can only see what that service account can see.Before You Start
You’ll need three things ready before opening the connection modal:- A running
mcp-grafanaserver with a public HTTPS URL that Rootly can reach. Private-network-only addresses (VPN-only, VPC-internal,localhost, RFC1918 IPs) are not accepted. - Your Grafana instance URL — the base URL of your self-hosted Grafana (e.g.,
https://grafana.your-company.com). - A Grafana service-account token with read access to whatever data you want Rootly AI to query — metrics, logs, dashboards, alerts. Generate it from Grafana → Administration → Service accounts.
Connecting In Rootly
Open Configuration → AI → Connectors and click Connect on the Grafana Managed card.mcp-grafana deployment.- “Rootly couldn’t reach that mcp-grafana URL. It must be a public HTTPS endpoint — private or internal-only addresses are blocked.” — the URL is a private IP,
localhost, or an internal-only domain. Exposemcp-grafanaon a public HTTPS endpoint and retry. - “Rootly reached the server but the connection failed.” — the URL is reachable but something else is wrong. Check that
mcp-grafanais running, that the Grafana instance URL is correct, and that the service-account token has adequate permissions.
Best Practices
- Use a dedicated service-account token, not a personal API key. Service accounts are stable across staff turnover and have their own audit trail in Grafana. Name the service account something obvious like
rootly-aiso it’s easy to identify in Grafana’s audit log. - Scope the service-account token to the minimum roles Rootly AI needs. Read access to metrics, logs, and dashboards is usually enough. If Rootly AI doesn’t need to see alert configurations, don’t grant the alerts role.
- Rotate the service-account token on a cadence. Rotate on the same schedule as your other API tokens (quarterly is common). After rotating, paste the new token into Rootly’s Configure screen — the connection is re-verified on save.
- Test with
/rootly test. After connecting, declare a test incident and see whether Rootly AI can pull Grafana data during the investigation. If it can’t, catch it in test before a real incident. - Consider Grafana Cloud if you’re on the managed offering. Grafana Cloud’s integration doesn’t require you to run and maintain the extra piece yourself. Only stick with the self-hosted Grafana Managed connector if you specifically need to run Grafana yourself.
Troubleshooting
Save fails with 'Rootly couldn't reach that mcp-grafana URL'
Save fails with 'Rootly couldn't reach that mcp-grafana URL'
- Private IP (
10.x,172.16-31.x,192.168.x) — not accepted. localhostor127.0.0.1— not accepted.- Internal-only domain that doesn’t resolve from Rootly’s network.
- Self-signed TLS certificate.
Save fails with 'Rootly reached the server but the connection failed'
Save fails with 'Rootly reached the server but the connection failed'
- Is
mcp-grafanaactually running behind the URL? - Is the Grafana instance URL correct and reachable from
mcp-grafana? - Does the service-account token have adequate Grafana permissions? (Test the token directly against Grafana’s API.)
Rootly AI queries succeed but return empty data
Rootly AI queries succeed but return empty data
The card shows Connected but Rootly AI can't reach Grafana
The card shows Connected but Rootly AI can't reach Grafana
mcp-grafana was redeployed with a different config, the Grafana instance URL changed. Open the Configure screen and re-save.Investigation output cites the wrong Grafana dashboards
Investigation output cites the wrong Grafana dashboards
Frequently Asked Questions
What's the difference between Grafana Managed and Grafana Cloud integrations?
What's the difference between Grafana Managed and Grafana Cloud integrations?
mcp-grafana server that Rootly points at.Pick Grafana Cloud if you’re on the managed offering; Grafana Managed if you self-host.Can I use the same setup for multiple Rootly teams?
Can I use the same setup for multiple Rootly teams?
mcp-grafana deployment. Each team’s service-account token controls what that team’s Rootly AI can see.Does Rootly cache Grafana data?
Does Rootly cache Grafana data?
Why does the URL have to be publicly reachable?
Why does the URL have to be publicly reachable?
What happens if my Grafana goes down during an investigation?
What happens if my Grafana goes down during an investigation?