Docs » Get started with the Splunk Distribution of the OpenTelemetry Collector » Migrate from SignalFx Smart Agent to the Splunk Distribution of OpenTelemetry Collector » Use Smart Agent monitors with the Collector

Use Smart Agent monitors with the Collector 🔗

Note

The Smart Agent receiver is fully supported only on x86_64/amd64 platforms.

The smartagent receiver and its associated extension are Collector components that allow you to add SignalFx Smart Agent monitors into the pipelines of your Splunk Distribution of OpenTelemetry Collector. Many monitors also require a Smart Agent release bundle, which the Splunk Distribution of OpenTelemetry Collector installs on supported x86_64/amd64 platforms.

Learn more about the Smart Agent receiver.

Configure the Smart Agent receiver 🔗

For each Smart Agent monitor you want to add to the Collector, add a smartagent receiver and smartagent service pipeline in your Collector configuration file. Each smartagent receiver acts as a drop-in replacement for its corresponding Smart Agent monitor.

Instead of using discoveryRule, use the Collector receiver creator and observer extensions. See Receiver creator receiver for more information.

If you’re using a SignalFx Forwarder monitor (deprecated), add it to both a traces and a metrics pipeline, and use a Sapm exporter and a SignalFx exporter, as each pipeline’s exporter, respectively. See more on exporters.

Configure metrics 🔗

To replace or modify metrics, use Collector processors.

Configure events 🔗

If you have a monitor that sends events, add it to a logs pipeline that uses a SignalFx exporter.

  • Sample monitors: kubernetes-events, nagios, processlist, and some telegraf monitors like telegraf/exec.

It’s recommended, and in the case of the Processlist monitor required, to put into the same pipeline a Resource Detection processor, which adds host information and other useful dimensions to the events. See the example below.

Configure metadata 🔗

If you have a monitor that updates dimension properties or tags, put the name of your SignalFx exporter in its dimensionClients field in the Collector’s SignalFx receiver configuration block.

  • Sample monitors: ecs-metadata, heroku-metadata, kubernetes-cluster, openshift-cluster, postgresql, or sql.

If you don’t specify any exporters in this array field, the receiver attempts to use the Collector pipeline to which it’s connected. If the next element of the pipeline isn’t compatible with updating dimensions, and if you configured a single SignalFx exporter, the receiver uses that SignalFx exporter. If you don’t require dimension updates, you can specify the empty array [] to deactivate it.

Smart Agent extension 🔗

The Smart Agent extension offers collectd and Python extensions. Extensions are available primarily for tasks that do not involve processing data. Examples of extensions include health monitoring, service discovery, and data forwarding. Extensions are optional.

See SignalFx Smart Agent Extension in GitHub to copy the configuration YAML file.

Example 🔗

receivers:
   smartagent/postgresql:
      type: postgresql
      host: mypostgresinstance
      port: 5432
      dimensionClients:
         - signalfx
   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
            - otlp
         processors:
            - resourcedetection
         exporters:
            - signalfx
      logs:
         receivers:
            - smartagent/processlist
         processors:
            - resourcedetection
         exporters:
            - signalfx
      traces:
         receivers:
            - otlp
         processors:
            - resourcedetection
         exporters:
            - sapm