Docs » Get started with the Splunk Distribution of the OpenTelemetry Collector » Install and deploy the Collector » Install the Collector for Windows manually

Install the Collector for Windows manually πŸ”—

Before proceeding to install the Collector for Windows manually, check the prerequisites.

Configuration variables πŸ”—

All installation methods offer default configurations using environment variables. Before starting the splunk-otel-collector service, replace the following variables in the default configuration file with the appropriate values for your environment:

  • ${SPLUNK_ACCESS_TOKEN}: The Splunk access token to authenticate requests.

  • ${SPLUNK_API_URL}: The Splunk API URL. For example,

  • ${SPLUNK_HEC_TOKEN}: The Splunk HTTP Event Collector (HEC) authentication token.

  • ${SPLUNK_HEC_URL}: The Splunk HEC endpoint URL. For example,

  • ${SPLUNK_INGEST_URL}: The Splunk ingest URL. For example,

  • ${SPLUNK_TRACE_URL}: The Splunk trace endpoint URL. For example,

  • ${SPLUNK_BUNDLE_DIR}: The location of your Smart Agent bundle for monitor functionality. For example, C:\Program Files\Splunk\OpenTelemetry Collector\agent-bundle.

Configure proxy settings πŸ”—

If you need to use a proxy, set one of the following environment variables according to your needs:

  • HTTP_PROXY: Address of the proxy for HTTP request. Port is optional.

  • HTTPS_PROXY: Address of the proxy for HTTPS request. Port is optional.

  • NO_PROXY: If a proxy is defined, sets addresses that don’t use the proxy.

Restart the Collector after adding these environment variables to your configuration.


For more information on proxy settings, see Configure proxy settings.

Windows installer file (MSI) installation πŸ”—

To install the package using Windows Installer, download the Windows MSI package (64-bit only) from GitHub releases.

  • The package is installed to \Program Files\Splunk\OpenTelemetry Collector.

  • The splunk-otel-collector service is created, but not started.

  • A default configuration file is copied to \ProgramData\Splunk\OpenTelemetry Collector\agent_config.yaml, if it does not already exist. This file is required to start the splunk-otel-collector service.


The ProgramData folder is hidden by default on Windows.

Next, proceed with the GUI, or follow the instructions to install using a Powershell terminal.

Install using the GUI πŸ”—

Run the downloaded package and follow the instructions in the guided setup.

Install using a PowerShell terminal πŸ”—

Follow these steps:

  1. Open a PowerShell terminal.

  2. Run the following command, where PATH_TO_MSI is the full path to the downloaded package. For example, C:\your\download\folder\splunk-otel-collector-0.4.0-amd64.msi.

Start-Process -Wait msiexec "/i PATH_TO_MSI /qn"
  1. Update all variables in the configuration file as appropriate.

  2. Start the splunk-otel-collector service by rebooting the system or by running the following command in a PowerShell terminal:

Start-Service splunk-otel-collector

Learn more about advanced configuration options (including Service Logging) using PowerShell in the Splunk Distribution of OpenTelemetry Collector Windows manual.

Install Fluentd MSI for log collection πŸ”—

Default log collection πŸ”—

Install, configure, and start the Collector with Windows Installer. The Collector default configuration file \ProgramData\Splunk\OpenTelemetry Collector\agent_config.yaml listens for log events on and sends them to Splunk Observability Cloud.

Log collection with Fluentd πŸ”—


You need to be an Admin to configure log collection with Fluentd.

Perform the following steps to install Fluentd and forward collected log events to the Collector:

  1. Install Fluentd MSI version 4.0 or higher.

  2. Configure Fluentd to collect log events and forward them to the Collector:

    • Option 1: Update the default config file provided by the Fluentd MSI at \opt\td-agent\etc\td-agent\td-agent.conf to collect the desired log events and forward them to

    • Option 2: The installed Collector package provides a custom Fluentd config file \Program Files\Splunk\OpenTelemetry Collector\fluentd\td-agent.conf to collect log events from the Windows Event Log \Program Files\Splunk\OpenTelemetry Collector\fluentd\conf.d\eventlog.conf and forwards them to

    To use these files, backup the \opt\td-agent\etc\td-agent\ directory, and copy the contents from \Program Files\Splunk\OpenTelemetry Collector\fluentd\ to \opt\td-agent\etc\td-agent\.

  3. To apply any changes made to the Fluentd config files, restart the system, or restart fluentdwinsvc .

- Stop-Service fluentdwinsvc
- Start-Service fluentdwinsvc
  1. View the Fluentd service logs and errors in \opt\td-agent\td-agent.log.

Learn more about general Fluentd configuration details in the official Fluentd documentation.

Install using a Chocolatey package πŸ”—

A Chocolatey package is available to download, install, and configure the Collector and Fluentd with the following PowerShell command:

choco install splunk-otel-collector --params="'/SPLUNK_ACCESS_TOKEN:MY_SPLUNK_ACCESS_TOKEN /SPLUNK_REALM:MY_SPLUNK_REALM'"

Learn more about the package parameters in GitHub.

Install using Docker πŸ”—

Run the following command to deploy the latest Docker image:

$ docker run --rm -e SPLUNK_ACCESS_TOKEN=12345 -e SPLUNK_REALM=us0  `
          -p 13133:13133 -p 14250:14250 -p 14268:14268 -p 4317:4317 -p 6060:6060  `
          -p 8888:8888 -p 9080:9080 -p 9411:9411 -p 9943:9943 `

Use a custom configuration file πŸ”—

If you’re using a custom configuration file, mount the directory containing the file and either use the SPLUNK_CONFIG=<path> environment variable or the --config=<path> command line argument. Replace <path> with the path to the custom file within the container.

To mount configuration files on a Windows container, specify a directory name in which the configuration file is present.

Example with SPLUNK_CONFIG πŸ”—

$ docker run --rm -e SPLUNK_ACCESS_TOKEN=12345 -e SPLUNK_REALM=us0 `
          -e SPLUNK_CONFIG=c:\splunk_config\gateway_config.yaml -p 13133:13133  `
          -p 14250:14250 -p 14268:14268 -p 4317:4317 -p 6060:6060 -p 8888:8888 -p 9080:9080 `
          -p 9411:9411 -p 9943:9943 -v ${PWD}\splunk_config:c:\splunk_config:RO `
          --name otelcol

Example with --config πŸ”—

$ docker run --rm -e SPLUNK_ACCESS_TOKEN=12345 -e SPLUNK_REALM=us0 `
    -p 13133:13133 -p 14250:14250 -p 14268:14268 -p 4317:4317 -p 6060:6060 `
    -p 8888:8888 -p 9080:9080 -p 9411:9411 -p 9943:9943 `
    -v ${PWD}\splunk_config:c:\splunk_config:RO `
    --name otelcol `
    --config c:\splunk_config\gateway_config.yaml

Next steps πŸ”—

Once you have installed the package, you can perform these actions: