Connecting Other OpenTelemetry Collectors Using the OpAMP Extension

This guide will walk you through the process of configuring the OpAMP Extension to connect to BindPlane.

BindPlane works best with the BindPlane Agent which is built using OpenTelemetry Collector Contrib. However, other OpenTelemetry based collectors can be added to the BindPlane using the OpenTelemetry OpAMP Extension.

Prerequisites

For an OpenTelemetry Collector to be added to BindPlane, you will need to do the following:

Configuration

To configure the OpAMP Extension to connect to BindPlane, you will need to add the following to your OpenTelemetry collector configuration:

yaml
1extensions:
2  opamp:
3    instance_uid: [1. collector ULID]
4    capabilities:
5      reports_effective_config: true
6    server:
7      ws:
8        endpoint: [2. opamp endpoint]
9        headers:
10          Authorization: Secret-Key [3. secret key]
11          X-Bindplane-Labels: [4. labels]
12        tls:
13          insecure: true [5. see below]
14service:
15  extensions: [opamp]
  1. The OpAMP spec requires that the instance_uid field be a valid ULID. This field is used to uniquely identify the collector instance. You can generate a ULID using a ULID generator.

  2. The OpAMP endpoint is the websocket address of your BindPlane server. It should start with either ws:// for plain text or wss:// for TLS. You can find the endpoint in the BindPlane UI by navigating to the "Agents" page, clicking "Install Agent", choosing a Platform, and then looking at the generated command. The endpoint will appear after the -e flag.

  3. The secret key is used to authenticate the collector with BindPlane. As with the endpoint, you can find the secret key in the BindPlane UI by navigating to the "Agents" page, clicking "Install Agent", choosing a Platform, and then looking at the generated command. The secret key will appear after the -s flag.

  4. The labels field is used to add metadata to the collector. This field is optional, but it can be used to add help identify the collector in the the BindPlane UI. The labels should be a comma-separated list of key-value pairs, where the key and value are separated by an equals sign. For example, environment=production,region=us-west.

  5. When using ws://, currently the tls insecure option is required. Other tls settings may be used when using wss://.

Limitations

The OpenTelemetry OpAMP Extension has the following limitations:

  • The OpAMP Extension does not accept remote configuration, so the Collector configuration cannot be modified using the BindPlane UI. The current Collector configuration will be visible on the Agent page as yaml. The "Choose Another Configuration" button will not appear.

  • The View Recent Telemetry button will not appear because this feature is specific to the BindPlane Agent.

  • The Operating System and MAC Address fields will not be populated in the BindPlane UI. These fields are only populated by the BindPlane Agent.