Add support for telemetry option metrics_prefix (#8340)

When set, instead of starting with `vault_`, metrics will start with `${prefix}_`.
This commit is contained in:
ncabatoff
2020-02-13 09:00:32 -05:00
committed by GitHub
parent 17dd95096a
commit 4d7bfb4927
5 changed files with 14 additions and 3 deletions

View File

@@ -2320,7 +2320,12 @@ func (c *ServerCommand) setupTelemetry(config *server.Config) (*metricsutil.Metr
telConfig = &server.Telemetry{}
}
metricsConf := metrics.DefaultConfig("vault")
serviceName := "vault"
if telConfig.MetricsPrefix != "" {
serviceName = telConfig.MetricsPrefix
}
metricsConf := metrics.DefaultConfig(serviceName)
metricsConf.EnableHostname = !telConfig.DisableHostname
metricsConf.EnableHostnameLabel = telConfig.EnableHostnameLabel

View File

@@ -181,6 +181,7 @@ type Telemetry struct {
DisableHostname bool `hcl:"disable_hostname"`
EnableHostnameLabel bool `hcl:"enable_hostname_label"`
MetricsPrefix string `hcl:"metrics_prefix"`
// Circonus: see https://github.com/circonus-labs/circonus-gometrics
// for more details on the various configuration options.
@@ -1099,6 +1100,7 @@ func (c *Config) Sanitized() map[string]interface{} {
"statsite_address": c.Telemetry.StatsiteAddr,
"statsd_address": c.Telemetry.StatsdAddr,
"disable_hostname": c.Telemetry.DisableHostname,
"metrics_prefix": c.Telemetry.MetricsPrefix,
"circonus_api_token": "",
"circonus_api_app": c.Telemetry.CirconusAPIApp,
"circonus_api_url": c.Telemetry.CirconusAPIURL,

View File

@@ -321,6 +321,7 @@ func testLoadConfigFile(t *testing.T) {
DogStatsDAddr: "127.0.0.1:7254",
DogStatsDTags: []string{"tag_1:val_1", "tag_2:val_2"},
PrometheusRetentionTime: prometheusDefaultRetentionTime,
MetricsPrefix: "myprefix",
},
DisableCache: true,
@@ -554,6 +555,7 @@ func testConfig_Sanitized(t *testing.T) {
"circonus_check_tags": "",
"circonus_submission_interval": "",
"disable_hostname": false,
"metrics_prefix": "pfx",
"dogstatsd_addr": "",
"dogstatsd_tags": []string(nil),
"prometheus_retention_time": 24 * time.Hour,

View File

@@ -27,6 +27,7 @@ telemetry {
statsite_address = "foo"
dogstatsd_addr = "127.0.0.1:7254"
dogstatsd_tags = ["tag_1:val_1", "tag_2:val_2"]
metrics_prefix = "myprefix"
}
max_lease_ttl = "10h"

View File

@@ -29,6 +29,7 @@ service_registration "consul" {
telemetry {
statsd_address = "bar"
circonus_api_token = "baz"
metrics_prefix = "pfx"
}
seal "awskms" {