Use Smart Agent monitors with the Collector
Describes how to use Smart Agent monitors with the Smart Agent Receiver in the Collector.
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
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
.
A Resource Detection processor, which adds host information and other useful dimensions to events, must be included in the same pipeline, especially when using the Processlist monitor. 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
otlphttp:
access_token: "${SIGNALFX_ACCESS_TOKEN}"
traces_endpoint: https://ingest.us1.signalfx.com/v2/trace/otlp
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:
- otlphttp