Use Smart Agent monitors with the Collector 🔗
Caution
Smart Agent monitors are being deprecated and will no longer be available to send data to Splunk Observability Cloud when they reach End of Support. Instead, you can use native OpenTelemetry receivers to gather data with the OTel Collector. See Use native OTel components to monitor you applications or services.
The Smart Agent receiver and its associated extension are Collector components that allow you to add legacy SignalFx Smart Agent monitors to 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 at Smart Agent receiver and Collector components. For a list of available application monitors, see Supported integrations in Splunk Observability Cloud.
Use native OTel components to monitor you applications or services 🔗
Some Smart Agent monitors are being deprecated, and during this period only critical security and bug fixes are provided. When End of Support is reached, the monitor will be removed and no longer be supported, and you won’t be able to use it with the Smart Agent receiver to send data to Splunk Observability Cloud.
If a monitor has been deprecated, you can use a native OTel receiver to monitor you applications or services instead. Find the list of available receivers at Collector components: Receivers.
Use the Smart Agent receiver with active application integrations or monitors 🔗
Note
The Smart Agent receiver is fully supported only on x86_64/amd64 platforms.
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 the Smart Agent receiver 🔗
To configure your different data types, see:
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 liketelegraf/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
, orsql
.
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.
Configuration 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