splunk_otel_collector
Version information
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
Add this module to your Puppetfile:
mod 'signalfx-splunk_otel_collector', '0.1.0'
Learn more about managing modules with a PuppetfileDocumentation
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.
Dependencies
- puppetlabs/apt (>= 4.1.0 <= 7.0.0)
- puppet/yum (<= 4.3.0)