diff options
author | Ilya Mashchenko <ilya@netdata.cloud> | 2024-03-15 13:05:46 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-15 13:05:46 +0200 |
commit | 03a0dde56b0a09c6fcecb5b99a334eca1d3534a6 (patch) | |
tree | 74fe480b4706b019558d015b311450820f41bc20 /src | |
parent | 453fe8cc34fab23208764b0cafd0c5922b633aa3 (diff) |
go.d sd config add "disabled" (#17171)
Diffstat (limited to 'src')
5 files changed, 25 insertions, 0 deletions
diff --git a/src/go/collectors/go.d.plugin/agent/discovery/sd/pipeline/config.go b/src/go/collectors/go.d.plugin/agent/discovery/sd/pipeline/config.go index 0123f8f6b4..4dac63f0f5 100644 --- a/src/go/collectors/go.d.plugin/agent/discovery/sd/pipeline/config.go +++ b/src/go/collectors/go.d.plugin/agent/discovery/sd/pipeline/config.go @@ -16,6 +16,7 @@ type Config struct { Source string `yaml:"-"` ConfigDefaults confgroup.Registry `yaml:"-"` + Disabled bool `yaml:"disabled"` Name string `yaml:"name"` Discover []DiscoveryConfig `yaml:"discover"` Classify []ClassifyRuleConfig `yaml:"classify"` diff --git a/src/go/collectors/go.d.plugin/agent/discovery/sd/sd.go b/src/go/collectors/go.d.plugin/agent/discovery/sd/sd.go index 7210788abb..ab84c979e2 100644 --- a/src/go/collectors/go.d.plugin/agent/discovery/sd/sd.go +++ b/src/go/collectors/go.d.plugin/agent/discovery/sd/sd.go @@ -112,6 +112,11 @@ func (d *ServiceDiscovery) addPipeline(ctx context.Context, conf confFile, in ch return } + if cfg.Disabled { + d.Infof("pipeline config is disabled '%s' (%s)", cfg.Name, cfg.Source) + return + } + cfg.Source = fmt.Sprintf("file=%s", conf.source) cfg.ConfigDefaults = d.configDefaults diff --git a/src/go/collectors/go.d.plugin/agent/discovery/sd/sd_test.go b/src/go/collectors/go.d.plugin/agent/discovery/sd/sd_test.go index 59cca83e10..376c9f7e74 100644 --- a/src/go/collectors/go.d.plugin/agent/discovery/sd/sd_test.go +++ b/src/go/collectors/go.d.plugin/agent/discovery/sd/sd_test.go @@ -20,6 +20,12 @@ func TestServiceDiscovery_Run(t *testing.T) { {name: "name", started: true, stopped: false}, }, }, + "add disabled pipeline": { + configs: []confFile{ + prepareDisabledConfigFile("source", "name"), + }, + wantPipelines: nil, + }, "remove pipeline": { configs: []confFile{ prepareConfigFile("source", "name"), @@ -89,3 +95,12 @@ func prepareEmptyConfigFile(source string) confFile { source: source, } } + +func prepareDisabledConfigFile(source, name string) confFile { + bs, _ := yaml.Marshal(pipeline.Config{Name: name, Disabled: true}) + + return confFile{ + source: source, + content: bs, + } +} diff --git a/src/go/collectors/go.d.plugin/config/go.d/sd/docker.conf b/src/go/collectors/go.d.plugin/config/go.d/sd/docker.conf index 9120eebd8e..c63cfa55a6 100644 --- a/src/go/collectors/go.d.plugin/config/go.d/sd/docker.conf +++ b/src/go/collectors/go.d.plugin/config/go.d/sd/docker.conf @@ -1,3 +1,5 @@ +disabled: no + name: 'docker' discover: diff --git a/src/go/collectors/go.d.plugin/config/go.d/sd/net_listeners.conf b/src/go/collectors/go.d.plugin/config/go.d/sd/net_listeners.conf index fdd54d72e0..dd11977ee9 100644 --- a/src/go/collectors/go.d.plugin/config/go.d/sd/net_listeners.conf +++ b/src/go/collectors/go.d.plugin/config/go.d/sd/net_listeners.conf @@ -1,3 +1,5 @@ +disabled: no + name: 'network listeners' discover: |