github signalfx/splunk-otel-collector v0.145.0

14 hours ago

This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.145.0
and the opentelemetry-collector-contrib v0.145.0 releases where appropriate.

🛑 Breaking changes 🛑

  • (Splunk) installer.ps1: Remove FluentD support from PowerShell installer (#7137)
    FluentD support is removed after deprecation period.
    Prefer using the filelog receiver for log ingestion.
  • (Splunk) rpm/deb: Remove FluentD installation and configuration (#7138)
    FluentD is removed from debian and RPM packages after a period of deprecation.
    Please use the filelog receiver instead to ingest logs.
  • (Contrib) pkg/translator/azure: Updated OpenTelemetry semantic conversion to the latest version 1.38.0 in azure pkg. (#44801)
  • (Contrib) processor/resourcedetection: Promote processor.resourcedetection.removeGCPFaasID feature gate to Stable and is now always enabled (#45797)
    The faas.id attribute is replaced by the faas.instance attribute.
  • (Contrib) receiver/azure_event_hub: Upgrade receiver.azureeventhubreceiver.UseAzeventhubs feature gate to stable. (#45527)
  • (Contrib) receiver/kafka: Replace StartTracesOp/EndTracesOp with StartProfilesOp/EndProfilesOp in profilesHandler. (#45601)
    The span name generated by the profiles receiver now uses the ProfilesReceived suffix instead of TraceDataReceived.
  • (Contrib) receiver/prometheus: Promote receiver.prometheusreceiver.RemoveReportExtraScrapeMetricsConfig feature gate to beta (#44181)
    The report_extra_scrape_metrics configuration option is now ignored by default. Extra scrape metrics are instead controlled by the receiver.prometheusreceiver.EnableReportExtraScrapeMetrics feature gate and the Prometheus upstream configuration available in promconfig (either globally or per-scrape config).

🚩 Deprecations 🚩

  • (Splunk) collectd/opcache: Deprecate collectd/opcache (#7140)
    Deprecate the collectd/opcache monitor.
    It will be removed on or after April 2026.
    There is no direct replacement for this monitor. Please consider using the PHP SDK for OpenTelemetry moving forward.
  • (Splunk) collectd/php-fpm: Deprecate collectd/php-fpm (#7140)
    Deprecate the collectd/php-fpm monitor.
    It will be removed on or after April 2026.
    There is no direct replacement for this monitor. Please consider using the PHP SDK for OpenTelemetry moving forward.
  • (Splunk) collectd/protocols: Deprecate collectd/protocols (#7170)
    Please use the hostmetrics receiver with the network scraper instead.
  • (Splunk) includeconfigsource: Deprecate delete_files setting (#7141)
    Deprecate the delete_files include configsource setting, to be removed on or after April 2026.
  • (Splunk) smartagent/postgresql: Deprecate the postgresql monitor (#7142)
    This monitor is deprecated and will be removed on or after April 2026.
    Please use the postgresql receiver instead.
  • (Contrib) receiver/azure_event_hub: Rename azureeventhub receiver to azure_event_hub and add deprecated alias azureeventhub (#45637)
  • (Contrib) receiver/jmx: Deprecate the jmxreceiver to avoid running Java subprocesses in the Collector and prevent container-based deployments from requiring a Java runtime. (#45740)
  • (Contrib) receiver/mongodb_atlas: Rename mongodbatlas receiver to mongodb_atlas and add deprecated alias mongodbatlas (#45652)

🚀 New components 🚀

  • (Splunk) receiver/memcached: Add memcached receiver to the distribution (#7171)
    See README
  • (Splunk) receiver/saphana: Add SAP HANA receiver (#7162)
    See README
  • (Splunk) receiver/systemd: Add systemd receiver (#7143)
  • (Splunk) receiver/yanggrpc: Add YANG/gRPC receiver (#7161)
    Add new YANG/gRPC receiver

💡 Enhancements 💡

  • (Splunk) packaging: Update bundled OpenJDK to 11.0.30_7 (#7172)
  • (Splunk) packaging: Update Splunk OpenTelemetry Java agent to v2.24.0 (#7092)
  • (Splunk) packaging: Update Splunk OpenTelemetry .NET agent to v1.13.0 (#7132)
  • (Core) pkg/scraperhelper: ScraperID has been added to the logs for metrics, logs, and profiles (#14461)
  • (Contrib) connector/routing: Add move/copy support in routing connector (#45061)
  • (Contrib) exporter/googlecloudstorage: Add support for exporting traces to Google Cloud Storage (#44945)
  • (Contrib) exporter/signalfx: Add support for processing entity events from logs pipeline to send as dimension property updates (#27890)
    The SignalFx exporter now supports processing entity events (e.g., from k8s_cluster receiver)
    received via the logs pipeline and converting them to dimension property updates. This provides
    an alternative to the metadata_exporters option and enables consistent metadata handling.
    This feature is behind the exporter.signalfx.consumeEntityEvents feature gate (disabled by default).
  • (Contrib) extension/oauth2client: Support jwt-bearer grant-type (RFC7523) (#44314)
  • (Contrib) extension/opamp: This change adds support for the OpAMP AcceptsRestartCommand capability. The implementation for this capability sends a SIGHUP signal to restart the collector which will reload the config on startup. (#45056)
    This functionality is behind a feature gate (extension.opampextension.RemoteRestarts) that defaults to disabled. The SIGHUP signal does not work on Windows systems, but might later be updated to use the SIGUSR2 signal.
  • (Contrib) internal/coreinternal: Improve performance of hashing function for attraction package. (#45211)
  • (Contrib) pkg/fileconsumer: Open files on Windows with FILE_SHARE_DELETE mode (#32037)
  • (Contrib) pkg/ottl: Added generic path to get/set span flags in OTTL trace span context. (#34739)
  • (Contrib) pkg/ottl: Introducing delete_index function for deleting items from an existing array (#43098)
  • (Contrib) pkg/stanza: Ensure recombine operator does not split batches of entries (#42392)
  • (Contrib) pkg/stanza: Ensure container operator does not split batches of entries (#42389)
  • (Contrib) pkg/stanza: Ensure syslog operator does not split batches of entries (#42394)
  • (Contrib) pkg/translator/azurelogs: Add support for all Activity Logs categories (#44871)
    Includes support for the Alert, Autoscale, Policy, Recommendation, Security, ServiceHealth, and ResourceHealth categories.
  • (Contrib) processor/k8sattributes: Added processor-specific observability metrics: otelcol.k8s.pod.association with status, pod_identifier, and otelcol.signal attributes (#44587)
  • (Contrib) processor/resourcedetection: Add support for GCP resource detector to gather GCE instance labels as resource attributes (#35859)
    The GCP resource detector now supports gathering GCE instance labels as resource attributes, allowing for more detailed resource metadata in telemetry data.
  • (Contrib) processor/resourcedetection: Added Alibaba Cloud ECS resource detector to the Resource Detection Processor (#45632)
  • (Contrib) processor/tail_sampling: New policy type to return the opposite of the sampling decision of a wrapped policy. (#39668)
  • (Contrib) processor/tail_sampling: Add trace_flags policy (#43867)
  • (Contrib) processor/tail_sampling: Provide option to limit maximum trace size kept in memory by the tail sampling processor (#45286)
    Traces that exceed the size limit will be immediately dropped, not have a decision made for them.
  • (Contrib) receiver/azureblob: Replace deprecated azure-event-hubs-go SDK with azure-sdk-for-go (#44335)
  • (Contrib) receiver/filelog: Suppress repeated permission-denied errors (#39491)
    Only one error is logged per file per process run, and an informational message is emitted when the file becomes readable again.
    This reduces log spam and improves clarity for operators.
  • (Contrib) receiver/hostmetrics: Add support for Linux hugepages memory monitoring via system.memory.linux.hugepages metrics. (#42650)
    Users can now monitor hugepages usage on host machine.
  • (Contrib) receiver/jmx: Add the JMX scraper version "1.53.0-alpha" to the supported jars hash list (#45571)
  • (Contrib) receiver/jmx: Add the JMX metrics gatherer version "1.53.0-alpha" to the supported jars hash list (#45570)
  • (Contrib) receiver/k8sobjects: Add support for exclude_namespaces to exclude specific namespaces from being watched. (#36217)
    Add support for exclude_namespaces to exclude specific namespaces from being watched.
  • (Contrib) receiver/prometheus: Support removable Prometheus service discoveries via Go build tags. (#44406)
    Prometheus service discoveries can now be removed at build time when building the collector with OCB (OpenTelemetry Collector Builder).
    Use the build_tags option in the builder configuration to pass Go build tags such as remove_all_sd to exclude optional service discoveries.
    See the Prometheus documentation for available build tags to customize which service discoveries are included.
  • (Contrib) receiver/snowflake: Enables dynamic metric reaggregation in the Splunk Enterprise receiver. This does not break existing configuration files. (#45396)

🧰 Bug fixes 🧰

  • (Core) exporter/otlp_grpc: Fix the OTLP exporter balancer to use round_robin by default, as intended. (#14090)
  • (Core) pkg/config/configoptional: Fix Unmarshal methods not being called when config is wrapped inside Optional (#14500)
    This bug notably manifested in the fact that the sending_queue::batch::sizer config for exporters
    stopped defaulting to sending_queue::sizer, which sometimes caused the wrong units to be used
    when configuring sending_queue::batch::min_size and max_size.
    As part of the fix, xconfmap exposes a new xconfmap.WithForceUnmarshaler option, to be used in the Unmarshal methods
    of wrapper types like configoptional.Optional to make sure the Unmarshal method of the inner type is called.
    The default behavior remains that calling conf.Unmarshal on the confmap.Conf passed as argument to an Unmarshal
    method will skip any top-level Unmarshal methods to avoid infinite recursion in standard use cases.
  • (Core) pkg/confmap: Fix an issue where configs could fail to decode when using interpolated values in string fields. (#14413)
    For example, a header can be set via an environment variable to a string that is parseable as a number, e.g. 1234
  • (Core) pkg/service: Don't error on startup when process metrics are enabled on unsupported OSes (e.g. AIX) (#14307)
  • (Contrib) internal/metadataproviders: Fix kubeadm resource detector to correctly read clusterName from kubeadm configmap (#45603)
  • (Contrib) pkg/ottl: Fix debug logs in OTTL parser to not panic when marshalling transform contexts with invalid pdata (#44705)
  • (Contrib) pkg/stanza: Fix transformer operators logging errors at ERROR level when on_error is set to quiet mode (#42646)
  • (Contrib) pkg/stanza: Fix container operator log truncation for large CRI logs (#43982)
    Previously the option max_log_size of the container operator did not work correctly, with the maximum log size limited to an arbitrary value even if max_log_size was higher or set to 0 to remove the limit. With this change max_log_size: 0 works correctly, removing the upper limit on log size.
    The default value for max_log_size is now changed from 0 to 1MiB to prevent boundless memory usage.
  • (Contrib) pkg/stanza: Fix syslog parser operator logging errors at ERROR level when on_error is set to quiet mode (#42646)
  • (Contrib) pkg/stanza: Fix data race in fileconsumer FileAttributes map access (#42825)
  • (Contrib) processor/azuredetector: Avoid setting cloud.availability_zone when Azure Availability Zone is not assigned (#45642)
    In cases where an Azure VM is not assigned to any Availability Zone,
    the cloud.availability_zone attribute was being set to an empty string.
    This fix ensures that the attribute is only set when an Availability Zone
    is indeed assigned, preventing misleading empty values.
  • (Contrib) processor/azuredetector: Fallback to VM Name when osProfile.computerName is unavailable (#45642)
    In certain Azure images, the osProfile.computerName field may not be set.
    This fix ensures that the hostname detection falls back to using the VM Name
    from the instance metadata service when osProfile.computerName is empty.
  • (Contrib) processor/azuredetector: Avoid setting azure.vm.scaleset.name to empty when VM not in scale set (#45642)
    In scenarios where a VM is not part of a scale set, the
    azure.vm.scaleset.name attribute was being set to an empty string.
    This fix ensures that the attribute is only set when the VM is indeed
    part of a scale set, preventing misleading empty values.
  • (Contrib) processor/k8sattributes: Fix k8s.node.uid extraction when node.name is disabled (#45328)
  • (Contrib) receiver/awscontainerinsightreceiver: Add cAdvisor filesystem plugin imports to fix missing NodeFS and InstanceFS metrics (#45534)
  • (Contrib) receiver/filelog: Fixed encoding not being applied to multiline pattern matching (#39011)
    Previously, when using multiline pattern matching with non-UTF-8 encodings (e.g., utf-16le),
    the encoding was not properly applied during pattern matching, causing multiline patterns to fail.
    This fix ensures that the specified encoding is correctly applied when processing multiline patterns,
    allowing proper parsing of files with fixed-length records and no line terminators in various encodings.
  • (Contrib) receiver/journald: Avoid passing empty cursors to journalctl when resuming journald reads (#45435)
  • (Contrib) receiver/receiver_creator: Do not log config in receivercreator since it could contain sensitive information (#38163)

Docker Image Manifests:

  • Linux (amd64, arm64, ppc64le) and Windows (2019 amd64, 2022 amd64):
    • quay.io/signalfx/splunk-otel-collector:0.145.0
    • digest: sha256:6eff39756dcd03a0d20909221781d12a6747f23b36662ed83073b023c451af24

Don't miss a new splunk-otel-collector release

NewReleases is sending notifications on new releases.