2017-09-07 10:37:01 -05:00
+++
2020-04-17 09:37:09 -05:00
title = "Internal Grafana metrics"
2017-09-07 10:37:01 -05:00
description = "Internal metrics exposed by Grafana"
keywords = ["grafana", "metrics", "internal metrics"]
weight = 8
+++
2020-04-17 09:37:09 -05:00
# Internal Grafana metrics
2017-09-07 10:37:01 -05:00
2020-04-17 09:37:09 -05:00
Grafana collects some metrics about itself internally. Grafana supports pushing metrics to Graphite or exposing them to be scraped by Prometheus.
2017-09-07 10:37:01 -05:00
2020-06-23 11:56:44 -05:00
For more information about configuration options related to Grafana metrics, refer to [metrics ]({{< relref "../administration/configuration/#metrics" >}} ) and [metrics.graphite ]({{< relref "../administration/configuration/#metrics-graphite" >}} ) in [Configuration ]({{< relref "../administration/configuration.md" >}} ).
2020-04-17 09:37:09 -05:00
## Available metrics
When enabled, Grafana exposes a number of metrics, including:
2020-10-02 13:02:11 -05:00
- Active Grafana instances
- Number of dashboards, users, and playlists
- HTTP status codes
- Requests by routing group
- Grafana active alerts
- Grafana performance
2020-04-17 09:37:09 -05:00
## Pull metrics from Grafana into Prometheus
These instructions assume you have already added Prometheus as a data source in Grafana.
2020-11-09 14:26:49 -06:00
1. Enable Prometheus to scrape metrics from Grafana. In your configuration file (`grafana.ini` or `custom.ini` depending on your operating system) remove the semicolon to enable the following configuration options:
2020-04-17 09:37:09 -05:00
```
# Metrics available at HTTP API Url /metrics
[metrics]
# Disable / Enable internal metrics
enabled = true
# Disable total stats (stat_totals_*) metrics to be generated
disable_total_stats = false
```
1. (optional) If you want to require authorization to view the metrics endpoint, then uncomment and set the following options:
```
basic_auth_username =
basic_auth_password =
```
1. Restart Grafana. Grafana now exposes metrics at http://localhost:3000/metrics.
1. Add the job to your prometheus.yml file.
Example:
```
- job_name: 'grafana_metrics'
scrape_interval: 15s
scrape_timeout: 5s
2020-11-09 14:26:49 -06:00
2020-04-17 09:37:09 -05:00
static_configs:
- targets: ['localhost:3000']
```
1. Restart Prometheus. Your new job should appear on the Targets tab.
1. In Grafana, hover your mouse over the **Configuration** (gear) icon on the left sidebar and then click **Data Sources** .
1. Select the **Prometheus** data source.
1. On the Dashboards tab, **Import** the Grafana metrics dashboard. All scraped Grafana metrics are available in the dashboard.
## View Grafana metrics in Graphite
These instructions assume you have already added Graphite as a data source in Grafana.
2020-11-09 14:26:49 -06:00
1. Enable sending metrics to Graphite. In your configuration file (`grafana.ini` or `custom.ini` depending on your operating system) remove the semicolon to enable the following configuration options:
2020-04-17 09:37:09 -05:00
```
# Metrics available at HTTP API Url /metrics
[metrics]
# Disable / Enable internal metrics
enabled = true
# Disable total stats (stat_totals_*) metrics to be generated
disable_total_stats = false
```
1. Enable [metrics.graphite] options:
```
# Send internal metrics to Graphite
[metrics.graphite]
# Enable by setting the address setting (ex localhost:2003)
address = < hostname or ip > :< port # >
prefix = prod.grafana.%(instance_name)s.
```
1. Restart Grafana. Grafana now exposes metrics at http://localhost:3000/metrics and sends them to the Graphite location you specified.