2020-07-10 17:09:29 -04:00
---
stage: Monitor
2021-03-18 11:09:04 -04:00
group: Monitor
2020-11-26 01:09:20 -05:00
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
2020-07-10 17:09:29 -04:00
---
2021-03-15 02:09:35 -04:00
# Embed Grafana panels in Markdown **(FREE)**
2020-07-10 17:09:29 -04:00
2021-03-15 02:09:35 -04:00
Grafana panels can be embedded in [GitLab Flavored Markdown ](../../user/markdown.md ). You can
embed Grafana panels using either:
2020-07-10 17:09:29 -04:00
2021-03-15 02:09:35 -04:00
- [Grafana-rendered images ](#use-grafana-rendered-images ).
- [Grafana API ](#use-integration-with-grafana-api ).
2020-07-10 17:09:29 -04:00
2021-03-15 02:09:35 -04:00
## Use Grafana-rendered images
2020-07-10 17:09:29 -04:00
2021-03-15 02:09:35 -04:00
You can embed live [Grafana ](https://docs.gitlab.com/omnibus/settings/grafana.html ) panels as a
[direct linked rendered image ](https://grafana.com/docs/grafana/latest/reference/share_panel/#direct-link-rendered-image ).
Your Grafana instance must:
2020-07-10 17:09:29 -04:00
2021-03-15 02:09:35 -04:00
- Be available to the target user, either as a public dashboard or on the same network.
2021-03-22 20:09:09 -04:00
- Have [Grafana Image Renderer ](https://grafana.com/grafana/plugins/grafana-image-renderer/ ) installed.
2020-07-10 17:09:29 -04:00
2021-03-15 02:09:35 -04:00
To use Grafana-rendered images:
2020-07-10 17:09:29 -04:00
2021-03-15 02:09:35 -04:00
1. Go to the dashboard containing the panel in Grafana.
1. From the panel's menu, select **Share** .
1. Select the **Direct link rendered image** button, which provides the link.
1. Copy the link and add an image tag as [inline HTML ](../../user/markdown.md#inline-html ) in your
Markdown in the format `<img src="your_link"/>` . You can tweak the query parameters to meet your needs, such as removing the `&from=`
and `&to=` parameters to display a live panel.
2020-07-10 17:09:29 -04:00
2021-03-15 02:09:35 -04:00
## Use integration with Grafana API
2020-07-10 17:09:29 -04:00
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/31376) in GitLab 12.5.
2021-03-15 02:09:35 -04:00
Each project can support integration with one Grafana instance. This enables you to copy a link to a
panel in Grafana, then paste it into a GitLab Markdown field. The panel renders in the GitLab panel
format. To embed panels from a Grafana instance, the data source must be:
2020-07-10 17:09:29 -04:00
2021-03-15 02:09:35 -04:00
- A Prometheus instance.
- Proxyable, so the **HTTP > Access** setting for the Grafana data source should be set to
**Server (default)** .
2020-07-10 17:09:29 -04:00
2021-03-15 02:09:35 -04:00
### Set up Grafana integration
2020-07-10 17:09:29 -04:00
2021-03-15 02:09:35 -04:00
To set up the Grafana API in Grafana:
2020-07-10 17:09:29 -04:00
2020-07-17 20:09:34 -04:00
1. In Grafana, [generate an Admin-level API Token ](https://grafana.com/docs/grafana/latest/http_api/auth/#create-api-token ).
2021-06-15 14:09:57 -04:00
1. In your GitLab project, go to **Settings > Monitor** and expand the **Grafana authentication**
2021-03-15 02:09:35 -04:00
section.
2020-07-17 20:09:34 -04:00
1. To enable the integration, check the **Active** checkbox.
1. For **Grafana URL** , enter the base URL of the Grafana instance.
2021-03-15 02:09:35 -04:00
1. For **API Token** , enter the Admin API token you just generated.
2020-07-10 17:09:29 -04:00
1. Click **Save Changes** .
2021-03-15 02:09:35 -04:00
### Generate a link to a panel
To generate a link to a panel:
2020-07-10 17:09:29 -04:00
2021-03-15 02:09:35 -04:00
1. In Grafana, go to the dashboard you wish to embed a panel from.
1. In the upper-left corner of the page, select a specific value for each variable required for the
queries in the dashboard.
1. In Grafana click on a panel's title, then click **Share** to open the panel's sharing dialog to
the **Link** tab.
If you click the dashboard's share button instead, GitLab attempts to embed the first supported
panel on the dashboard (if available).
2020-07-17 20:09:34 -04:00
1. If your Prometheus queries use Grafana's custom template variables, ensure the
2021-03-15 02:09:35 -04:00
**Template variables** option is set to on. Only the Grafana global template variables
`$__interval` , `$__from` , and `$__to` are supported.
1. Set the **Current time range** option to on, to specify the time range of the panel. Otherwise,
the default range is the last 8 hours.
1. Select **Copy** to copy the URL to the clipboard.
1. In GitLab, paste the URL into a Markdown field and save. The panel takes a few moments to render.
See the following example of a rendered panel.
![GitLab Rendered Grafana Panel ](img/rendered_grafana_embed_v12_5.png )