From 1e44713abc3428a00147d2a6b1f467a3c6817fc4 Mon Sep 17 00:00:00 2001 From: Antoine Toulme Date: Tue, 15 Oct 2024 11:17:42 -0700 Subject: [PATCH] Delete metadata monitors --- CHANGELOG.md | 2 + internal/signalfx-agent/pkg/core/modules.go | 1 - .../signalfx-agent/pkg/core/modules_linux.go | 1 - .../monitors/collectd/metadata/genmetadata.go | 53 ------ .../monitors/collectd/metadata/metadata.go | 122 ------------- .../monitors/collectd/metadata/metadata.tmpl | 49 ----- .../monitors/collectd/metadata/metadata.yaml | 45 ----- .../monitors/collectd/metadata/template.go | 65 ------- .../pkg/monitors/metadata/common.go | 31 ---- .../metadata/hostmetadata/genmetadata.go | 36 ---- .../metadata/hostmetadata/hostmetadata.go | 167 ------------------ .../metadata/hostmetadata/metadata.yaml | 46 ----- packaging/bundle/collectd-plugins.yaml | 8 - 13 files changed, 2 insertions(+), 624 deletions(-) delete mode 100644 internal/signalfx-agent/pkg/monitors/collectd/metadata/genmetadata.go delete mode 100644 internal/signalfx-agent/pkg/monitors/collectd/metadata/metadata.go delete mode 100644 internal/signalfx-agent/pkg/monitors/collectd/metadata/metadata.tmpl delete mode 100644 internal/signalfx-agent/pkg/monitors/collectd/metadata/metadata.yaml delete mode 100644 internal/signalfx-agent/pkg/monitors/collectd/metadata/template.go delete mode 100644 internal/signalfx-agent/pkg/monitors/metadata/common.go delete mode 100644 internal/signalfx-agent/pkg/monitors/metadata/hostmetadata/genmetadata.go delete mode 100644 internal/signalfx-agent/pkg/monitors/metadata/hostmetadata/hostmetadata.go delete mode 100644 internal/signalfx-agent/pkg/monitors/metadata/hostmetadata/metadata.yaml diff --git a/CHANGELOG.md b/CHANGELOG.md index 2962c62f39..a5bf9ffd1a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ ### 🛑 Breaking changes 🛑 - (Splunk) Remove httpsink exporter ([#](https://github.com/signalfx/splunk-otel-collector/pull/)) +- (Splunk) Remove signalfx-metadata and collectd/metadata monitors ([#](https://github.com/signalfx/splunk-otel-collector/pull/)) + Both monitors are deprecated and replaced by the hostmetricsreceiver and processlist monitor. ### 🚩Deprecations 🚩 diff --git a/internal/signalfx-agent/pkg/core/modules.go b/internal/signalfx-agent/pkg/core/modules.go index 1b4cc10974..f1b3c845da 100644 --- a/internal/signalfx-agent/pkg/core/modules.go +++ b/internal/signalfx-agent/pkg/core/modules.go @@ -50,7 +50,6 @@ import ( _ "github.com/signalfx/signalfx-agent/pkg/monitors/logstash/logstash" _ "github.com/signalfx/signalfx-agent/pkg/monitors/logstash/tcp" _ "github.com/signalfx/signalfx-agent/pkg/monitors/memory" - _ "github.com/signalfx/signalfx-agent/pkg/monitors/metadata/hostmetadata" _ "github.com/signalfx/signalfx-agent/pkg/monitors/mongodb/atlas" _ "github.com/signalfx/signalfx-agent/pkg/monitors/nagios" _ "github.com/signalfx/signalfx-agent/pkg/monitors/netio" diff --git a/internal/signalfx-agent/pkg/core/modules_linux.go b/internal/signalfx-agent/pkg/core/modules_linux.go index f23e6c1f68..1f3097e3a6 100644 --- a/internal/signalfx-agent/pkg/core/modules_linux.go +++ b/internal/signalfx-agent/pkg/core/modules_linux.go @@ -23,7 +23,6 @@ import ( _ "github.com/signalfx/signalfx-agent/pkg/monitors/collectd/kafkaproducer" _ "github.com/signalfx/signalfx-agent/pkg/monitors/collectd/memcached" _ "github.com/signalfx/signalfx-agent/pkg/monitors/collectd/memory" - _ "github.com/signalfx/signalfx-agent/pkg/monitors/collectd/metadata" _ "github.com/signalfx/signalfx-agent/pkg/monitors/collectd/mysql" _ "github.com/signalfx/signalfx-agent/pkg/monitors/collectd/nginx" _ "github.com/signalfx/signalfx-agent/pkg/monitors/collectd/processes" diff --git a/internal/signalfx-agent/pkg/monitors/collectd/metadata/genmetadata.go b/internal/signalfx-agent/pkg/monitors/collectd/metadata/genmetadata.go deleted file mode 100644 index ab53660dd1..0000000000 --- a/internal/signalfx-agent/pkg/monitors/collectd/metadata/genmetadata.go +++ /dev/null @@ -1,53 +0,0 @@ -// Code generated by monitor-code-gen. DO NOT EDIT. - -package metadata - -import ( - "github.com/signalfx/golib/v3/datapoint" - "github.com/signalfx/signalfx-agent/pkg/monitors" -) - -const monitorType = "collectd/signalfx-metadata" - -var groupSet = map[string]bool{} - -const ( - cpuUtilization = "cpu.utilization" - cpuUtilizationPerCore = "cpu.utilization_per_core" - diskSummaryUtilization = "disk.summary_utilization" - diskUtilization = "disk.utilization" - diskOpsTotal = "disk_ops.total" - memoryUtilization = "memory.utilization" - networkTotal = "network.total" -) - -var metricSet = map[string]monitors.MetricInfo{ - cpuUtilization: {Type: datapoint.Gauge}, - cpuUtilizationPerCore: {Type: datapoint.Gauge}, - diskSummaryUtilization: {Type: datapoint.Gauge}, - diskUtilization: {Type: datapoint.Gauge}, - diskOpsTotal: {Type: datapoint.Counter}, - memoryUtilization: {Type: datapoint.Gauge}, - networkTotal: {Type: datapoint.Counter}, -} - -var defaultMetrics = map[string]bool{ - cpuUtilization: true, - diskSummaryUtilization: true, - diskUtilization: true, - diskOpsTotal: true, - memoryUtilization: true, - networkTotal: true, -} - -var groupMetricsMap = map[string][]string{} - -var monitorMetadata = monitors.Metadata{ - MonitorType: "collectd/signalfx-metadata", - DefaultMetrics: defaultMetrics, - Metrics: metricSet, - SendUnknown: false, - Groups: groupSet, - GroupMetricsMap: groupMetricsMap, - SendAll: false, -} diff --git a/internal/signalfx-agent/pkg/monitors/collectd/metadata/metadata.go b/internal/signalfx-agent/pkg/monitors/collectd/metadata/metadata.go deleted file mode 100644 index dd629b4f51..0000000000 --- a/internal/signalfx-agent/pkg/monitors/collectd/metadata/metadata.go +++ /dev/null @@ -1,122 +0,0 @@ -//go:build linux -// +build linux - -package metadata - -//go:generate ../../../../scripts/collectd-template-to-go metadata.tmpl - -import ( - "errors" - - log "github.com/sirupsen/logrus" - - "github.com/signalfx/signalfx-agent/pkg/core/config" - "github.com/signalfx/signalfx-agent/pkg/monitors" - "github.com/signalfx/signalfx-agent/pkg/monitors/collectd" - "github.com/signalfx/signalfx-agent/pkg/utils/hostfs" -) - -var logger = log.WithFields(log.Fields{"monitorType": monitorType}) - -func init() { - monitors.Register(&monitorMetadata, func() interface{} { - return &Monitor{ - MonitorCore: *collectd.NewMonitorCore(CollectdTemplate), - logger: logger, - } - }, &Config{}) -} - -// Config is the monitor-specific config with the generic config embedded -type Config struct { - config.MonitorConfig `yaml:",inline" singleInstance:"true"` - WriteServerURL string `yaml:"writeServerURL"` - // (Deprecated) Please set the agent configuration `procPath` instead of - // this monitor configuration option. - // The path to the proc filesystem. Useful to override in containerized - // environments. - ProcFSPath string `yaml:"procFSPath" default:""` - // (Deprecated) Please set the agent configuration `etcPath` instead of this - // monitor configuration option. - // The path to the main host config dir. Useful to override in - // containerized environments. - EtcPath string `yaml:"etcPath" default:""` - // Collect the cpu utilization per core, reported as `cpu.utilization_per_core`. - PerCoreCPUUtil bool `yaml:"perCoreCPUUtil"` - // A directory where the metadata plugin can persist the history of - // successful host metadata syncs so that host metadata is not sent - // redundantly. - PersistencePath string `yaml:"persistencePath" default:"/var/run/signalfx-agent"` - // If true, process "top" information will not be sent. This can be useful - // if you have an extremely high number of processes and performance of the - // plugin is poor. This defaults to `false`, but should be set to `true` - // if using the `processlist` monitor since that duplicates this - // functionality. - OmitProcessInfo bool `yaml:"omitProcessInfo"` - // Set this to a non-zero value to enable the DogStatsD listener as part of - // this monitor. The listener will accept metrics on the DogStatsD format, - // and sends them as SignalFx datapoints to our backend. Setting to a value - // setting the `DogStatsDPort` to `0` will result in a random port assignment. - // **Note: The listener emits directly to SignalFx and will not be subject to - // filters configured with the SignalFx Smart Agent. Internal stats about the - // SignalFx Smart Agent will not reflect datapoints set through the DogStatsD listener** - DogStatsDPort *uint `yaml:"dogStatsDPort"` - // This is only required when running the DogStatsD listener. Set this to - // your SignalFx access token. - Token string `yaml:"token" neverLog:"true"` - // Optionally override the default ip that the DogStatsD listener listens - // on. (**default**: "0.0.0.0") - DogStatsDIP string `yaml:"dogStatsDIP"` - // This is optional only used when running the DogStatsD listener. - // By default the DogStatsD listener will emit to SignalFx Ingest. - // (**default**: "https://ingest.signalfx.com") - IngestEndpoint string `yaml:"ingestEndpoint"` - // Set this to enable verbose logging from the monitor - Verbose bool `yaml:"verbose"` -} - -// Validate will check the config for correctness. -func (c *Config) Validate() error { - if c.DogStatsDPort != nil && c.Token == "" { - return errors.New("you must configure 'token' with your SignalFx access token when running the DogStatsD listener") - } - if c.DogStatsDPort == nil && (c.Token != "" || c.IngestEndpoint != "" || c.DogStatsDIP != "") { - return errors.New("optional DogStatsD configurations have been set, but the DogStatsDPort is not configured") - } - return nil -} - -func (c *Config) GetExtraMetrics() []string { - var out []string - if c.PerCoreCPUUtil { - out = append(out, cpuUtilizationPerCore) - } - return out -} - -var _ config.ExtraMetrics = &Config{} - -// Monitor is the main type that represents the monitor -type Monitor struct { - collectd.MonitorCore - logger log.FieldLogger -} - -// Configure configures and runs the plugin in collectd -func (m *Monitor) Configure(conf *Config) error { - m.logger = m.logger.WithField("monitorID", conf.MonitorID) - conf.WriteServerURL = collectd.MainInstance().WriteServerURL() - if conf.ProcFSPath != "" { - m.logger.Warningf("please set the `procPath` top level agent configuration instead of the monitor level configuration") - } else { - // get top level configuration for /proc path - conf.ProcFSPath = hostfs.HostProc() - } - if conf.EtcPath != "" { - m.logger.Warningf("Please set the `etcPath` top level agent configuration instead of the monitor level configuration") - } else { - // get top level configuration for /etc path - conf.EtcPath = hostfs.HostEtc() - } - return m.SetConfigurationAndRun(conf) -} diff --git a/internal/signalfx-agent/pkg/monitors/collectd/metadata/metadata.tmpl b/internal/signalfx-agent/pkg/monitors/collectd/metadata/metadata.tmpl deleted file mode 100644 index 8f13f7686b..0000000000 --- a/internal/signalfx-agent/pkg/monitors/collectd/metadata/metadata.tmpl +++ /dev/null @@ -1,49 +0,0 @@ -LoadPlugin "python" -TypesDB "{{ pythonPluginRoot }}/signalfx/types.db.plugin" - - ModulePath "{{ pythonPluginRoot }}/signalfx/src" - LogTraces true - Interactive false - - Import "signalfx_metadata" - - {{with .IntervalSeconds -}} - Interval {{.}} - {{- end}} - Notifications true - URL "{{.WriteServerURL}}?monitorID={{.MonitorID}}" - Token {{if .Token}}"{{.Token}}"{{else}}"unnecessary"{{end}} - NotifyLevel "OKAY" - ProcPath "{{ .ProcFSPath }}" - EtcPath "{{ .EtcPath }}" - HostMetadata false - PerCoreCPUUtil {{ .PerCoreCPUUtil }} - Datapoints false - PersistencePath "{{ .PersistencePath }}" - ProcessInfo {{if .OmitProcessInfo}}false{{else}}true{{end}} - {{with .DogStatsDIP -}} - IP "{{.}}" - {{- end}} - {{with .DogStatsDPort -}} - DogStatsDPort {{.}} - {{- end}} - {{with .IngestEndpoint -}} - IngestEndpoint "{{.}}" - {{- end}} - {{with .Verbose -}} - Verbose {{.}} - {{- end}} - - - - - - - - Plugin "^signalfx-metadata$" - - - MetaData "monitorID" "{{.MonitorID}}" - - - diff --git a/internal/signalfx-agent/pkg/monitors/collectd/metadata/metadata.yaml b/internal/signalfx-agent/pkg/monitors/collectd/metadata/metadata.yaml deleted file mode 100644 index 10b6b0e629..0000000000 --- a/internal/signalfx-agent/pkg/monitors/collectd/metadata/metadata.yaml +++ /dev/null @@ -1,45 +0,0 @@ -monitors: -- dimensions: - doc: | - Collectd Python plugin that aggregates various metrics from other collectd - plugins. - - It has deprecated functionality to send host metadata and process "top" - info, but this has been replaced by the `host-metadata` and `processlist` - monitors, respectively. - - You can also [view the Python plugin - code](https://github.com/signalfx/collectd-signalfx/). - metrics: - cpu.utilization: - description: Percent of CPU used on this host. - default: true - type: gauge - cpu.utilization_per_core: - description: Percent of CPU used on each core. `perCoreCPUUtil` config must - be set to true. - default: false - type: gauge - disk.summary_utilization: - description: Percent of disk space utilized on all volumes on this host. - default: true - type: gauge - disk.utilization: - description: Percent of disk used on this volume. - default: true - type: gauge - disk_ops.total: - description: Total number of disk read and write operations on this host. - default: true - type: cumulative - memory.utilization: - description: Percent of memory in use on this host. - default: true - type: gauge - network.total: - description: Total amount of inbound and outbound network traffic on this host, - in bytes. - default: true - type: cumulative - monitorType: collectd/signalfx-metadata - properties: diff --git a/internal/signalfx-agent/pkg/monitors/collectd/metadata/template.go b/internal/signalfx-agent/pkg/monitors/collectd/metadata/template.go deleted file mode 100644 index 01c5d1893a..0000000000 --- a/internal/signalfx-agent/pkg/monitors/collectd/metadata/template.go +++ /dev/null @@ -1,65 +0,0 @@ -//go:build linux -// +build linux - -package metadata - -// AUTOGENERATED BY scripts/collectd-template-to-go. DO NOT EDIT!! - -import ( - "text/template" - - "github.com/signalfx/signalfx-agent/pkg/monitors/collectd" -) - -// CollectdTemplate is a template for a metadata collectd config file -var CollectdTemplate = template.Must(collectd.InjectTemplateFuncs(template.New("metadata")).Parse(` -LoadPlugin "python" -TypesDB "{{ pythonPluginRoot }}/signalfx/types.db.plugin" - - ModulePath "{{ pythonPluginRoot }}/signalfx/src" - LogTraces true - Interactive false - - Import "signalfx_metadata" - - {{with .IntervalSeconds -}} - Interval {{.}} - {{- end}} - Notifications true - URL "{{.WriteServerURL}}?monitorID={{.MonitorID}}" - Token {{if .Token}}"{{.Token}}"{{else}}"unnecessary"{{end}} - NotifyLevel "OKAY" - ProcPath "{{ .ProcFSPath }}" - EtcPath "{{ .EtcPath }}" - HostMetadata false - PerCoreCPUUtil {{ .PerCoreCPUUtil }} - Datapoints false - PersistencePath "{{ .PersistencePath }}" - ProcessInfo {{if .OmitProcessInfo}}false{{else}}true{{end}} - {{with .DogStatsDIP -}} - IP "{{.}}" - {{- end}} - {{with .DogStatsDPort -}} - DogStatsDPort {{.}} - {{- end}} - {{with .IngestEndpoint -}} - IngestEndpoint "{{.}}" - {{- end}} - {{with .Verbose -}} - Verbose {{.}} - {{- end}} - - - - - - - - Plugin "^signalfx-metadata$" - - - MetaData "monitorID" "{{.MonitorID}}" - - - -`)).Option("missingkey=error") diff --git a/internal/signalfx-agent/pkg/monitors/metadata/common.go b/internal/signalfx-agent/pkg/monitors/metadata/common.go deleted file mode 100644 index 7678996beb..0000000000 --- a/internal/signalfx-agent/pkg/monitors/metadata/common.go +++ /dev/null @@ -1,31 +0,0 @@ -package metadata - -import ( - "time" - - "github.com/signalfx/golib/v3/event" - "github.com/signalfx/signalfx-agent/pkg/monitors/types" -) - -// Monitor is a base monitor struct for emitting metadata properties -type Monitor struct { - Output types.Output -} - -// EmitProperty emits a property formatted as a signalfx metadata event -func (m *Monitor) EmitProperty(name string, val string) { - m.Output.SendEvent( - event.NewWithProperties( - "objects.host-meta-data", - event.AGENT, - map[string]string{ - "plugin": "signalfx-metadata", - "severity": "4", - }, - map[string]interface{}{ - "property": name, - "message": val, - }, - time.Now()), - ) -} diff --git a/internal/signalfx-agent/pkg/monitors/metadata/hostmetadata/genmetadata.go b/internal/signalfx-agent/pkg/monitors/metadata/hostmetadata/genmetadata.go deleted file mode 100644 index c445fb9473..0000000000 --- a/internal/signalfx-agent/pkg/monitors/metadata/hostmetadata/genmetadata.go +++ /dev/null @@ -1,36 +0,0 @@ -// Code generated by monitor-code-gen. DO NOT EDIT. - -package hostmetadata - -import ( - "github.com/signalfx/golib/v3/datapoint" - "github.com/signalfx/signalfx-agent/pkg/monitors" -) - -const monitorType = "host-metadata" - -var groupSet = map[string]bool{} - -const ( - sfxagentHostmetadata = "sfxagent.hostmetadata" -) - -var metricSet = map[string]monitors.MetricInfo{ - sfxagentHostmetadata: {Type: datapoint.Gauge}, -} - -var defaultMetrics = map[string]bool{ - sfxagentHostmetadata: true, -} - -var groupMetricsMap = map[string][]string{} - -var monitorMetadata = monitors.Metadata{ - MonitorType: "host-metadata", - DefaultMetrics: defaultMetrics, - Metrics: metricSet, - SendUnknown: false, - Groups: groupSet, - GroupMetricsMap: groupMetricsMap, - SendAll: false, -} diff --git a/internal/signalfx-agent/pkg/monitors/metadata/hostmetadata/hostmetadata.go b/internal/signalfx-agent/pkg/monitors/metadata/hostmetadata/hostmetadata.go deleted file mode 100644 index 23b1d4b426..0000000000 --- a/internal/signalfx-agent/pkg/monitors/metadata/hostmetadata/hostmetadata.go +++ /dev/null @@ -1,167 +0,0 @@ -package hostmetadata - -import ( - "context" - "crypto/rand" - "math/big" - "os" - "strings" - "time" - - "github.com/signalfx/golib/v3/datapoint" - "github.com/signalfx/golib/v3/metadata/hostmetadata" - "github.com/sirupsen/logrus" - - "github.com/signalfx/signalfx-agent/pkg/core/common/constants" - "github.com/signalfx/signalfx-agent/pkg/core/config" - "github.com/signalfx/signalfx-agent/pkg/monitors" - "github.com/signalfx/signalfx-agent/pkg/monitors/metadata" - "github.com/signalfx/signalfx-agent/pkg/utils" -) - -const ( - errNotAWS = "not an aws box" - uptimeMetricName = "sfxagent.hostmetadata" -) - -func init() { - monitors.Register(&monitorMetadata, func() interface{} { - return &Monitor{Monitor: metadata.Monitor{}, - startTime: time.Now()} - }, &Config{}) -} - -// Config for this monitor -type Config struct { - config.MonitorConfig `yaml:",inline" singleInstance:"true" acceptsEndpoints:"false"` -} - -// Monitor for host-metadata -type Monitor struct { - metadata.Monitor - startTime time.Time - cancel func() - logger logrus.FieldLogger -} - -func randInt(max int) int { - result, _ := rand.Int(rand.Reader, big.NewInt(int64(max))) - return int(result.Int64()) -} - -// Configure is the main function of the monitor, it will report host metadata -// on a varied interval -func (m *Monitor) Configure(conf *Config) error { - m.logger = logrus.WithFields(logrus.Fields{"monitorType": monitorType, "monitorID": conf.MonitorID}) - - // metadatafuncs are the functions to collect host metadata. - // putting them directly in the array raised issues with the return type of info - // By placing them inside of anonymous functions I can return (info, error) - metadataFuncs := []func() (info, error){ - func() (info, error) { return hostmetadata.GetCPU() }, - func() (info, error) { return hostmetadata.GetMemory() }, - func() (info, error) { return hostmetadata.GetOS() }, - } - - intervals := []time.Duration{ - // on startup with some 0-60s dither - time.Duration(randInt(60)) * time.Second, - // 1 minute after the previous because sometimes pieces of metadata - // aren't available immediately on startup like aws identity information - time.Duration(60) * time.Second, - // 1 hour after the previous with some 0-60s dither - time.Duration(randInt(60)+3600) * time.Second, - // 1 day after the previous with some 0-10m dither - time.Duration(randInt(60)+86400) * time.Second, - } - - // create contexts for managing the plugin loop - var ctx context.Context - ctx, m.cancel = context.WithCancel(context.Background()) - - m.logger.Debugf("Waiting %f seconds to emit metadata", intervals[0].Seconds()) - - // gather metadata on intervals - utils.RunOnArrayOfIntervals(ctx, - func() { m.ReportMetadataProperties(metadataFuncs) }, - intervals, utils.RepeatLast) - - // emit metadata metric - utils.RunOnInterval(ctx, - m.ReportUptimeMetric, - time.Duration(conf.IntervalSeconds)*time.Second, - ) - - return nil -} - -// info is an interface to the structs returned by the metadata packages in golib -type info interface { - ToStringMap() map[string]string -} - -// ReportMetadataProperties emits properties about the host -func (m *Monitor) ReportMetadataProperties(metadataFuncs []func() (info, error)) { - for _, f := range metadataFuncs { - meta, err := f() - - if err != nil { - // suppress the not an aws box error message it is expected - if err.Error() == errNotAWS { - m.logger.Debug(err) - } else { - m.logger.WithError(err).Errorf("an error occurred while gathering metrics") - } - continue - } - - // get the properties as a map - properties := meta.ToStringMap() - - // emit each key/value pair - for k, v := range properties { - m.EmitProperty(k, v) - } - } -} - -// ReportUptimeMetric report metrics -func (m *Monitor) ReportUptimeMetric() { - dims := map[string]string{ - "plugin": monitorType, - "signalfx_agent": os.Getenv(constants.AgentVersionEnvVar), - } - - if collectdVersion := os.Getenv(constants.CollectdVersionEnvVar); collectdVersion != "" { - dims["collectd"] = collectdVersion - } - - if osInfo, err := hostmetadata.GetOS(); err == nil { - kernelName := strings.ToLower(osInfo.HostKernelName) - dims["kernel_name"] = kernelName - dims["kernel_release"] = osInfo.HostKernelRelease - dims["kernel_version"] = osInfo.HostKernelVersion - - switch kernelName { - case "windows": - dims["os_version"] = osInfo.HostKernelRelease - case "linux": - dims["os_version"] = osInfo.HostLinuxVersion - } - } - - m.Output.SendDatapoints( - datapoint.New( - uptimeMetricName, - dims, - datapoint.NewFloatValue(time.Since(m.startTime).Seconds()), - datapoint.Counter, - time.Now(), - ), - ) -} -func (m *Monitor) Shutdown() { - if m.cancel != nil { - m.cancel() - } -} diff --git a/internal/signalfx-agent/pkg/monitors/metadata/hostmetadata/metadata.yaml b/internal/signalfx-agent/pkg/monitors/metadata/hostmetadata/metadata.yaml deleted file mode 100644 index dfed934df6..0000000000 --- a/internal/signalfx-agent/pkg/monitors/metadata/hostmetadata/metadata.yaml +++ /dev/null @@ -1,46 +0,0 @@ -monitors: -- dimensions: - collectd: - description: The version of collectd in the signalfx-agent - kernel_name: - description: The name of the host kernel. - kernel_release: - description: The release of the host kernel. - kernel_version: - description: The version of the host kernel. - os_version: - description: The version of the os on the host. - signalfx_agent: - description: The version of the signalfx-agent - doc: | - This monitor collects metadata properties about a - host. It is required for some views in SignalFx to operate. - - ```yaml - monitors: - - type: host-metadata - ``` - - In containerized environments host `/etc` and `/proc` may not be located - directly under the root path. You can specify the path to `proc` and `etc` - using the top level agent configurations `procPath` and `etcPath` - - ```yaml - procPath: /proc - etcPath: /etc - monitors: - - type: host-metadata - ``` - - Metadata updates occur on a sparse interval of approximately - 1m, 1m, 1h, 1d and continues repeating once per day. - Setting the `Interval` configuration for this monitor will not affect the - sparse interval on which metadata is collected. - metrics: - sfxagent.hostmetadata: - description: The time the hostmetadata monitor has been running in seconds. It - includes dimensional metadata about the host and agent. - default: true - type: gauge - monitorType: host-metadata - properties: diff --git a/packaging/bundle/collectd-plugins.yaml b/packaging/bundle/collectd-plugins.yaml index 71e3732605..209b7057b7 100644 --- a/packaging/bundle/collectd-plugins.yaml +++ b/packaging/bundle/collectd-plugins.yaml @@ -43,14 +43,6 @@ version: v1.2.2 repo: signalfx/redis-collectd-plugin -- name: signalfx - # Hardcode the metadata plugin commit until we can get it merged into master - # and tagged properly - version: 4d0e13f103b2e1b75ed4c7085784ef0279d6ab62 - repo: signalfx/signalfx-collectd-plugin - pip_packages: - - protobuf>=3.0.0,<4.21.0 - - name: solr version: v1.2.1 repo: signalfx/collectd-solr