otelcol接收器.opencensus
otelcol.receiver.opencensus
通过使用OpenCensus格式通过gRPC或HTTP接受遥测数据,并将其转发到其他otelcol.*
组件。
注意:
otelcol.receiver.opencensus
是 OpenTelemetry Collector 的opencensus
接收器(来自otelcol-contrib
发行版)的包装器。如有必要,错误报告或功能请求将被重定向到上游存储库。
可以通过为它们提供不同的标签来指定多个 otelcol.receiver.opencensus
组件。
用法
otelcol.receiver.opencensus "LABEL" {
output {
metrics = [...]
logs = [...]
traces = [...]
}
}
参数
otelcol.receiver.opencensus
支持以下参数
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
cors_allowed_origins | list(string) | 允许的跨源资源共享(CORS)源列表。 | 否 | |
endpoint | 字符串 | 监听流量的 host:port 。 | "0.0.0.0:55678" | 否 |
transport | 字符串 | 用于 gRPC 服务的传输。 | "tcp" | 否 |
max_recv_msg_size | 字符串 | 服务器将接受的消息最大大小。 | "4MiB" " | 否 |
max_concurrent_streams | number | 限制并发流式 RPC 调用的数量。 | 否 | |
read_buffer_size | 字符串 | gRPC 服务器从客户端读取时使用的读取缓冲区大小。 | "512KiB" | 否 |
write_buffer_size | 字符串 | gRPC 服务器写入客户端时使用的写入缓冲区大小。 | 否 | |
include_metadata | boolean | 将传入连接元数据传播到下游消费者。 | 否 |
cors_allowed_origins
是 HTTP/JSON 请求允许的 CORS 源。空列表表示根本未启用 CORS。可以使用通配符 (*) 匹配任何源或源的一个或多个字符。
“endpoint”参数对 gRPC 和 HTTP/JSON 都相同,因为协议会被识别并相应处理。
要使用 HTTP/JSON 编写跟踪,请向 [地址]/v1/trace
发送 POST
请求。JSON 消息格式与 gRPC protobuf 格式平行。有关详细信息,请参阅其 OpenApi 规范。
请注意,max_recv_msg_size
、read_buffer_size
和 write_buffer_size
的格式包括单位,例如“512KiB”或“1024KB”。
块
以下块在 otelcol.receiver.opencensus
的定义内受支持
层次结构 | 块 | 描述 | 必需 |
---|---|---|---|
tls | tls | 为 gRPC 服务器配置 TLS。 | 否 |
keepalive | keepalive | 为配置的服务配置 keepalive 设置。 | 否 |
keepalive > server_parameters | server_parameters | 用于配置 keepalive 设置的服务器参数。 | 否 |
keepalive > enforcement_policy | enforcement_policy | keepalive 设置的执行策略。 | 否 |
debug_metrics | debug_metrics | 配置此组件生成的指标以监控其状态。 | 否 |
output | output | 配置将接收到的遥测数据发送到何处。 | 是 |
“>” 符号表示更深的嵌套级别。例如,grpc > tls
指的是在 grpc
块内部定义的 tls
块。
tls 块
“tls” 块配置用于服务器 TLS 设置。如果没有提供“tls” 块,则不会使用 TLS 连接到服务器。
以下参数受支持
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
ca_file | 字符串 | CA 文件的路径。 | 否 | |
ca_pem | 字符串 | 用于验证服务器的 CA PEM 编码文本。 | 否 | |
cert_file | 字符串 | TLS 证书的路径。 | 否 | |
cert_pem | 字符串 | 用于客户端身份验证的证书 PEM 编码文本。 | 否 | |
include_system_ca_certs_pool | boolean | 是否与证书颁发机构一起加载系统证书颁发机构池。 | false | 否 |
key_file | 字符串 | TLS 证书私钥的路径。 | 否 | |
key_pem | secret | 用于客户端身份验证的密钥 PEM 编码文本。 | 否 | |
max_version | 字符串 | 最大可接受的TLS版本,用于连接。 | "TLS 1.3" | 否 |
min_version | 字符串 | 最小可接受的TLS版本,用于连接。 | "TLS 1.2" | 否 |
cipher_suites | list(string) | 可以由TLS传输使用的TLS加密套件的列表。 | [] | 否 |
reload_interval | 持续时间 | 证书重新加载后的持续时间。 | "0s" | 否 |
client_ca_file | 字符串 | 服务器用于验证客户端证书的TLS证书路径。 | 否 |
如果将reload_interval
设置为"0s"
,则证书不会重新加载。
以下参数对互斥,不能同时设置
ca_pem
和ca_file
cert_pem
和cert_file
key_pem
和key_file
如果留空cipher_suites
,则使用安全默认列表。有关支持的加密套件列表,请参阅Go加密套件文档。
client_ca_file
将TLSConfig
中的ClientCA
和ClientAuth
设置为RequireAndVerifyClientCert
。有关更多信息,请参阅Go TLS文档。
keepalive块
该keepalive
块配置了对gRPC服务器连接的keepalive设置。
keepalive
不支持任何参数,并通过内部块完全配置。
server_parameters块
server_parameters
块控制gRPC服务器的keepalive和最大年龄设置。
以下参数受支持
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
max_connection_idle | 持续时间 | 空闲连接的最大年龄。 | "infinity" | 否 |
max_connection_age | 持续时间 | 非空闲连接的最大年龄。 | "infinity" | 否 |
max_connection_age_grace | 持续时间 | 在强制关闭连接之前等待的时间。 | "infinity" | 否 |
time | 持续时间 | 多久ping一次非活动客户端以检查其活跃度。 | "2h" | 否 |
timeout | 持续时间 | 在关闭未响应活跃度检查的非活动客户端之前等待的时间。 | "20s" | 否 |
enforcement_policy块
enforcement_policy
块配置gRPC服务器的keepalive执行策略。服务器将关闭违反配置策略的客户端连接。
以下参数受支持
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
min_time | 持续时间 | 客户端应在发送keepalive ping之前等待的最短时间。 | "5m" | 否 |
permit_without_stream | boolean | 允许客户端在没有活动流的情况下发送keepalive ping。 | false | 否 |
debug_metrics块
debug_metrics
块配置此组件生成的指标以监控其状态。
以下参数受支持
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
disable_high_cardinality_metrics | boolean | 是否禁用某些高基数指标。 | true | 否 |
level | 字符串 | 控制封装收集器发出的指标的详细程度。 | "detailed" | 否 |
disable_high_cardinality_metrics
是Grafana Alloy中OpenTelemetry Collector的telemetry.disableHighCardinalityMetrics
功能开关的等价物。它删除可能导致高基数指标的属性。例如,从HTTP和gRPC连接的指标中删除具有IP地址和端口号的属性。
注意
如果配置了,disable_high_cardinality_metrics
仅适用于otelcol.exporter.*
和otelcol.receiver.*
组件。
level
是OpenTelemetry Collector中的telemetry.metrics.level
功能开关在Alloy中的等价物。可能的值是"none"
、"basic"
、"normal"
和"detailed"
。
output块
output
块配置一组组件以将结果遥测数据转发到。
以下参数受支持
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
logs | list(otelcol.Consumer) | 要发送日志的目标消费者列表。 | [] | 否 |
metrics | list(otelcol.Consumer) | 要发送指标的目标消费者列表。 | [] | 否 |
traces | list(otelcol.Consumer) | 要发送跟踪的目标消费者列表。 | [] | 否 |
您必须指定 output
块,但所有参数都是可选的。默认情况下,遥测数据会被丢弃。根据需要配置 metrics
、logs
和 traces
参数,以便将遥测数据发送到其他组件。
导出字段
otelcol.receiver.opencensus
不导出任何字段。
组件健康状态
otelcol.receiver.opencensus
仅在配置无效时报告为不健康。
调试信息
otelcol.receiver.opencensus
不公开任何特定组件的调试信息。
示例
本示例通过批处理程序转发接收到的遥测数据,最后将其发送到具有 OTLP 功能的端点。
otelcol.receiver.opencensus "default" {
cors_allowed_origins = ["https://*.test.com", "https://test.com"]
endpoint = "0.0.0.0:9090"
transport = "tcp"
max_recv_msg_size = "32KB"
max_concurrent_streams = "16"
read_buffer_size = "1024KB"
write_buffer_size = "1024KB"
include_metadata = true
tls {
cert_file = "test.crt"
key_file = "test.key"
}
keepalive {
server_parameters {
max_connection_idle = "11s"
max_connection_age = "12s"
max_connection_age_grace = "13s"
time = "30s"
timeout = "5s"
}
enforcement_policy {
min_time = "10s"
permit_without_stream = true
}
}
output {
metrics = [otelcol.processor.batch.default.input]
logs = [otelcol.processor.batch.default.input]
traces = [otelcol.processor.batch.default.input]
}
}
otelcol.processor.batch "default" {
output {
metrics = [otelcol.exporter.otlp.default.input]
logs = [otelcol.exporter.otlp.default.input]
traces = [otelcol.exporter.otlp.default.input]
}
}
otelcol.exporter.otlp "default" {
client {
endpoint = sys.env("OTLP_ENDPOINT")
}
}
兼容组件
otelcol.receiver.opencensus
可以接受以下组件的参数
注意
连接某些组件可能不合理,或者组件可能需要进一步配置才能正确连接。请参阅链接文档以获取更多详细信息。