smartagentreceiver

package module
v0.61.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 12, 2022 License: Apache-2.0 Imports: 40 Imported by: 0

README

SignalFx Smart Agent Receiver

Note: The SignalFx Smart Agent receiver is only supported on x86_64/amd64 platforms.

The Smart Agent Receiver allows you to utilize existing SignalFx Smart Agent monitors as OpenTelemetry Collector metric receivers. It assumes that you have a properly configured environment with a functional Smart Agent release bundle on your system, which is already provided for x86_64/amd64 Splunk Distribution of OpenTelemetry Collector installation paths.

Beta: All Smart Agent monitors are supported at this time. Configuration and behavior may change without notice.

Configuration

Each smartagent receiver configuration acts as a drop-in replacement for each supported Smart Agent Monitor configuration with some exceptions:

  1. Any Agent global or collectd desired configuration should be performed via the Smart Agent Extension.
  2. In lieu of discoveryRule support, the Collector's receivercreator and associated Observer extensions should be used.
  3. The signalfx-forwarder monitor should be made part of both metrics and traces pipelines utilizing the signalfx and sapm exporters, respectively.
  4. All metric content replacement and transformation rules should utilize existing Collector processors.
  5. Monitors with dimension property and tag update functionality allow an associated dimensionClients field that references the name of the SignalFx exporter you are using in your pipeline. These monitors include ecs-metadata, heroku-metadata, kubernetes-cluster, openshift-cluster, postgresql, and sql. If you do not specify any exporters via this field, the receiver will attempt to use the associated pipeline. If the next element of the pipeline isn't compatible with the dimension update behavior, and if you configured a single SignalFx exporter for your deployment, the exporter will be selected. If no dimension update behavior is desired, you can specify the empty array [] to disable.
  6. Monitors with event-sending functionality should also be made members of a logs pipeline that utilizes a SignalFx exporter that will make the event submission requests. It's recommended, and in the case of the Processlist monitor required, to use a Resource Detection processor to ensure that host identity and other useful information is made available as event dimensions. Receiver entries that should be added to logs pipelines include kubernetes-events, nagios, processlist, and potentially any telegraf/* monitors like telegraf/exec. The signalfx exporter is required for sending events to SignalFx, the splunk_hec exporter does not support sending events. An example of this is provided below.

Example:

receivers:
  smartagent/signalfx-forwarder:
    type: signalfx-forwarder
  smartagent/postgresql:
    type: postgresql
    host: mypostgresinstance
    port: 5432
    dimensionClients:
      - signalfx  # references the SignalFx Exporter configured below
  smartagent/processlist:
    type: processlist
  smartagent/kafka:
    type: collectd/kafka
    host: mykafkabroker
    port: 7099
    clusterName: mykafkacluster
    intervalSeconds: 5

processors:
  resourcedetection:
    detectors:
      - system

exporters:
  signalfx:
    access_token: "${SIGNALFX_ACCESS_TOKEN}"
    realm: us1
  sapm:
    access_token: "${SIGNALFX_ACCESS_TOKEN}"
    endpoint: https://ingest.us1.signalfx.com/v2/trace

service:
  pipelines:
    metrics:
      receivers:
        - smartagent/postgresql
        - smartagent/kafka
        - smartagent/signalfx-forwarder
      processors:
        - resourcedetection
      exporters:
        - signalfx
    logs:
      receivers:
        - smartagent/processlist
      processors:
        - resourcedetection
      exporters:
        - signalfx
    traces:
      receivers:
        - smartagent/signalfx-forwarder
      processors:
        - resourcedetection
      exporters:
        - sapm

For a more detailed description of migrating your Smart Agent monitor usage to the Splunk Distribution of OpenTelemetry Collector please see the migration guide.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateDefaultConfig

func CreateDefaultConfig() config.Receiver

func NewFactory

func NewFactory() component.ReceiverFactory

Types

type Config

type Config struct {
	config.ReceiverSettings `mapstructure:",squash"`
	// Generally an observer/receivercreator-set value via Endpoint.Target.
	// Will expand to MonitorCustomConfig Host and Port values if unset.
	Endpoint         string   `mapstructure:"endpoint"`
	DimensionClients []string `mapstructure:"dimensionClients"`
	// contains filtered or unexported fields
}

func (*Config) Unmarshal

func (cfg *Config) Unmarshal(componentParser *confmap.Conf) error

Unmarshal dynamically creates the desired Smart Agent monitor config from the provided receiver config content.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL