diff --git a/deployments/puppet/CHANGELOG.md b/deployments/puppet/CHANGELOG.md index 443c300ab3..c61ca3fa43 100644 --- a/deployments/puppet/CHANGELOG.md +++ b/deployments/puppet/CHANGELOG.md @@ -2,6 +2,15 @@ ## Unreleased +## puppet-v0.18.0 + +- Breaking change: The default for the `auto_instrumentation_otlp_endpoint` option has been changed from + `http://127.0.0.1:4317` to `''` (empty), i.e. defer to the default `OTEL_EXPORTER_OTLP_ENDPOINT` value for each + activated SDK. +- Add support for the `auto_instrumentation_otlp_endpoint_protocol`, `auto_instrumentation_metrics_exporter`, and + `auto_instrumentation_logs_exporter` options to configure the `OTEL_EXPORTER_OTLP_PROTOCOL`, `OTEL_METRICS_EXPORTER`, + and `OTEL_LOGS_EXPORTER` environment variables, respectively. + ## puppet-v0.17.0 - Use `$facts['os']['family']` instead of the legacy `$::osfamily` fact diff --git a/deployments/puppet/README.md b/deployments/puppet/README.md index c4d198afec..b116ac2251 100644 --- a/deployments/puppet/README.md +++ b/deployments/puppet/README.md @@ -88,23 +88,26 @@ This class accepts the following parameters: **Note:** The application(s) to be instrumented need to be restarted separately after installation or any configuration changes in order for auto instrumentation to take effect. -| Name | Description | Default value | -|:------------------------------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:--------------------------------------------------------------| -| `with_auto_instrumentation` | **Linux only**: Whether to install/manage [Splunk OpenTelemetry Auto Instrumentation](https://github.com/signalfx/splunk-otel-collector/tree/main/instrumentation). When set to `true`, the `splunk-otel-auto-instrumentation` deb/rpm package will be downloaded and installed from the Collector repository. | `false` | -| `with_auto_instrumentation_sdks` | **Linux only**: Which SDKs to install. .NET only supported on amd64/x86_64. | `['java','nodejs','dotnet']` | -| `auto_instrumentation_npm_path` | **Linux only**: The path to the `npm` executable used for installation of the splunk-otel-js Node.js package. | `npm` | -| `auto_instrumentation_version` | **Linux only**: Version of the `splunk-otel-auto-instrumentation` package to install, e.g. `0.50.0`. The minimum supported version for Java is `0.48.0`. The minimum supported version for Node.js is `0.87.0`. The minimum supported version for .NET is `0.99.0`. | `latest` | -| `auto_instrumentation_systemd` | **Linux only**: By default, the `/etc/ld.so.preload` file on the node will be configured for the `/usr/lib/splunk-instrumentation/libsplunk.so` [shared object library](https://github.com/signalfx/splunk-otel-collector/tree/main/instrumentation) provided by the `splunk-otel-auto-instrumentation` package to activate and configure auto instrumentation system-wide for all supported applications. Alternatively, set this option to `true` to activate and configure auto instrumentation ***only*** for supported applications running as `systemd` services. If this option is set to `true`, `/usr/lib/splunk-instrumentation/libsplunk.so` will not be added to `/etc/ld.so.preload`. Instead, the `/usr/lib/systemd/system.conf.d/00-splunk-otel-auto-instrumentation.conf` `systemd` drop-in file will be created and configured for environment variables based on the default and specified options. | `false` | -| `auto_instrumentation_ld_so_preload` | **Linux only**: Configure this variable to include additional library paths, e.g. `/path/to/my.library.so`, to `/etc/ld.so.preload`. | None | -| `auto_instrumentation_java_agent_jar` | **Linux only**: Path to the [Splunk OpenTelemetry Java agent](https://github.com/signalfx/splunk-otel-java). The default path is provided by the `splunk-otel-auto-instrumentation` package. If the path is changed from the default value, the path should be an existing file on the node. | `/usr/lib/splunk-instrumentation/splunk-otel-javaagent.jar` | -| `auto_instrumentation_resource_attributes` | **Linux only**: Configure the OpenTelemetry instrumentation resource attributes, e.g. `deployment.environment=prod,my.key=value`. | None | -| `auto_instrumentation_service_name` | **Linux only**: Explicitly set the service name for ***all*** instrumented applications, e.g. `my.service`. By default, the service name is automatically generated for each instrumented application. | None | -| **DEPRECATED** `auto_instrumentation_generate_service_name` | **Linux only**: Set this option to `false` to prevent the preloader from setting the `OTEL_SERVICE_NAME` environment variable. Only applicable if `auto_instrumentation_version` is < `0.87.0`. | `true` | -| **DEPRECATED** `auto_instrumentation_disable_telemtry` | **Linux only**: Enable or disable the preloader from sending the `splunk.linux-autoinstr.executions` metric to the local collector. Only applicable if `auto_instrumentation_version` is < `0.87.0`. | `false` | -| `auto_instrumentation_enable_profiler` | **Linux only**: Enable or disable AlwaysOn CPU Profiling. | `false` | -| `auto_instrumentation_enable_profiler_memory` | **Linux only**: Enable or disable AlwaysOn Memory Profiling. | `false` | -| `auto_instrumentation_enable_metrics` | **Linux only**: Enable or disable exporting instrumentation metrics. | `false` | -| `auto_instrumentation_otlp_endpoint` | **Linux only**: Set the OTLP gRPC endpoint for captured traces. Only applicable if `auto_instrumentation_version` is `latest` or >= `0.87.0`. | `http://127.0.0.1:4317` | +| Name | Description | Default value | +|:------------------------------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------------| +| `with_auto_instrumentation` | **Linux only**: Whether to install/manage [Splunk OpenTelemetry Auto Instrumentation](https://github.com/signalfx/splunk-otel-collector/tree/main/instrumentation). When set to `true`, the `splunk-otel-auto-instrumentation` deb/rpm package will be downloaded and installed from the Collector repository. | `false` | +| `with_auto_instrumentation_sdks` | **Linux only**: Which SDKs to install. .NET only supported on amd64/x86_64. | `['java','nodejs','dotnet']` | +| `auto_instrumentation_npm_path` | **Linux only**: The path to the `npm` executable used for installation of the splunk-otel-js Node.js package. | `npm` | +| `auto_instrumentation_version` | **Linux only**: Version of the `splunk-otel-auto-instrumentation` package to install, e.g. `0.50.0`. The minimum supported version for Java is `0.48.0`. The minimum supported version for Node.js is `0.87.0`. The minimum supported version for .NET is `0.99.0`. | `latest` | +| `auto_instrumentation_systemd` | **Linux only**: By default, the `/etc/ld.so.preload` file on the node will be configured for the `/usr/lib/splunk-instrumentation/libsplunk.so` [shared object library](https://github.com/signalfx/splunk-otel-collector/tree/main/instrumentation) provided by the `splunk-otel-auto-instrumentation` package to activate and configure auto instrumentation system-wide for all supported applications. Alternatively, set this option to `true` to activate and configure auto instrumentation ***only*** for supported applications running as `systemd` services. If this option is set to `true`, `/usr/lib/splunk-instrumentation/libsplunk.so` will not be added to `/etc/ld.so.preload`. Instead, the `/usr/lib/systemd/system.conf.d/00-splunk-otel-auto-instrumentation.conf` `systemd` drop-in file will be created and configured for environment variables based on the default and specified options. | `false` | +| `auto_instrumentation_ld_so_preload` | **Linux only**: Configure this variable to include additional library paths, e.g. `/path/to/my.library.so`, to `/etc/ld.so.preload`. | None | +| `auto_instrumentation_java_agent_jar` | **Linux only**: Path to the [Splunk OpenTelemetry Java agent](https://github.com/signalfx/splunk-otel-java). The default path is provided by the `splunk-otel-auto-instrumentation` package. If the path is changed from the default value, the path should be an existing file on the node. | `/usr/lib/splunk-instrumentation/splunk-otel-javaagent.jar` | +| `auto_instrumentation_resource_attributes` | **Linux only**: Configure the OpenTelemetry instrumentation resource attributes, e.g. `deployment.environment=prod,my.key=value`. | None | +| `auto_instrumentation_service_name` | **Linux only**: Explicitly set the service name for ***all*** instrumented applications, e.g. `my.service`. By default, the service name is automatically generated for each instrumented application. | None | +| **DEPRECATED** `auto_instrumentation_generate_service_name` | **Linux only**: Set this option to `false` to prevent the preloader from setting the `OTEL_SERVICE_NAME` environment variable. Only applicable if `auto_instrumentation_version` is < `0.87.0`. | `true` | +| **DEPRECATED** `auto_instrumentation_disable_telemtry` | **Linux only**: Enable or disable the preloader from sending the `splunk.linux-autoinstr.executions` metric to the local collector. Only applicable if `auto_instrumentation_version` is < `0.87.0`. | `false` | +| `auto_instrumentation_enable_profiler` | **Linux only**: Enable or disable AlwaysOn CPU Profiling. | `false` | +| `auto_instrumentation_enable_profiler_memory` | **Linux only**: Enable or disable AlwaysOn Memory Profiling. | `false` | +| `auto_instrumentation_enable_metrics` | **Linux only**: Enable or disable exporting instrumentation metrics. | `false` | +| `auto_instrumentation_otlp_endpoint` | **Linux only**: Set the OTLP endpoint for captured traces. The value will be set to the `OTEL_EXPORTER_OTLP_ENDPOINT` environment variable. Only applicable if `auto_instrumentation_version` is `latest` or >= `0.87.0`. | None, i.e. defer to the default `OTEL_EXPORTER_OTLP_ENDPOINT` value for each activated SDK | +| `auto_instrumentation_otlp_endpoint_protocol` | **Linux only**: Set the protocol for the OTLP endpoint, for example `grpc` or `http/protobuf`. The value will be set to the `OTEL_EXPORTER_OTLP_PROTOCOL` environment variable. Only applicable if `auto_instrumentation_version` is `latest` or >= `0.104.0`. | None, i.e. defer to the default `OTEL_EXPORTER_OTLP_PROTOCOL` value for each activated SDK | +| `auto_instrumentation_metrics_exporter` | **Linux only**: Comma-separated list of exporters for collected metrics by all activated SDKs, for example `otlp,prometheus`. Set the value to `none` to disable collection and export of metrics. The value will be set to the `OTEL_METRICS_EXPORTER` environment variable. Only applicable if `auto_instrumentation_version` is `latest` or >= `0.104.0`. | None, i.e. defer to the default `OTEL_METRICS_EXPORTER` value for each activated SDK | +| `auto_instrumentation_logs_exporter` | **Linux only**: Set the exporter for collected logs by all activated SDKs, for example `otlp`. Set the value to `none` to disable collection and export of logs. The value will be set to the `OTEL_LOGS_EXPORTER` environment variable. Only applicable if `auto_instrumentation_version` is `latest` or >= `0.108.0`. | None, i.e. defer to the default `OTEL_LOGS_EXPORTER` value for each activated SDK | ## Dependencies diff --git a/deployments/puppet/manifests/init.pp b/deployments/puppet/manifests/init.pp index 0809d8aaeb..bef7683972 100644 --- a/deployments/puppet/manifests/init.pp +++ b/deployments/puppet/manifests/init.pp @@ -46,7 +46,10 @@ $auto_instrumentation_enable_profiler = false, # linux only $auto_instrumentation_enable_profiler_memory = false, # linux only $auto_instrumentation_enable_metrics = false, # linux only - $auto_instrumentation_otlp_endpoint = 'http://127.0.0.1:4317', # linux only + $auto_instrumentation_otlp_endpoint = '', # linux only + $auto_instrumentation_otlp_endpoint_protocol = '', # linux only + $auto_instrumentation_metrics_exporter = '', # linux only + $auto_instrumentation_logs_exporter = '', # linux only $with_auto_instrumentation_sdks = ['java', 'nodejs', 'dotnet'], # linux only $auto_instrumentation_npm_path = 'npm', # linux only $collector_additional_env_vars = {} diff --git a/deployments/puppet/metadata.json b/deployments/puppet/metadata.json index 23e98534c3..444e1912fb 100644 --- a/deployments/puppet/metadata.json +++ b/deployments/puppet/metadata.json @@ -1,6 +1,6 @@ { "name": "signalfx-splunk_otel_collector", - "version": "0.17.0", + "version": "0.18.0", "author": "Splunk, Inc.", "summary": "This module installs the Splunk OpenTelemetry Collector via distro packages and configures it.", "license": "Apache-2.0", diff --git a/deployments/puppet/templates/00-splunk-otel-auto-instrumentation.conf.erb b/deployments/puppet/templates/00-splunk-otel-auto-instrumentation.conf.erb index b3b829cc4e..7a99b6a4dc 100644 --- a/deployments/puppet/templates/00-splunk-otel-auto-instrumentation.conf.erb +++ b/deployments/puppet/templates/00-splunk-otel-auto-instrumentation.conf.erb @@ -26,4 +26,15 @@ DefaultEnvironment="OTEL_SERVICE_NAME=<%= @auto_instrumentation_service_name %>" DefaultEnvironment="SPLUNK_PROFILER_ENABLED=<%= @auto_instrumentation_enable_profiler.to_s.downcase %>" DefaultEnvironment="SPLUNK_PROFILER_MEMORY_ENABLED=<%= @auto_instrumentation_enable_profiler_memory.to_s.downcase %>" DefaultEnvironment="SPLUNK_METRICS_ENABLED=<%= @auto_instrumentation_enable_metrics.to_s.downcase %>" +<% if defined?(@auto_instrumentation_otlp_endpoint) && @auto_instrumentation_otlp_endpoint != "" -%> DefaultEnvironment="OTEL_EXPORTER_OTLP_ENDPOINT=<%= @auto_instrumentation_otlp_endpoint %>" +<% end -%> +<% if defined?(@auto_instrumentation_otlp_endpoint_protocol) && @auto_instrumentation_otlp_endpoint_protocol != "" -%> +DefaultEnvironment="OTEL_EXPORTER_OTLP_PROTOCOL=<%= @auto_instrumentation_otlp_endpoint_protocol %>" +<% end -%> +<% if defined?(@auto_instrumentation_metrics_exporter) && @auto_instrumentation_metrics_exporter != "" -%> +DefaultEnvironment="OTEL_METRICS_EXPORTER=<%= @auto_instrumentation_metrics_exporter %>" +<% end -%> +<% if defined?(@auto_instrumentation_logs_exporter) && @auto_instrumentation_logs_exporter != "" -%> +DefaultEnvironment="OTEL_LOGS_EXPORTER=<%= @auto_instrumentation_logs_exporter %>" +<% end -%> diff --git a/deployments/puppet/templates/dotnet.conf.erb b/deployments/puppet/templates/dotnet.conf.erb index 7f537ce4a1..96a889aedb 100644 --- a/deployments/puppet/templates/dotnet.conf.erb +++ b/deployments/puppet/templates/dotnet.conf.erb @@ -17,4 +17,15 @@ OTEL_SERVICE_NAME=<%= @auto_instrumentation_service_name %> SPLUNK_PROFILER_ENABLED=<%= @auto_instrumentation_enable_profiler.to_s.downcase %> SPLUNK_PROFILER_MEMORY_ENABLED=<%= @auto_instrumentation_enable_profiler_memory.to_s.downcase %> SPLUNK_METRICS_ENABLED=<%= @auto_instrumentation_enable_metrics.to_s.downcase %> +<% if defined?(@auto_instrumentation_otlp_endpoint) && @auto_instrumentation_otlp_endpoint != "" -%> OTEL_EXPORTER_OTLP_ENDPOINT=<%= @auto_instrumentation_otlp_endpoint %> +<% end -%> +<% if defined?(@auto_instrumentation_otlp_endpoint_protocol) && @auto_instrumentation_otlp_endpoint_protocol != "" -%> +OTEL_EXPORTER_OTLP_PROTOCOL=<%= @auto_instrumentation_otlp_endpoint_protocol %> +<% end -%> +<% if defined?(@auto_instrumentation_metrics_exporter) && @auto_instrumentation_metrics_exporter != "" -%> +OTEL_METRICS_EXPORTER=<%= @auto_instrumentation_metrics_exporter %> +<% end -%> +<% if defined?(@auto_instrumentation_logs_exporter) && @auto_instrumentation_logs_exporter != "" -%> +OTEL_LOGS_EXPORTER=<%= @auto_instrumentation_logs_exporter %> +<% end -%> diff --git a/deployments/puppet/templates/java.conf.erb b/deployments/puppet/templates/java.conf.erb index 0df6722597..10adc1d43e 100644 --- a/deployments/puppet/templates/java.conf.erb +++ b/deployments/puppet/templates/java.conf.erb @@ -10,4 +10,15 @@ OTEL_SERVICE_NAME=<%= @auto_instrumentation_service_name %> SPLUNK_PROFILER_ENABLED=<%= @auto_instrumentation_enable_profiler.to_s.downcase %> SPLUNK_PROFILER_MEMORY_ENABLED=<%= @auto_instrumentation_enable_profiler_memory.to_s.downcase %> SPLUNK_METRICS_ENABLED=<%= @auto_instrumentation_enable_metrics.to_s.downcase %> +<% if defined?(@auto_instrumentation_otlp_endpoint) && @auto_instrumentation_otlp_endpoint != "" -%> OTEL_EXPORTER_OTLP_ENDPOINT=<%= @auto_instrumentation_otlp_endpoint %> +<% end -%> +<% if defined?(@auto_instrumentation_otlp_endpoint_protocol) && @auto_instrumentation_otlp_endpoint_protocol != "" -%> +OTEL_EXPORTER_OTLP_PROTOCOL=<%= @auto_instrumentation_otlp_endpoint_protocol %> +<% end -%> +<% if defined?(@auto_instrumentation_metrics_exporter) && @auto_instrumentation_metrics_exporter != "" -%> +OTEL_METRICS_EXPORTER=<%= @auto_instrumentation_metrics_exporter %> +<% end -%> +<% if defined?(@auto_instrumentation_logs_exporter) && @auto_instrumentation_logs_exporter != "" -%> +OTEL_LOGS_EXPORTER=<%= @auto_instrumentation_logs_exporter %> +<% end -%> diff --git a/deployments/puppet/templates/node.conf.erb b/deployments/puppet/templates/node.conf.erb index b5a01591ea..2c18773cc9 100644 --- a/deployments/puppet/templates/node.conf.erb +++ b/deployments/puppet/templates/node.conf.erb @@ -10,4 +10,15 @@ OTEL_SERVICE_NAME=<%= @auto_instrumentation_service_name %> SPLUNK_PROFILER_ENABLED=<%= @auto_instrumentation_enable_profiler.to_s.downcase %> SPLUNK_PROFILER_MEMORY_ENABLED=<%= @auto_instrumentation_enable_profiler_memory.to_s.downcase %> SPLUNK_METRICS_ENABLED=<%= @auto_instrumentation_enable_metrics.to_s.downcase %> +<% if defined?(@auto_instrumentation_otlp_endpoint) && @auto_instrumentation_otlp_endpoint != "" -%> OTEL_EXPORTER_OTLP_ENDPOINT=<%= @auto_instrumentation_otlp_endpoint %> +<% end -%> +<% if defined?(@auto_instrumentation_otlp_endpoint_protocol) && @auto_instrumentation_otlp_endpoint_protocol != "" -%> +OTEL_EXPORTER_OTLP_PROTOCOL=<%= @auto_instrumentation_otlp_endpoint_protocol %> +<% end -%> +<% if defined?(@auto_instrumentation_metrics_exporter) && @auto_instrumentation_metrics_exporter != "" -%> +OTEL_METRICS_EXPORTER=<%= @auto_instrumentation_metrics_exporter %> +<% end -%> +<% if defined?(@auto_instrumentation_logs_exporter) && @auto_instrumentation_logs_exporter != "" -%> +OTEL_LOGS_EXPORTER=<%= @auto_instrumentation_logs_exporter %> +<% end -%> diff --git a/internal/buildscripts/packaging/tests/deployments/puppet/puppet_test.py b/internal/buildscripts/packaging/tests/deployments/puppet/puppet_test.py index a6ee31003a..d1a3060ff5 100644 --- a/internal/buildscripts/packaging/tests/deployments/puppet/puppet_test.py +++ b/internal/buildscripts/packaging/tests/deployments/puppet/puppet_test.py @@ -291,7 +291,10 @@ def test_puppet_with_default_instrumentation(distro, puppet_release, version, wi verify_config_file(container, SYSTEMD_CONFIG_PATH, "SPLUNK_PROFILER_ENABLED", "false") verify_config_file(container, SYSTEMD_CONFIG_PATH, "SPLUNK_PROFILER_MEMORY_ENABLED", "false") verify_config_file(container, SYSTEMD_CONFIG_PATH, "SPLUNK_METRICS_ENABLED", "false") - verify_config_file(container, SYSTEMD_CONFIG_PATH, "OTEL_EXPORTER_OTLP_ENDPOINT", r"http://127.0.0.1:4317") + verify_config_file(container, SYSTEMD_CONFIG_PATH, "OTEL_EXPORTER_OTLP_ENDPOINT", ".*", exists=False) + verify_config_file(container, SYSTEMD_CONFIG_PATH, "OTEL_EXPORTER_OTLP_PROTOCOL", ".*", exists=False) + verify_config_file(container, SYSTEMD_CONFIG_PATH, "OTEL_METRICS_EXPORTER", ".*", exists=False) + verify_config_file(container, SYSTEMD_CONFIG_PATH, "OTEL_LOGS_EXPORTER", ".*", exists=False) if version == "latest": verify_config_file(container, SYSTEMD_CONFIG_PATH, "NODE_OPTIONS", NODE_OPTIONS) verify_dotnet_config(container, SYSTEMD_CONFIG_PATH) @@ -309,7 +312,10 @@ def test_puppet_with_default_instrumentation(distro, puppet_release, version, wi verify_config_file(container, config_path, "SPLUNK_PROFILER_ENABLED", "false") verify_config_file(container, config_path, "SPLUNK_PROFILER_MEMORY_ENABLED", "false") verify_config_file(container, config_path, "SPLUNK_METRICS_ENABLED", "false") - verify_config_file(container, config_path, "OTEL_EXPORTER_OTLP_ENDPOINT", r"http://127.0.0.1:4317") + verify_config_file(container, config_path, "OTEL_EXPORTER_OTLP_ENDPOINT", ".*", exists=False) + verify_config_file(container, config_path, "OTEL_EXPORTER_OTLP_PROTOCOL", ".*", exists=False) + verify_config_file(container, config_path, "OTEL_METRICS_EXPORTER", ".*", exists=False) + verify_config_file(container, config_path, "OTEL_LOGS_EXPORTER", ".*", exists=False) else: for config_path in [JAVA_CONFIG_PATH, NODE_CONFIG_PATH, DOTNET_CONFIG_PATH, SYSTEMD_CONFIG_PATH]: assert not container_file_exists(container, config_path) @@ -342,6 +348,9 @@ class {{ splunk_otel_collector: auto_instrumentation_enable_profiler_memory => true, auto_instrumentation_enable_metrics => true, auto_instrumentation_otlp_endpoint => 'http://0.0.0.0:4317', + auto_instrumentation_otlp_endpoint_protocol => 'grpc', + auto_instrumentation_metrics_exporter => 'none', + auto_instrumentation_logs_exporter => 'none', }} """ ) @@ -396,6 +405,9 @@ def test_puppet_with_custom_instrumentation(distro, puppet_release, version, wit verify_config_file(container, SYSTEMD_CONFIG_PATH, "SPLUNK_PROFILER_MEMORY_ENABLED", "true") verify_config_file(container, SYSTEMD_CONFIG_PATH, "SPLUNK_METRICS_ENABLED", "true") verify_config_file(container, SYSTEMD_CONFIG_PATH, "OTEL_EXPORTER_OTLP_ENDPOINT", r"http://0.0.0.0:4317") + verify_config_file(container, SYSTEMD_CONFIG_PATH, "OTEL_EXPORTER_OTLP_PROTOCOL", r"grpc") + verify_config_file(container, SYSTEMD_CONFIG_PATH, "OTEL_METRICS_EXPORTER", r"none") + verify_config_file(container, SYSTEMD_CONFIG_PATH, "OTEL_LOGS_EXPORTER", r"none") if version == "latest": verify_config_file(container, SYSTEMD_CONFIG_PATH, "NODE_OPTIONS", NODE_OPTIONS) verify_dotnet_config(container, SYSTEMD_CONFIG_PATH) @@ -415,6 +427,9 @@ def test_puppet_with_custom_instrumentation(distro, puppet_release, version, wit verify_config_file(container, config_path, "SPLUNK_PROFILER_MEMORY_ENABLED", "true") verify_config_file(container, config_path, "SPLUNK_METRICS_ENABLED", "true") verify_config_file(container, config_path, "OTEL_EXPORTER_OTLP_ENDPOINT", r"http://0.0.0.0:4317") + verify_config_file(container, config_path, "OTEL_EXPORTER_OTLP_PROTOCOL", r"grpc") + verify_config_file(container, config_path, "OTEL_METRICS_EXPORTER", r"none") + verify_config_file(container, config_path, "OTEL_LOGS_EXPORTER", r"none") else: for config_path in [JAVA_CONFIG_PATH, NODE_CONFIG_PATH, DOTNET_CONFIG_PATH, SYSTEMD_CONFIG_PATH]: assert not container_file_exists(container, config_path)