Upgrade the Collector for Linux

Upgrade the Splunk Distribution of OpenTelemetry Collector for Linux.

The installer script uses one of the supported package managers to install the Collector.

When you update the Collector using the official packages, configuration files are never overridden. If you need to update the configuration after an update, edit them manually before backward compatibility is dropped.

The installer script uses one of the supported package managers to install the Collector.

When you update the Collector using the official packages, configuration files are never overridden. If you need to update the configuration after an update, edit them manually before backward compatibility is dropped.

General guidelines

Apply the following changes to the Collector configuration files for specific version upgrades.

From 0.96.1 to 0.97.0

memory_ballast is no longer effective. You can now control garbage collection with a soft memory limit using the SPLUNK_MEMORY_TOTAL_MIB env var, which is set to 90% of the total memory by default. For more information, see Environment variables.

Follow these steps to ensure your Collector instances work correctly:

  • If you haven’t customized memory_ballast, remove it from the configuration.

  • If you have customized memory_ballast using SPLUNK_BALLAST_SIZE_MIB (or extensions::memory_ballast::size_mib config), remove the memory_ballast extension and use the GOMEMLIMIT environment variable to set a custom soft memory limit:

    • To increase frequency of garbage collection set GOMEMLIMIT to a higher value than the default 90% of total memory.

    • To decrease frequency of garbage collection set GOMEMLIMIT to a lower value than the default 90% of total memory.

    • For more information, see Go environment variables .

From 0.68.0 to 0.69.0

The gke and gce resource detectors in the resourcedetection processor have been replaced with the gcp resource detector. If you have gke and gce detectors configured in the resourcedetection processor, update your configuration accordingly.

For more information, see Resource detection processor.

From 0.41.0 to 0.42.0

The Splunk Distribution of the OpenTelemetry Collector used to evaluate user configuration twice and this required escaping of each $ symbol with $$ to prevent unwanted environment variable expansion. The issue was fixed in the 0.42.0 version. Any occurrences of $$ in your configuration need to be replaced with $.

From 0.35.0 to 0.36.0

Move the config parameter exporters -> otlp -> insecure to exporters -> otlp -> tls -> insecure.

The otlp exporter configuration must look like this:

exporters:
  otlp:
    endpoint: "${SPLUNK_GATEWAY_URL}:4317"
    tls:
      insecure: true

From 0.34.0 to 0.35.0

Move the ballast_size_mib parameter from the memory_limiter processor to the memory_ballast extension, and rename it to size_mib.

extensions:
  memory_ballast:
    size_mib: ${SPLUNK_BALLAST_SIZE_MIB}

Upgrade the Collector for Linux

Run the following commands on your system to upgrade the Collector. It requires root privileges:

Debian

debian
sudo apt-get update
sudo apt-get install --only-upgrade splunk-otel-collector
Note: If the default configuration files in /etc/otel/collector have been modified after the initial installation, you might be prompted to keep the existing files or overwrite the files from the new package.

RPM

The package managers are yum, dnf, and zypper.

yum
sudo yum upgrade splunk-otel-collector
dnf
sudo dnf upgrade splunk-otel-collector
zypper
sudo zypper refresh
sudo zypper update splunk-otel-collector
Note: If the default configuration files in /etc/otel/collector have been modified after initial installation, the existing files are preserved and the files from the new package can be installed with an .rpmnew extension.