summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIlya Mashchenko <ilya@netdata.cloud>2024-03-15 13:05:46 +0200
committerGitHub <noreply@github.com>2024-03-15 13:05:46 +0200
commit03a0dde56b0a09c6fcecb5b99a334eca1d3534a6 (patch)
tree74fe480b4706b019558d015b311450820f41bc20
parent453fe8cc34fab23208764b0cafd0c5922b633aa3 (diff)
go.d sd config add "disabled" (#17171)
-rw-r--r--src/go/collectors/go.d.plugin/agent/discovery/sd/pipeline/config.go1
-rw-r--r--src/go/collectors/go.d.plugin/agent/discovery/sd/sd.go5
-rw-r--r--src/go/collectors/go.d.plugin/agent/discovery/sd/sd_test.go15
-rw-r--r--src/go/collectors/go.d.plugin/config/go.d/sd/docker.conf2
-rw-r--r--src/go/collectors/go.d.plugin/config/go.d/sd/net_listeners.conf2
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: