diff --git a/conf/defaults.ini b/conf/defaults.ini index f009eded657..e7c3554340f 100644 --- a/conf/defaults.ini +++ b/conf/defaults.ini @@ -341,11 +341,11 @@ global_session = -1 #################################### Internal Grafana Metrics ########################## [metrics] -enabled = false -interval_seconds = 10 +enabled = true +interval_seconds = 60 -[metrics.graphite] -address = localhost:2003 -prefix = prod.grafana.%(instance_name)s. +; [metrics.graphite] +; address = localhost:2003 +; prefix = prod.grafana.%(instance_name)s. diff --git a/conf/sample.ini b/conf/sample.ini index 8dbd6490bbf..7a1099d35af 100644 --- a/conf/sample.ini +++ b/conf/sample.ini @@ -272,5 +272,17 @@ check_for_updates = true ;enabled = false ;path = /var/lib/grafana/dashboards +#################################### Internal Grafana Metrics ########################## +[metrics] +# Disable / Enable internal metrics +;enabled = true + +# Publish interval +;interval_seconds = 10 + +# Send internal metrics to Graphite +; [metrics.graphite] +; address = localhost:2003 +; prefix = prod.grafana.%(instance_name)s. diff --git a/docs/sources/installation/configuration.md b/docs/sources/installation/configuration.md index bbfe381d1f0..de2055a2ae4 100644 --- a/docs/sources/installation/configuration.md +++ b/docs/sources/installation/configuration.md @@ -44,6 +44,12 @@ Then you can override them using:
+## instance_name +Set the name of the grafana-server instance. Used in logging and internal metrics and in +clustering info. Defaults to: `${HOSTNAME}, which will be replaced with +environment variable `HOSTNAME`, if that is empty or does not exist Grafana will try to use +system calls to get the machine name. + ## [paths] ### data @@ -439,3 +445,22 @@ Grafana backend index those json dashboards which will make them appear in regul ### path The full path to a directory containing your json dashboards. + +## [metrics] + +### enabled +Enable metrics reporting. defaults true. Available via HTTP API `/api/metrics`. + +### interval_seconds + +Flush/Write interval when sending metrics to external TSDB. Defaults to 60s. + +## [metrics.graphite] +Include this section if you want to send internal Grafana metrics to Graphite. + +### address +Format ``:port + +### prefix +Graphite metric prefix. Defaults to `prod.grafana.%(instance_name)s.` + diff --git a/pkg/metrics/publish.go b/pkg/metrics/publish.go index 838c5fe65e1..74e14ecc377 100644 --- a/pkg/metrics/publish.go +++ b/pkg/metrics/publish.go @@ -39,8 +39,11 @@ func instrumentationLoop(settings *MetricSettings) chan struct{} { } func sendMetrics(settings *MetricSettings) { - metrics := MetricStats.GetSnapshots() + if len(settings.Publishers) == 0 { + return + } + metrics := MetricStats.GetSnapshots() for _, publisher := range settings.Publishers { publisher.Publish(metrics) }