Important: This documentation is about an older version. It's relevant only to the release noted, many of the features and functions have been updated or replaced. Please view the current version.
otelcol.auth.bearer
otelcol.auth.bearer exposes a handler that can be used by other otelcol
components to authenticate requests using bearer token authentication.
This extension supports both server and client authentication.
Note
otelcol.auth.beareris a wrapper over the upstream OpenTelemetry Collectorbearertokenauthextension. Bug reports or feature requests will be redirected to the upstream repository, if necessary.
Multiple otelcol.auth.bearer components can be specified by giving them different labels.
Usage
otelcol.auth.bearer "LABEL" {
token = "TOKEN"
}Arguments
otelcol.auth.bearer supports the following arguments:
| Name | Type | Description | Default | Required |
|---|---|---|---|---|
token | secret | Bearer token to use for authenticating requests. | yes | |
scheme | string | Authentication scheme name. | “Bearer” | no |
When sending the token, the value of scheme is prepended to the token value.
The string is then sent out as either a header (in case of HTTP) or as metadata (in case of gRPC).
Blocks
The following blocks are supported inside the definition of
otelcol.auth.bearer:
| Hierarchy | Block | Description | Required |
|---|---|---|---|
| debug_metrics | debug_metrics | Configures the metrics that this component generates to monitor its state. | no |
debug_metrics block
The debug_metrics block configures the metrics that this component generates to monitor its state.
The following arguments are supported:
| Name | Type | Description | Default | Required |
|---|---|---|---|---|
disable_high_cardinality_metrics | boolean | Whether to disable certain high cardinality metrics. | true | no |
level | string | Controls the level of detail for metrics emitted by the wrapped collector. | "detailed" | no |
disable_high_cardinality_metrics is the Grafana Alloy equivalent to the telemetry.disableHighCardinalityMetrics feature gate in the OpenTelemetry Collector.
It removes attributes that could cause high cardinality metrics.
For example, attributes with IP addresses and port numbers in metrics about HTTP and gRPC connections are removed.
Note
If configured,
disable_high_cardinality_metricsonly applies tootelcol.exporter.*andotelcol.receiver.*components.
level is the Alloy equivalent to the telemetry.metrics.level feature gate in the OpenTelemetry Collector.
Possible values are "none", "basic", "normal" and "detailed".
Exported fields
The following fields are exported and can be referenced by other components:
| Name | Type | Description |
|---|---|---|
handler | capsule(otelcol.Handler) | A value that other components can use to authenticate requests. |
Component health
otelcol.auth.bearer is only reported as unhealthy if given an invalid
configuration.
Debug information
otelcol.auth.bearer does not expose any component-specific debug information.
Examples
Default scheme via gRPC transport
The example below configures otelcol.exporter.otlp to use a bearer token authentication.
If we assume that the value of the API_KEY environment variable is SECRET_API_KEY, then the Authorization RPC metadata is set to Bearer SECRET_API_KEY.
otelcol.exporter.otlp "example" {
client {
endpoint = "my-otlp-grpc-server:4317"
auth = otelcol.auth.bearer.creds.handler
}
}
otelcol.auth.bearer "creds" {
token = env("API_KEY")
}Custom scheme via HTTP transport
The example below configures otelcol.exporter.otlphttp to use a bearer token authentication.
If we assume that the value of the API_KEY environment variable is SECRET_API_KEY, then
the Authorization HTTP header is set to MyScheme SECRET_API_KEY.
otelcol.exporter.otlphttp "example" {
client {
endpoint = "my-otlp-grpc-server:4317"
auth = otelcol.auth.bearer.creds.handler
}
}
otelcol.auth.bearer "creds" {
token = env("API_KEY")
scheme = "MyScheme"
}


