Commit f7a91025 by bergquist

feat(metrics): improve graphite settings

Fixes the broken support for overriding settings with ENV variables.
closes #5769
parent cf6736d4
......@@ -353,9 +353,10 @@ enabled = true
interval_seconds = 60
# Send internal Grafana metrics to graphite
; [metrics.graphite]
; address = localhost:2003
; prefix = service.grafana.%(instance_name)s.
[metrics.graphite]
# Enable by setting the address setting (ex localhost:2003)
address =
prefix = service.grafana.%(instance_name)s.
[grafana_net]
url = https://grafana.net
......@@ -300,12 +300,13 @@ check_for_updates = true
enabled = true
# Publish interval
;interval_seconds = 10
interval_seconds = 10
# Send internal metrics to Graphite
; [metrics.graphite]
; address = localhost:2003
; prefix = service.grafana.%(instance_name)s.
[metrics.graphite]
# Enable by setting the address setting (ex localhost:2003)
address =
prefix = service.grafana.%(instance_name)s.
#################################### Internal Grafana Metrics ##########################
# Url used to to import dashboards directly from Grafana.net
......
......@@ -24,10 +24,15 @@ func CreateGraphitePublisher() (*GraphitePublisher, error) {
return nil, nil
}
address := graphiteSection.Key("address").String()
if address == "" {
return nil, nil
}
publisher := &GraphitePublisher{}
publisher.prevCounts = make(map[string]int64)
publisher.protocol = "tcp"
publisher.address = graphiteSection.Key("address").MustString("localhost:2003")
publisher.address = address
safeInstanceName := strings.Replace(setting.InstanceName, ".", "_", -1)
prefix := graphiteSection.Key("prefix").Value()
......
......@@ -34,7 +34,7 @@ func TestGraphitePublisher(t *testing.T) {
So(publisher.address, ShouldEqual, "localhost:2001")
})
Convey("Test graphite publisher default values", t, func() {
Convey("Test graphite publisher default prefix", t, func() {
var err error
err = setting.NewConfigContext(&setting.CommandLineArgs{
HomePath: "../../",
......@@ -42,7 +42,10 @@ func TestGraphitePublisher(t *testing.T) {
So(err, ShouldBeNil)
_, err = setting.Cfg.NewSection("metrics.graphite")
sec, err := setting.Cfg.NewSection("metrics.graphite")
sec.NewKey("address", "localhost:2001")
So(err, ShouldBeNil)
setting.InstanceName = "hostname.with.dots.com"
publisher, err := CreateGraphitePublisher()
......@@ -51,6 +54,23 @@ func TestGraphitePublisher(t *testing.T) {
So(publisher, ShouldNotBeNil)
So(publisher.prefix, ShouldEqual, "service.grafana.hostname_with_dots_com.")
So(publisher.address, ShouldEqual, "localhost:2003")
So(publisher.address, ShouldEqual, "localhost:2001")
})
Convey("Test graphite publisher default values", t, func() {
var err error
err = setting.NewConfigContext(&setting.CommandLineArgs{
HomePath: "../../",
})
So(err, ShouldBeNil)
_, err = setting.Cfg.NewSection("metrics.graphite")
setting.InstanceName = "hostname.with.dots.com"
publisher, err := CreateGraphitePublisher()
So(err, ShouldBeNil)
So(publisher, ShouldBeNil)
})
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment