diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-08-26 08:15:24 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-08-26 08:15:35 +0000 |
commit | f09848204fa5283d21ea43e262ee41aa578e1808 (patch) | |
tree | c62385d7adf209fa6a798635954d887f718fb3fb /src/go/collectors/go.d.plugin/modules/envoy/envoy.go | |
parent | Releasing debian version 1.46.3-2. (diff) | |
download | netdata-f09848204fa5283d21ea43e262ee41aa578e1808.tar.xz netdata-f09848204fa5283d21ea43e262ee41aa578e1808.zip |
Merging upstream version 1.47.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/go/collectors/go.d.plugin/modules/envoy/envoy.go')
-rw-r--r-- | src/go/collectors/go.d.plugin/modules/envoy/envoy.go | 126 |
1 files changed, 0 insertions, 126 deletions
diff --git a/src/go/collectors/go.d.plugin/modules/envoy/envoy.go b/src/go/collectors/go.d.plugin/modules/envoy/envoy.go deleted file mode 100644 index 5bdfa3b00..000000000 --- a/src/go/collectors/go.d.plugin/modules/envoy/envoy.go +++ /dev/null @@ -1,126 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later - -package envoy - -import ( - _ "embed" - "errors" - "time" - - "github.com/netdata/netdata/go/go.d.plugin/agent/module" - "github.com/netdata/netdata/go/go.d.plugin/pkg/prometheus" - "github.com/netdata/netdata/go/go.d.plugin/pkg/web" -) - -//go:embed "config_schema.json" -var configSchema string - -func init() { - module.Register("envoy", module.Creator{ - JobConfigSchema: configSchema, - Create: func() module.Module { return New() }, - Config: func() any { return &Config{} }, - }) -} - -func New() *Envoy { - return &Envoy{ - Config: Config{ - HTTP: web.HTTP{ - Request: web.Request{ - URL: "http://127.0.0.1:9091/stats/prometheus", - }, - Client: web.Client{ - Timeout: web.Duration(time.Second), - }, - }, - }, - - charts: &module.Charts{}, - - servers: make(map[string]bool), - clusterMgrs: make(map[string]bool), - clusterUpstream: make(map[string]bool), - listenerMgrs: make(map[string]bool), - listenerAdminDownstream: make(map[string]bool), - listenerDownstream: make(map[string]bool), - } -} - -type Config struct { - UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"` - web.HTTP `yaml:",inline" json:""` -} - -type Envoy struct { - module.Base - Config `yaml:",inline" json:""` - - charts *module.Charts - - prom prometheus.Prometheus - - servers map[string]bool - clusterMgrs map[string]bool - clusterUpstream map[string]bool - listenerMgrs map[string]bool - listenerAdminDownstream map[string]bool - listenerDownstream map[string]bool -} - -func (e *Envoy) Configuration() any { - return e.Config -} - -func (e *Envoy) Init() error { - if err := e.validateConfig(); err != nil { - e.Errorf("config validation: %v", err) - return err - } - - prom, err := e.initPrometheusClient() - if err != nil { - e.Errorf("init Prometheus client: %v", err) - return err - } - e.prom = prom - - return nil -} - -func (e *Envoy) Check() error { - mx, err := e.collect() - if err != nil { - e.Error(err) - return err - } - if len(mx) == 0 { - return errors.New("no metrics collected") - - } - return nil -} - -func (e *Envoy) Charts() *module.Charts { - return e.charts -} - -func (e *Envoy) Collect() map[string]int64 { - mx, err := e.collect() - if err != nil { - e.Error(err) - } - - if len(mx) == 0 { - return nil - } - return mx -} - -func (e *Envoy) Cleanup() { - if e.prom == nil || e.prom.HTTPClient() == nil { - return - } - - e.prom.HTTPClient().CloseIdleConnections() -} |