Getting Started • Getting Involved • Migrating from Smart Agent
Components • Monitoring • Security • Sizing • Troubleshooting
The Splunk OpenTelemetry Collector for Kubernetes is a Helm chart for the Splunk Distribution of OpenTelemetry Collector. This chart creates a Kubernetes DaemonSet along with other Kubernetes objects in a Kubernetes cluster and provides a unified way to receive, process and export metric, trace, and log data for:
Installations that use this distribution can receive direct help from Splunk's support teams. Customers are free to use the core OpenTelemetry OSS components (several do!) and we will provide best effort guidance to them for any issues that crop up, however only the Splunk distributions are in scope for official Splunk support and support-related SLAs.
This distribution currently supports:
- Splunk APM via the
sapm
exporter. Theotlphttp
exporter can be used with a custom configuration. More information available here. - Splunk Infrastructure
Monitoring
via the
signalfx
exporter. More information available here. - Splunk Log Observer via
the
splunk_hec
exporter. - Splunk Cloud or
Splunk
Enterprise via
the
splunk_hec
exporter.
The Helm chart currently uses Fluentd by default for Kubernetes logs collection, and supports an option to use native OpenTelemetry logs collection for higher throughput and performance. See the logs collection section for more information, along with performance benchmarks run internally.
🚧 This project is currently in BETA. It is officially supported by Splunk. However, breaking changes MAY be introduced.
This helm chart is tested and works with default configurations on the following Kubernetes distributions:
- Vanilla (unmodified version) Kubernetes
- Amazon Elastic Kubernetes Service
- Azure Kubernetes Service
- Google Kubernetes Engine
- Red Hat OpenShift
While this helm chart should work for other Kubernetes distributions, it may require additional configurations applied to values.yaml.
The following prerequisites are required to use the helm chart:
-
Helm 3 (Helm 2 is not supported)
-
To send data to Splunk Enterprise/Cloud
- HEC Token
- HEC Endpoint
-
To send data to Splunk Observability Cloud
In order to install Splunk OpenTelemetry Collector in a Kubernetes cluster, at
least one of the destinations (splunkPlatform
or splunkObservability
) has
to be configured.
For Splunk Enterprise/Cloud the following parameters are required:
splunkPlatform.endpoint
: URL to a Splunk instance, e.g. "http://localhost:8088/services/collector"splunkPlatform.token
: Splunk HTTP Event Collector token
For Splunk Observability Cloud the following parameters are required:
splunkObservability.realm
: Splunk realm to send telemetry data to.splunkObservability.accessToken
: Your Splunk Observability org access token.clusterName
: arbitrary value that will identify your Kubernetes cluster in Splunk Observability Cloud.
To deploy the chart to send data to Splunk Observability Cloud run the following commands replacing the parameters above with their appropriate values.
$ helm repo add splunk-otel-collector-chart https://signalfx.github.io/splunk-otel-collector-chart
$ helm install my-splunk-otel-collector --set="splunkObservability.realm=us0,splunkObservability.accessToken=xxxxxx,clusterName=my-cluster" splunk-otel-collector-chart/splunk-otel-collector
Instead of setting helm values as arguments a YAML file can be provided:
$ helm install my-splunk-otel-collector --values my_values.yaml splunk-otel-collector-chart/splunk-otel-collector
The rendered directory contains pre-rendered Kubernetes resource manifests.
To uninstall/delete a deployment with name my-splunk-otel-collector
:
$ helm delete my-splunk-otel-collector
The command removes all the Kubernetes components associated with the chart and deletes the release.
To fully configure the Helm chart, see the advanced configuration.