Forge Home

splunk_otel_collector

This module installs the Splunk OpenTelemetry Connector via distro packages and configures it.

11,056 downloads

78 latest version

4.6 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 0.14.0 (latest)
  • 0.13.0
  • 0.12.0
  • 0.11.0
  • 0.10.0
  • 0.9.0
  • 0.8.0
  • 0.7.0
  • 0.6.0
  • 0.5.0
  • 0.4.0
  • 0.3.0
  • 0.2.1
  • 0.2.0
  • 0.1.0
  • 0.0.1
released Jun 16th 2021
This version is compatible with:
  • Puppet Enterprise 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x, 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x
  • Puppet >= 6.0.0
  • , , , ,

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'signalfx-splunk_otel_collector', '0.1.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add signalfx-splunk_otel_collector
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install signalfx-splunk_otel_collector --version 0.1.0

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download

Documentation

signalfx/splunk_otel_collector — version 0.1.0 Jun 16th 2021

Splunk OpenTelemetry Connector Puppet Module

This is a Puppet module that will install and configure the Splunk OpenTelemetry Connector.

Currently, the following Linux distributions and versions are supported:

  • Amazon Linux: 2
  • CentOS / Red Hat / Oracle: 7, 8
  • Debian: 8, 9, 10
  • Ubuntu: 16.04, 18.04, 20.04

Note: systemd is required to be installed on the host for service management.

To use this module, include the splunk_otel_collector class in your manifests. For example, the simplest deployment definition with the default parameters would be (replace SPLUNK_ACCESS_TOKEN with your Splunk access token to authenticate requests and SPLUNK_REALM for the realm to send the data to):

class { splunk_otel_collector:
  splunk_access_token => 'SPLUNK_ACCESS_TOKEN',
  splunk_realm => 'SPLUNK_REALM',
}

This class accepts the following parameters:

Name Description Default value
splunk_access_token Required: The Splunk access token to authenticate requests. None
splunk_realm Required: Which realm to send the data to, e.g. us0. The Splunk ingest and API URLs will be inferred by this value. The SPLUNK_REALM environment variable will be set with this value for the collector service. None
splunk_ingest_url Set the Splunk ingest URL explicitly instead of the URL inferred by the $splunk_realm parameter. The SPLUNK_INGEST_URL environment variable will be set with this value for the collector service. https://ingest.${splunk_realm}.signalfx.com
splunk_api_url Set the Splunk API URL explicitly instead of the URL inferred by the $splunk_realm parameter. The SPLUNK_API_URL environment variable will be set with this value for the collector service. https://api.${splunk_realm}.signalfx.com
splunk_trace_url Set the Splunk trace endpoint URL explicitly instead of the URL inferred by the $splunk_ingest_url parameter. The SPLUNK_TRACE_URL environment variable will be set with this value for the collector service. ${splunk_ingest_url}/v2/trace
splunk_hec_url Set the Splunk HEC endpoint URL explicitly instead of the URL inferred by the $splunk_ingest_url parameter. The SPLUNK_HEC_URL environment variable will be set with this value for the collector service. ${splunk_ingest_url}/v1/log
splunk_hec_token Set the Splunk HEC authentication token if different than $splunk_access_token. The SPLUNK_HEC_TOKEN environment variable will be set with this value for the collector service. $splunk_access_token
splunk_bundle_dir The path to the Smart Agent bundle directory. The default path is provided by the collector package. If the specified path is changed from the default value, the path should be an existing directory on the node. The SPLUNK_BUNDLE_DIR environment variable will be set to this value for the collector service. /usr/lib/splunk-otel-collector/agent-bundle
splunk_collectd_dir The path to the collectd config directory for the Smart Agent bundle. The default path is provided by the collector package. If the specified path is changed from the default value, the path should be an existing directory on the node. The SPLUNK_COLLECTD_DIR environment variable will be set to this value for the collector service. ${splunk_bundle_dir}/run/collectd
splunk_memory_total_mib Total memory in MIB to allocate to the collector; automatically calculates the ballast size. The SPLUNK_MEMORY_TOTAL_MIB environment variable will be set with this value for the collector service. 512
splunk_ballast_size_mib Set the ballast size for the collector explicitly instead of the value calculated from the $splunk_memory_total_mib parameter. This should be set to 1/3 to 1/2 of configured memory. The SPLUNK_BALLAST_SIZE_MIB environment variable will be set with this value for the collector service. None
collector_config_source Source path to the collector config YAML file. This file will be copied to the $collector_config_dest path on the node. See the source attribute of the file resource for supported value types. The default source file is provided by the collector package. file:///etc/otel/collector/agent_config.yaml
collector_config_dest Destination path of the collector config file on the node. The SPLUNK_CONFIG environment variable will be set with this value for the collector service. /etc/otel/collector/agent_config.yaml
collector_version Version of the collector package to install, e.g., 0.25.0. latest
service_user and $service_group Linux only: Set the user/group ownership for the collector service. The user/group will be created if they do not exist. splunk-otel-collector
with_fluentd Whether to install/manage fluentd and dependencies for log collection. The dependencies include capng_c for enabling Linux capabilities, fluent-plugin-systemd for systemd journal log collection, and the required libraries/development tools. true
fluentd_config_source Source path to the fluentd config file. This file will be copied to the $fluentd_config_dest path on the node. See the source attribute of the file resource for supported value types. The default source file is provided by the collector package. file:///etc/otel/collector/fluentd/fluent.conf
fluentd_config_dest Destination path to the fluentd config file on the node. /etc/otel/collector/fluentd/fluent.conf
manage_repo Linux only: In cases where the collector and fluentd apt/yum repositories are managed externally, set this to false to disable management of the repositories by this module. Note: If set to false, the externally managed repositories should provide the splunk-otel-collector and td-agent packages. Also, the apt (/etc/apt/sources.list.d/splunk-otel-collector.list, /etc/apt/sources.list.d/splunk-td-agent.list) and yum (/etc/yum.repos.d/splunk-otel-collector.repo, /etc/yum.repos.d/splunk-td-agent.repo) repository definition files will be deleted if they exist in order to avoid any conflicts. true

Dependencies

On Linux-based systems, the puppetlabs/stdlib module is required.

On Debian-based systems, the puppetlabs/apt module is required to manage the collector and fluentd apt repositories.

On RPM-based systems, the puppet/yum module is required to install the "Development Tools" package group as a dependency for fluentd.