菜单
文档breadcrumb arrow Grafana Alloybreadcrumb arrow 参考breadcrumb arrow 组件breadcrumb arrow otelcolbreadcrumb arrow otelcol.receiver.datadog
开源

实验性

otelcol.receiver.datadog

实验性:这是一个实验性组件。实验性组件可能会频繁发生重大变更,并且可能被移除而无等效替代品。必须将 stability.level 标志设置为 experimental 才能使用此组件。

otelcol.receiver.datadog 通过网络接受 Datadog 指标和追踪,并将其转发到其他 otelcol.* 组件。

您可以通过为 otelcol.receiver.datadog 组件指定不同的标签来使用多个实例。

用法

alloy
otelcol.receiver.datadog "LABEL" {
  output {
    metrics = [...]
    traces  = [...]
  }
}

参数

otelcol.receiver.datadog 支持以下参数

名称类型描述默认值必需
endpointstring要监听流量的 host:port"localhost:8126"
max_request_body_sizestring服务器允许的最大请求体大小。20MiB
include_metadataboolean将传入连接元数据传播到下游消费者。false
read_timeoutdurationHTTP 服务器请求的读取超时。"60s"
compression_algorithmslist(string)服务器可以接受的压缩算法列表。["", "gzip", "zstd", "zlib", "snappy", "deflate", "lz4"]
authcapsule(otelcol.Handler)用于验证请求的 otelcol.auth 组件的处理程序。

默认情况下,otelcol.receiver.datadoglocalhost 上监听 HTTP 连接。要将 HTTP 服务器暴露给网络中的其他机器,请将 endpoint 配置为要监听的 IP 地址,或者配置为 0.0.0.0:8126 以监听所有网络接口。

otelcol.receiver.datadog 的定义中支持以下块

层级描述必需
tlstls配置 HTTP 服务器的 TLS。
cors
配置 HTTP 服务器的 CORS。配置 HTTP 服务器的 CORS。
debug_metricsdebug_metrics配置此组件用于监控其状态的指标。

output

配置将接收到的遥测数据发送到何处。

名称类型描述默认值必需
tls 块stringtls 块配置用于服务器的 TLS 设置。如果未提供 tls 块,则不会对服务器连接使用 TLS。
支持以下参数stringca_file
CA 文件的路径。stringca_pem
用于验证服务器的 CA PEM 编码文本。stringcert_file
TLS 证书的路径。booleancert_pemfalse
用于客户端身份验证的证书 PEM 编码文本。stringinclude_system_ca_certs_pool
是否在证书颁发机构之外加载系统证书颁发机构池。falsekey_file
TLS 证书密钥的路径。stringkey_pemsecret
用于客户端身份验证的密钥 PEM 编码文本。stringmax_versionstring
连接的最大可接受 TLS 版本。list(string)"TLS 1.3"[]
min_versiondurationstring连接的最小可接受 TLS 版本。
"TLS 1.2"stringcipher_suites
list(string)list(string)TLS 传输可以使用的 TLS 密码套件列表。[]

reload_interval

duration

  • 证书重新加载的持续时间。
  • "0s"
  • client_ca_file

string

服务器用于验证客户端证书的 TLS 证书路径。

curve_preferences

list(string)

握手中使用的椭圆曲线集。

名称类型描述默认值必需
如果 reload_interval 设置为 "0s",证书永远不会重新加载。list(string)以下参数对互斥,不能同时设置[]
ca_pemca_filelist(string)cert_pemcert_filekey_pemkey_file
如果 cipher_suites 留空,则使用安全的默认列表。有关支持的密码套件列表,请参阅 Go Cipher Suites 文档client_ca_fileTLSConfig 中的 ClientCAClientAuth 设置为 RequireAndVerifyClientCert。有关更多信息,请参阅 Go TLS 文档curve_preferences 参数决定在握手过程中优先使用的椭圆曲线集,按优先顺序排列。如果未提供,则使用默认列表。可用的椭圆曲线集包括 X25519P521P256P3840

cors 块

  • cors 块配置 HTTP 服务器的 CORS 设置。
  • allowed_origins
  • list(string)
  • Origin 头允许的值。

allowed_headers

list(string)

CORS 请求接受的头。

名称类型描述默认值必需
["X-Requested-With"]booleanmax_agenumber

配置 Access-Control-Max-Age 响应头。

0

allowed_headers 参数指定 CORS 请求中哪些头是可接受的。以下头总是隐式允许的

Accept

Accept-Language

名称类型描述默认值必需
Content-TypeContent-Language如果 allowed_headers 包含 "*", 则允许所有头。[]
debug_metrics 块Content-Languagedebug_metrics 块配置此组件用于监控其状态的指标。[]
disable_high_cardinality_metricsContent-Languageboolean[]

是否禁用某些高基数指标。

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)

alloy
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)

alloy
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)