实验性
otelcol.receiver.datadog
实验性:这是一个实验性组件。实验性组件可能会频繁发生重大变更,并且可能被移除而无等效替代品。必须将
stability.level
标志设置为experimental
才能使用此组件。
otelcol.receiver.datadog
通过网络接受 Datadog 指标和追踪,并将其转发到其他 otelcol.*
组件。
您可以通过为 otelcol.receiver.datadog
组件指定不同的标签来使用多个实例。
用法
otelcol.receiver.datadog "LABEL" {
output {
metrics = [...]
traces = [...]
}
}
参数
otelcol.receiver.datadog
支持以下参数
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
endpoint | string | 要监听流量的 host:port 。 | "localhost:8126" | 否 |
max_request_body_size | string | 服务器允许的最大请求体大小。 | 20MiB | 否 |
include_metadata | boolean | 将传入连接元数据传播到下游消费者。 | false | 否 |
read_timeout | duration | HTTP 服务器请求的读取超时。 | "60s" | 否 |
compression_algorithms | list(string) | 服务器可以接受的压缩算法列表。 | ["", "gzip", "zstd", "zlib", "snappy", "deflate", "lz4"] | 否 |
auth | capsule(otelcol.Handler) | 用于验证请求的 otelcol.auth 组件的处理程序。 | 否 |
默认情况下,otelcol.receiver.datadog
在 localhost
上监听 HTTP 连接。要将 HTTP 服务器暴露给网络中的其他机器,请将 endpoint
配置为要监听的 IP 地址,或者配置为 0.0.0.0:8126
以监听所有网络接口。
块
otelcol.receiver.datadog
的定义中支持以下块
层级 | 块 | 描述 | 必需 |
---|---|---|---|
tls | tls | 配置 HTTP 服务器的 TLS。 | 否 |
否 | 否 | cors | 否 |
配置 HTTP 服务器的 CORS。 | 配置 HTTP 服务器的 CORS。 | 否 | 否 |
debug_metrics | debug_metrics | 配置此组件用于监控其状态的指标。 | 否 |
output
配置将接收到的遥测数据发送到何处。
是
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
tls 块 | string | tls 块配置用于服务器的 TLS 设置。如果未提供 tls 块,则不会对服务器连接使用 TLS。 | 否 | |
支持以下参数 | string | ca_file | 否 | |
CA 文件的路径。 | string | ca_pem | 否 | |
用于验证服务器的 CA PEM 编码文本。 | string | cert_file | 否 | |
TLS 证书的路径。 | boolean | cert_pem | false | 否 |
用于客户端身份验证的证书 PEM 编码文本。 | string | include_system_ca_certs_pool | 否 | |
是否在证书颁发机构之外加载系统证书颁发机构池。 | false | key_file | 否 | |
TLS 证书密钥的路径。 | string | key_pem | secret | 否 |
用于客户端身份验证的密钥 PEM 编码文本。 | string | max_version | string | 否 |
连接的最大可接受 TLS 版本。 | list(string) | "TLS 1.3" | [] | 否 |
min_version | duration | string | 连接的最小可接受 TLS 版本。 | 否 |
"TLS 1.2" | string | cipher_suites | 否 | |
list(string) | list(string) | TLS 传输可以使用的 TLS 密码套件列表。 | [] | 否 |
reload_interval
duration
- 证书重新加载的持续时间。
- "0s"
- client_ca_file
string
服务器用于验证客户端证书的 TLS 证书路径。
curve_preferences
list(string)
握手中使用的椭圆曲线集。
是
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
如果 | list(string) | 以下参数对互斥,不能同时设置 | [] | 否 |
| list(string) | cert_pem 和 cert_file |
| 否 |
如果 |
| curve_preferences 参数决定在握手过程中优先使用的椭圆曲线集,按优先顺序排列。如果未提供,则使用默认列表。可用的椭圆曲线集包括 X25519 、P521 、P256 和 P384 。 | 0 | 否 |
cors 块
cors
块配置 HTTP 服务器的 CORS 设置。allowed_origins
list(string)
Origin
头允许的值。
allowed_headers
list(string)
CORS 请求接受的头。
是
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
["X-Requested-With"] | boolean | max_age | number | 否 |
配置 Access-Control-Max-Age
响应头。
0
allowed_headers
参数指定 CORS 请求中哪些头是可接受的。以下头总是隐式允许的
Accept
Accept-Language
是
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
Content-Type | Content-Language | 如果 allowed_headers 包含 "*" , 则允许所有头。 | [] | 否 |
debug_metrics 块 | Content-Language | debug_metrics 块配置此组件用于监控其状态的指标。 | [] | 否 |
disable_high_cardinality_metrics | Content-Language | boolean | [] | 否 |
是否禁用某些高基数指标。
true
disable_high_cardinality_metrics
相当于 OpenTelemetry Collector 中的 telemetry.disableHighCardinalityMetrics
功能门。它移除可能导致高基数指标的属性。例如,关于 HTTP 和 gRPC 连接的指标中包含 IP 地址和端口号的属性将被移除。
注意
如果配置了 disable_high_cardinality_metrics
,它仅适用于 otelcol.exporter.*
和 otelcol.receiver.*
组件。
output 块
output
块配置一组组件以转发产生的遥测数据。
logs
list(otelcol.Consumer)
otelcol.receiver.datadog "default" {
output {
metrics = [otelcol.processor.batch.default.input]
traces = [otelcol.processor.batch.default.input]
}
}
otelcol.processor.batch "default" {
output {
metrics = [otelcol.exporter.otlp.default.input]
traces = [otelcol.exporter.otlp.default.input]
}
}
otelcol.exporter.otlp "default" {
client {
endpoint = sys.env("OTLP_ENDPOINT")
}
}
要发送日志的消费者列表。
metrics
0
list(otelcol.Consumer)
otelcol.receiver.datadog "default" {
output {
metrics = [otelcol.processor.batch.default.input]
traces = [otelcol.processor.batch.default.input]
}
auth = otelcol.auth.basic.creds.handler
}
otelcol.auth.basic "creds" {
username = sys.env("USERNAME")
password = sys.env("PASSWORD")
}
兼容的组件
要发送指标的消费者列表。
- traces
0
list(otelcol.Consumer)
要发送追踪的消费者列表。
otelcol.receiver.datadog
不导出任何字段。