This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.107.0 and the opentelemetry-collector-contrib v0.107.0 releases where appropriate.
This release fixes CVE-2024-42368 on the bearerauthtokenextension
(#34516). The Splunk distribution was not impacted by this CVE.
🐛 Known issues 🐛
We have identified an issue with this release concerning the handling of empty environment variable values in the collector configuration. The issue is tracked under open-telemetry/opentelemetry-collector#10949.
🛑 Breaking changes 🛑
- (Splunk)
confmap
: Do not expand special shell variable such as$*
in configuration files. (#5206) - (Splunk) Upgrade golang to 1.22 (#5248)
- (Core)
service
: Remove OpenCensus bridge completely, mark feature gate as stable. (#10414) - (Contrib) Update the scope name for telemetry produce by components. The following table summarizes the changes:
Component name | Previous scope | New scope | PR number |
---|---|---|---|
azureeventhubreceiver
| otelcol/azureeventhubreceiver
| github.com/open-telemetry/opentelemetry-collector-contrib/receiver/azureeventhubreceiver
| (#34611) |
cloudfoundryreceiver
| otelcol/cloudfoundry
| github.com/open-telemetry/opentelemetry-collector-contrib/receiver/cloudfoundryreceiver
| (#34612) |
azuremonitorreceiver
| otelcol/azuremonitorreceiver
| github.com/open-telemetry/opentelemetry-collector-contrib/receiver/azuremonitorreceiver
| (#34618) |
fileconsumer
| otelcol/fileconsumer
| github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza/fileconsumer
| (#34619) |
loadbalancingexporter
| otelcol/loadbalancing
| github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter
| (#34429) |
apachereceiver
| otelcol/apachereceiver
| github.com/open-telemetry/opentelemetry-collector-contrib/receiver/apachereceiver
| (#34517) |
countconnector
| otelcol/countconnector
| github.com/open-telemetry/opentelemetry-collector-contrib/connector/countconnector
| (#34583) |
elasticsearchreceiver
| otelcol/elasticsearchreceiver
| github.com/open-telemetry/opentelemetry-collector-contrib/receiver/elasticsearchreceiver
| (#34529) |
filterprocessor
| otelcol/filter
| github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor
| (#34550) |
fluentforwardreceiver
| otelcol/fluentforwardreceiver
| github.com/open-telemetry/opentelemetry-collector-contrib/receiver/fluentforwardreceiver
| (#34534) |
groupbyattrsprocessor
| otelcol/groupbyattrs
| github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbyattrsprocessor
| (#34550) |
haproxyreceiver
| otelcol/haproxyreceiver
| github.com/open-telemetry/opentelemetry-collector-contrib/receiver/haproxyreceiver
| (#34498) |
hostmetricsreceiver receiver's scrapers
| otelcol/hostmetricsreceiver/*
| github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver/internal/scraper/*
| (#34526) |
httpcheckreceiver
| otelcol/httpcheckreceiver
| github.com/open-telemetry/opentelemetry-collector-contrib/receiver/httpcheckreceiver
| (#34497) |
k8sattributesprocessor
| otelcol/k8sattributes
| github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor
| (#34550) |
k8sclusterreceiver
| otelcol/k8sclusterreceiver
| github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sclusterreceiver
| (#34536) |
kafkametricsreceiver
| otelcol/kafkametricsreceiver
| github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkametricsreceiver
| (#34538) |
kafkareceiver
| otelcol/kafkareceiver
| github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkareceiver
| (#34539) |
kubeletstatsreceiver
| otelcol/kubeletstatsreceiver
| github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver
| (#34537) |
mongodbatlasreceiver
| otelcol/mongodbatlasreceiver
| github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mongodbatlasreceiver
| (#34543) |
mongodbreceiver
| otelcol/mongodbreceiver
| github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mongodbreceiver
| (#34544) |
mysqlreceiver
| otelcol/mysqlreceiver
| github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mysqlreceiver
| (#34545) |
nginxreceiver
| otelcol/nginxreceiver
| github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nginxreceiver
| (#34493) |
oracledbreceiver
| otelcol/oracledbreceiver
| github.com/open-telemetry/opentelemetry-collector-contrib/receiver/oracledbreceiver
| (#34491) |
postgresqlreceiver
| otelcol/postgresqlreceiver
| github.com/open-telemetry/opentelemetry-collector-contrib/receiver/postgresqlreceiver
| (#34476) |
probabilisticsamplerprocessor
| otelcol/probabilisticsampler
| github.com/open-telemetry/opentelemetry-collector-contrib/processor/probabilisticsamplerprocessor
| (#34550) |
prometheusreceiver
| otelcol/prometheusreceiver
| github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver
| (#34589) |
rabbitmqreceiver
| otelcol/rabbitmqreceiver
| github.com/open-telemetry/opentelemetry-collector-contrib/receiver/rabbitmqreceiver
| (#34475) |
sshcheckreceiver
| otelcol/sshcheckreceiver
| github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sshcheckreceiver
| (#34448) |
vcenterreceiver
| otelcol/vcenter
| github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver
| (#34449) |
redisreceiver
| otelcol/redisreceiver
| github.com/open-telemetry/opentelemetry-collector-contrib/receiver/redisreceiver
| (#34470) |
routingprocessor
| otelcol/routing
| github.com/open-telemetry/opentelemetry-collector-contrib/processor/routingprocessor
| (#34550) |
solacereceiver
| otelcol/solacereceiver
| github.com/open-telemetry/opentelemetry-collector-contrib/receiver/solacereceiver
| (#34466) |
splunkenterprisereceiver
| otelcol/splunkenterprisereceiver
| github.com/open-telemetry/opentelemetry-collector-contrib/receiver/splunkenterprisereceiver
| (#34452) |
statsdreceiver
| otelcol/statsdreceiver
| github.com/open-telemetry/opentelemetry-collector-contrib/receiver/statsdreceiver
| (#34547) |
tailsamplingprocessor
| otelcol/tailsampling
| github.com/open-telemetry/opentelemetry-collector-contrib/processor/tailsamplingprocessor
| (#34550) |
sqlserverreceiver
| otelcol/sqlserverreceiver
| github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sqlserverreceiver
| (#34451) |
- (Contrib)
elasticsearchreceiver
: Enable more index metrics by default (#34396)
This enables the following metrics by default:
elasticsearch.index.documents
elasticsearch.index.operations.merge.current
elasticsearch.index.segments.count
To preserve previous behavior, update your Elasticsearch receiver configuration to disable these metrics. - (Contrib)
vcenterreceiver
: Enables all of the vSAN metrics by default. (#34409)
The following metrics will be enabled by default now:- vcenter.cluster.vsan.throughput
- vcenter.cluster.vsan.operations
- vcenter.cluster.vsan.latency.avg
- vcenter.cluster.vsan.congestions
- vcenter.host.vsan.throughput
- vcenter.host.vsan.operations
- vcenter.host.vsan.latency.avg
- vcenter.host.vsan.congestions
- vcenter.host.vsan.cache.hit_rate
- vcenter.vm.vsan.throughput
- vcenter.vm.vsan.operations
- vcenter.vm.vsan.latency.avg
- (Contrib)
vcenterreceiver
: Several host performance metrics now return 1 data point per time series instead of 5. (#34708)
The 5 data points previously sent represented consecutive 20s sampling periods. Depending on the collection interval
these could easily overlap. Sending just the latest of these data points is more in line with other performance metrics.
This change also fixes an issue with the googlecloud exporter seeing these datapoints as duplicates.
Following is the list of affected metrics which will now only report a single datapoint per set of unique attribute values.- vcenter.host.cpu.reserved
- vcenter.host.disk.latency.avg
- vcenter.host.disk.latency.max
- vcenter.host.disk.throughput
- vcenter.host.network.packet.drop.rate
- vcenter.host.network.packet.error.rate
- vcenter.host.network.packet.rate
- vcenter.host.network.throughput
- vcenter.host.network.usage
- (Splunk) Remove converters helping with old breaking changes. If those changes were not addressed, the collector will fail to start. (#5267)
- Moving TLS config options in HEC exporter under tls group
- Moving TLS insecure option in OTLP exporter under tls group
- Renaming processor: k8s_tagger -> k8sattributes
- Deprecation and removal of
ballast
extension - Debug exporter:
loglevel
->verbosity
renaming
🚀 New components 🚀
💡 Enhancements 💡
- (Core)
confmap
: Allow using any YAML structure as a string when loading configuration. (#10800)
Previous to this change, slices could not be used as strings in configuration. - (Core)
client
: Mark module as stable. (#10775) - (Contrib)
azureeventhubreceiver
: Added traces support in azureeventhubreceiver (#33583) - (Contrib)
processor/k8sattributes
: Add support forcontainer.image.repo_digests
metadata (#34029) - (Contrib)
hostmetricsreceiver
: add reporting interval to entity event (#34240) - (Contrib)
elasticsearchreceiver
: Add metric for active index merges (#34387) - (Contrib)
kafkaexporter
: add an ability to partition logs based on resource attributes. (#33229) - (Contrib)
pkg/ottl
: Add support for map literals in OTTL (#32388) - (Contrib)
pkg/ottl
: Introduce ExtractGrokPatterns converter (#32593) - (Contrib)
pkg/ottl
: Add theMD5
function to convert thevalue
into a MD5 hash/digest (#33792) - (Contrib)
pkg/ottl
: Introducesha512
converter to generate SHA-512 hash/digest from given payload. (#34007) - (Contrib)
kafkametricsreceiver
: Add option to configure cluster alias name and add new metrics for kafka topic configurations (#34148) - (Contrib)
receiver/splunkhec
: Add a regex to enforce metrics naming for Splunk events fields based on metrics documentation. (#34275) - (Contrib)
filelogreceiver
: Check for unsupported fractional seconds directive when converting strptime time layout to native format (#34390) - (Contrib)
windowseventlogreceiver
: Add remote collection support to Stanza operator windows pkg to support remote log collect for the Windows Event Log receiver. (#33100) - (Contrib)
solacereceiver
: Updated the format for generated metrics. Included areceiver_name
attribute that identifies the Solace receiver that generated the metrics (#34541) - (Contrib)
metricstransformprocessor
: Add scaling exponential histogram support (#29803)
🧰 Bug fixes 🧰
- (Core)
configtelemetry
: Add 10s read header timeout on the configtelemetry Prometheus HTTP server. (#5699) - (Core)
service
: Allow users to disable the tracer provider via the feature gateservice.noopTracerProvider
(#10858)
The service is returning an instance of a SDK tracer provider regardless of whether there were any processors configured causing resources to be consumed unnecessarily. - (Core)
processorhelper
: Fix processor metrics not being reported initially with 0 values. (#10855) - (Core)
service
: Implement thetemporality_preference
setting for internal telemetry exported via OTLP (#10745) - (Core)
configauth
: Fix unmarshaling of authentication in HTTP servers. (#10750) - (Core)
component
: Allow component names of up to 1024 characters in length. (#10816) - (Core)
service
: Fix memory leaks during service package shutdown (#9241) - (Core)
batchprocessor
: Update units for internal telemetry (#10652) - (Contrib)
configauth
: Fix unmarshaling of authentication in HTTP servers. (#34325)
This brings in a bug fix from the core collector. See open-telemetry/opentelemetry-collector#10750. - (Contrib)
docker_observer
: Change default endpoint fordocker_observer
on Windows tonpipe:////./pipe/docker_engine
(#34358) - (Contrib)
pkg/translator/jaeger
: Change the translation to jaeger spans to match semantic conventions. (#34368)
otel.library.name
is deprecated and replaced byotel.scope.name
otel.library.version
is deprecated and replaced byotel.scope.version
- (Contrib)
pkg/stanza
: Ensure that errors fromProcess
andWrite
do not break for loops (#34295) - (Contrib)
azuremonitorreceiver
: Add Azure China as acloud
option. (#34315) - (Contrib)
postgresqlreceiver
: Support unix socket based replication by handling null values in the client_addr field (#33107) - (Contrib)
splunkhecexporter
: Copy the bytes to be placed in the request body to avoid corruption on reuse (#34357)
This bug is a manifestation of golang/go#51907.
Under high load, the pool of buffers used to send requests is reused enough
that the same buffer is used concurrently to process data and be sent as request body.
The fix is to copy the payload into a new byte array before sending it. - (Contrib)
pkg/stanza
: fix nil value conversion (#34672)
Docker Image Manifests:
- Linux (amd64, arm64, ppc64le) and Windows (2019 amd64, 2022 amd64):
quay.io/signalfx/splunk-otel-collector:0.107.0
- digest:
sha256:b9f1461dd770435456904fce0738c29f8e729e5d901815a8ced2b32a642ca6e2
- Windows (2019 amd64, 2022 amd64):
quay.io/signalfx/splunk-otel-collector-windows:0.107.0
- digest:
sha256:18b2e421c71aebd88d473a12ae7ebf73b69929c6d8b4dbe424d2f8dd74090c4e