Docs » Supported data sources » Consul datastore

Consul datastore 🔗

Description 🔗

The Splunk OpenTelemetry Collector provides this integration as the Consul datastore monitor with the SignalFx Smart Agent receiver.

Consul 0.7.0+ is supported.

The integration monitors Consul datastores, and collects metrics from the following endpoints:

To see the monitor source, view the signalfx-agent project on GitHub.

Installation 🔗

The Splunk Distribution of OpenTelemetry Collector allows embedding a Smart Agent monitor configuration in an associated Smart Agent Receiver instance.

This monitor is available in the SignalFx Smart Agent Receiver, which is part of the Splunk Distribution of OpenTelemetry Collector.

Follow these steps to deploy the integration:

  1. Deploy the Splunk Distribution of OpenTelemetry Collector to your host or container platform.

  2. Complete the Configuration.

Configuration 🔗

The Splunk Distribution of OpenTelemetry Collector allows embedding a Smart Agent monitor configuration in an associated Smart Agent Receiver instance.

Note: Providing a Consul datastore monitor entry in your Smart Agent or Collector configuration is required for its use. Use the appropriate form for your agent type.

Smart Agent 🔗

To activate this monitor in the Smart Agent, add the following to your agent configuration:

monitors:  # All monitor config goes under this key
 - type: collectd/consul
   ...  # Additional config

If you are running a version of Consul earlier than 0.9.1, set the telemetryServer option to your agent configuration. This starts a UDP server listening on 0.0.0.0:8125 by default.

monitors:  # All monitor config goes under this key
   - type: collectd/consul
   telemetryServer: true
   ...  # Additional config

See Smart Agent example configuration for an autogenerated example of a YAML configuration file, with default values where applicable.

Splunk Distribution of OpenTelemetry Collector 🔗

To activate this monitor in the OpenTelemetry Collector, add the following to your agent configuration:

receivers:
    smartagent/consul:
        type: collectd/consul
        ...  # Additional config

To complete the monitor activation, you must also include the smartagent/consul receiver item in a metrics pipeline. To do this, add the receiver item to the service > pipelines > metrics > receivers section of your configuration file.

See configuration examples for specific use cases that show how the collector can integrate and complement existing environments.

If you are running a version of Consul earlier than 0.9.1, configure each Consul agent you want to monitor to send metrics to the OpenTelemetry Collector. To do so, add the following configuration to each Consul agent configuration file:

{"telemetry":
   {"statsd_address": "<agent host>:<agent port, default 8125>"}
}

Configuration settings 🔗

The following table shows the configuration options for this monitor:

Option Required Type Description
pythonBinary no string Path to a python binary that should be used to execute the Python code. If not set, a built-in runtime will be used. Can include arguments to the binary as well.
host yes string
port yes integer
aclToken no string Consul ACL token
useHTTPS no bool Set to true to connect to Consul using HTTPS. You can figure the certificate for the server with the caCertificate config option. (default: false)
telemetryServer no bool (default: false)
telemetryHost no string IP address or DNS to which Consul is configured to send telemetry UDP packets. Relevant only if telemetryServer is set to true. (default: 0.0.0.0)
telemetryPort no integer Port to which Consul is configured to send telemetry UDP packets. Relevant only if telemetryServer is set to true. (default: 8125)
enhancedMetrics no bool Set to true to enable collecting all metrics from Consul's runtime telemetry send via UDP or from the /agent/metrics endpoint. (default: false)
caCertificate no string If Consul server has HTTPS enabled for the API, specifies the path to the CA's Certificate.
clientCertificate no string If client-side authentication is enabled, specifies the path to the certificate file.
clientKey no string If client-side authentication is enabled, specifies the path to the key file.
signalFxAccessToken no string

Metrics 🔗

These metrics are available for this integration.