SolarWinds OpenTelemetry Collector is a distribution of OpenTelemetry Collector with components bundled from opentelemetry-collector and opentelemetry-collector-contrib. It also contains specific SolarWinds components for easier usage and enhanced telemetry collection.
Get the image from DockerHub.
docker pull solarwinds/solarwinds-otel-collector:latest
To run the image utilize following command:
docker run -v ./your_config_file.yaml:/opt/default-config.yaml solarwinds-otel-collector:latest
See complete docker documentation.
Then you can build binary for any of the distributions. You can choose from verified
, playground
and k8s
.
Values for distribution parameter are the names of subfolders in ./distributions/*
.
make build distribution=verified
After successful build, solarwinds-otel-collector-{distribution}
should be present in _build
folder.
Run solarwinds-otel-collector-{distribution} --config=config.yaml
.
Configuration for SolarWinds OTel Collector has to contain SolarWinds Extension and Solarwinds Exporter.
- Generate your ingestion token in SWO. See API Tokens.
- Create a
config.yaml
file that contains configuration for the SolarWinds OTel Collector. Insert the ingestion token and choose a correct data center (na-01, na-02, eu-01, ap-01). Specify the collector name.
service:
extensions: [solarwinds]
pipelines:
metrics:
receivers: [redis]
exporters: [solarwinds]
receivers:
redis:
endpoint: "<redis-url>:6379"
collection_interval: 10s
password: ${env:REDIS_PASSWORD}
extensions:
solarwinds:
token: "<ingestion-token>"
data_center: "na-01"
collector_name: "<collector-name>"
exporters:
solarwinds:
- Pull the SolarWinds OTel Collector from DockerHub.
docker pull solarwinds/solarwinds-otel-collector:playground
- Start the container with your
config.yaml
.
docker run -v ./config.yaml:/opt/default-config.yaml solarwinds/solarwinds-otel-collector:playground
The verified
distribution contains only the components listed below. With the verified
distribution, you will receive support with configuration, and the components have been tested by Solarwinds.
Receivers | Processors | Exporters | Extensions | Connectors |
---|---|---|---|---|
apachereceiver | memorylimiterprocessor | solarwindsexporter | solarwindsextension | forwardconnector |
prometheusreceiver | resourceprocessor | debugexporter | memorylimiterextension | routingconnector |
dockerstatsreceiver | resourcedetectionprocessor | nopexporter | healthcheckextension | solarwindsentityconnector |
elasticsearchreceiver | metricstransformprocessor | otlpexporter | k8sobserver | |
iisreceiver | cumulativetodeltaprocessor | fileexporter | solarwindsapmsettingsextension | |
memcachedreceiver | deltatorate | filestorage | ||
nginxreceiver | metricsgenerationprocessor | |||
oracledbreceiver | transformprocessor | |||
otlpreceiver | filterprocessor | |||
rabbitmqreceiver | batchprocessor | |||
redisreceiver | attributesprocessor | |||
snowflakereceiver | deltatocumulativeprocessor | |||
zookeeperreceiver | deltatorateprocessor | |||
nopreceiver | groupbyattrsprocessor | |||
filelogreceiver | groupbytraceprocessor | |||
haproxyreceiver | k8sattributesprocessor | |||
hostmetricsreceiver | k8seventgenerationprocessor | |||
journaldreceiver | swok8sworkloadtypeprocessor | |||
k8seventsreceiver | ||||
k8sobjectsreceiver | ||||
kafkareceiver | ||||
receivercreator | ||||
simpleprometheusreceiver | ||||
statsdreceiver | ||||
swohostmetricsreceiver | ||||
swok8sobjectsreceiver |
Full set of components is available in the manifest.
The playground
distribution contains all components from verified
distribution plus most of the components from opentelemetry-collector-contrib
and opentelemetry-collector
repositories. When using the playground distribution, we will not provide support with configuration. Also we cannot guaratee that all components from the mentioned repositories are working as expected.
Full set of components is available in the manifest.
The k8s
distribution contains only the components required for the Kubernetes monitoring in Solarwinds Obervability platform.
Full set of components is available in the manifest.
See CONTRIBUTING.md.