Linux Package Configuration

Configure the Bindplane OTEL Collector Linux package installation behavior

The Bindplane OTEL Collector Linux packages can be configured before installation. This configuration is optional. Users with advanced requirements can use this configuration to customize the installation behavior.

Configuration File Location

Before installing the Bindplane OTEL Collector package, you can create a configuration file at one of the following locations:

  • Debian-based distributions: /etc/default/observiq-otel-collector

  • RHEL-based distributions: /etc/sysconfig/observiq-otel-collector

The package supports either file location on all platforms. Choose the location that best matches your distribution's conventions.

File Permissions

The configuration file should have the following permissions:

  • Owner: root

  • Group: root

  • Permissions: 0644 (readable by all users, writable only by root)

The configuration file is read by your package manager during package installation, upgrade, and removal operations. It is also read by the collector's updater during updates pushed by Bindplane. This means unprivileged users require read access to the configuration file.

Configuration Options

BDOT_SKIP_RUNTIME_USER_CREATION

Controls whether the package creates the bdot user and group during installation. This option is useful if you have advanced user requirements, such as specific uid and gid or you are integrating with an external authentication system such as LDAP.

NOTE

This configuration option is supported as of collector version v1.82.0.

  • Default: false

  • Values: true or false

When set to true, the package will skip creating the bdot user and group. In this case, you must create the user and group manually before installation.

The following commands create the bdot user and group:

groupadd bdot
useradd \
  --shell /sbin/nologin \
  --system bdot \
  -g bdot

You can verify this parameter is working correctly by inspecting the output from the package installation.

The following is logged when skipping user and group creation:

BDOT_SKIP_RUNTIME_USER_CREATION is set to true, skipping user and group creation

BDOT_CONFIG_HOME

Specifies the directory where the Bindplane OTEL Collector is installed and stores its data.

NOTE

This configuration option is supported as of collector version v1.82.0.

  • Default: /opt/observiq-otel-collector

  • Values: Any valid directory path

This directory contains:

  • Collector binaries and executables

  • Configuration files

  • Log files

  • Other persistent data required by the collector

Choose a location that meets your storage and backup requirements before installation.

You can verify this parameter is working correctly by checking the installation directory and the Systemd service file for the Bindplane OTEL Collector service.

Read the Systemd service file for the Bindplane OTEL Collector service:

sudo systemctl cat observiq-otel-collector

The output will contain the working directory and executable path matching the value you set in the configuration file.

[Unit]
Description=observIQ's distribution of the OpenTelemetry collector
After=network.target
StartLimitIntervalSec=120
StartLimitBurst=5

[Service]
Type=simple
User=root
Group=${username}
Environment=PATH=/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
Environment=OIQ_OTEL_COLLECTOR_HOME=/opt/observiq-otel-collector
Environment=OIQ_OTEL_COLLECTOR_STORAGE=/opt/observiq-otel-collector/storage
WorkingDirectory=/opt/observiq-otel-collector
ExecStart=/opt/observiq-otel-collector/observiq-otel-collector --config config.yaml
LimitNOFILE=65000
SuccessExitStatus=0
TimeoutSec=20
StandardOutput=journal
Restart=on-failure
RestartSec=5s
KillMode=process

[Install]
WantedBy=multi-user.target

BDOT_UNPRIVILEGED

Controls whether the Bindplane OTEL Collector runs as an unprivileged user instead of root.

NOTE

This configuration option is supported as of collector version v1.82.0.

  • Default: false

  • Values: true or false

When set to true, the collector will be configured to run as the bdot user instead of root. This provides better security by following the principle of least privilege.

When set to false, the collector will run as root, which may be necessary for collecting certain system-level metrics or accessing privileged ports.

NOTE

The bdot user and group are always created during installation unless BDOT_SKIP_RUNTIME_USER_CREATION=true is set, regardless of the BDOT_UNPRIVILEGED value.

You can verify this parameter is working correctly by checking the runtime user of the Bindplane OTEL Collector process.

Check the runtime user of the collector process:

ps aux | grep observiq-otel-collector

The output will show the process running as the bdot user when unprivileged mode is enabled.

BDOT_USER and BDOT_GROUP

Controls the runtime user and group. Usually used in conjunction with BDOT_UNPRIVILEGED.

NOTE

This configuration option is supported as of collector version v1.84.0.

Example Configuration

Here's an example configuration file:

# Skip user creation for LDAP integration
# Systemd administrator must pre-configure
# the user.
BDOT_SKIP_RUNTIME_USER_CREATION=true

# Install collector in a custom location
BDOT_CONFIG_HOME=/opt/custom-collector

# Run collector as unprivileged user
BDOT_UNPRIVILEGED=true

# Run collector as user "otelu" and group "otelg"
BDOT_USER=otelu
BDOT_GROUP=otelg

Last updated

Was this helpful?