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

otelcol.receiver.opencensus

otelcol.receiver.opencensus 接收通过 gRPC 或 HTTP 使用 OpenCensus 格式的遥测数据,并将其转发到其他 otelcol.* 组件。

注意otelcol.receiver.opencensus 是对来自 otelcol-contrib 发行版的上游 OpenTelemetry Collector opencensus 接收器的封装。错误报告或功能请求将在必要时重定向到上游仓库。

可以通过为多个 otelcol.receiver.opencensus 组件指定不同的标签来定义它们。

用法

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

参数

otelcol.receiver.opencensus 支持以下参数

名称类型描述默认值必需
cors_allowed_originslist(string)允许跨域资源共享 (CORS) 源的列表。
endpointstring监听流量的 host:port"0.0.0.0:55678"
transportstring用于 gRPC 服务器的传输协议。"tcp"
max_recv_msg_sizestring服务器将接受的最大消息大小。"4MiB""
max_concurrent_streamsnumber限制并发流式 RPC 调用的数量。
read_buffer_sizestringgRPC 服务器用于从客户端读取数据的读取缓冲区大小。"512KiB"
write_buffer_sizestringgRPC 服务器用于写入客户端的写入缓冲区大小。
include_metadataboolean将传入连接元数据传播到下游消费者。
authcapsule(otelcol.Handler)来自 otelcol.auth 组件的处理程序,用于对请求进行身份验证。

cors_allowed_origins 是允许的 HTTP/JSON 请求的 CORS 源。空列表表示完全禁用 CORS。通配符 (*) 可用于匹配任何源或源的一个或多个字符。

“endpoint” 参数对于 gRPC 和 HTTP/JSON 都是相同的,因为协议会被识别并进行相应的处理。

要使用 HTTP/JSON 写入链路追踪,请 POST[address]/v1/trace。JSON 消息格式与 gRPC protobuf 格式并行。有关详细信息,请参阅其 OpenApi 规范

请注意,max_recv_msg_sizeread_buffer_sizewrite_buffer_size 的格式中包含了单位,例如 “512KiB” 或 “1024KB”。

otelcol.receiver.opencensus 的定义内部支持以下块

层级结构描述必需
tlstls配置 gRPC 服务器的 TLS。
keepalivekeepalive配置已配置服务器的 Keepalive 设置。
keepalive > server_parametersserver_parameters用于配置 Keepalive 设置的服务器参数。
keepalive > enforcement_policyenforcement_policyKeepalive 设置的强制策略。
debug_metricsdebug_metrics配置此组件生成的用于监控其状态的指标。
outputoutput配置将接收到的遥测数据发送到哪里。

> 符号表示更深层次的嵌套。例如,grpc > tls 指的是在 grpc 块内定义的 tls 块。

tls 块

tls 块配置用于服务器的 TLS 设置。如果未提供 tls 块,则不会对服务器的连接使用 TLS。

支持以下参数

名称类型描述默认值必需
ca_filestringCA 文件的路径。
ca_pemstring用于验证服务器的 CA PEM 编码文本。
cert_filestringTLS 证书的路径。
cert_pemstring用于客户端身份验证的证书 PEM 编码文本。
include_system_ca_certs_poolboolean是否在证书颁发机构旁边加载系统证书颁发机构池。false
key_filestringTLS 证书密钥的路径。
key_pemsecret用于客户端身份验证的密钥 PEM 编码文本。
max_versionstring连接可接受的最大 TLS 版本。"TLS 1.3"
min_versionstring连接可接受的最小 TLS 版本。"TLS 1.2"
cipher_suiteslist(string)TLS 传输可以使用的 TLS 密码套件列表。[]
reload_intervalduration重新加载证书的持续时间。"0s"
client_ca_filestring服务器用于验证客户端证书的 TLS 证书路径。

如果 reload_interval 设置为 "0s",则证书永远不会重新加载。

以下参数对是互斥的,不能同时设置

  • ca_pemca_file
  • cert_pemcert_file
  • key_pemkey_file

如果 cipher_suites 留空,则使用安全的默认列表。有关支持的密码套件列表,请参阅 Go Cipher Suites 文档

client_ca_fileClientCAClientAuth 设置为 TLSConfig 中的 RequireAndVerifyClientCert。有关更多信息,请参阅 Go TLS 文档

keepalive 块

keepalive 块配置与 gRPC 服务器连接的 Keepalive 设置。

keepalive 不支持任何参数,并且完全通过内部块进行配置。

server_parameters 块

server_parameters 块控制 gRPC 服务器的 Keepalive 和最大生存期设置。

支持以下参数

名称类型描述默认值必需
max_connection_idleduration空闲连接的最大生存期。"infinity"
max_connection_ageduration非空闲连接的最大生存期。"infinity"
max_connection_age_graceduration强制关闭连接前等待的时间。"infinity"
timeduration多久 ping 一次不活跃的客户端以检查活跃度。"2h"
timeoutduration关闭不响应活跃度检查的不活跃客户端之前等待的时间。"20s"

enforcement_policy 块

enforcement_policy 块配置 gRPC 服务器的 Keepalive 强制策略。服务器将关闭来自违反配置策略的客户端的连接。

支持以下参数

名称类型描述默认值必需
min_timeduration客户端在发送 Keepalive ping 之前应等待的最短时间。"5m"
permit_without_streamboolean允许客户端在没有活动流时发送 Keepalive ping。false

debug_metrics 块

debug_metrics 块配置此组件生成的用于监控其状态的指标。

支持以下参数

名称类型描述默认值必需
disable_high_cardinality_metricsboolean是否禁用某些高基数指标。true
levelstring控制包装的收集器发出的指标的详细程度。"detailed"

disable_high_cardinality_metrics 是 Grafana Alloy 等效于 OpenTelemetry Collector 中的 telemetry.disableHighCardinalityMetrics 功能门。它会删除可能导致高基数指标的属性。例如,删除了关于 HTTP 和 gRPC 连接的指标中包含 IP 地址和端口号的属性。

注意

如果配置了 disable_high_cardinality_metrics,则仅适用于 otelcol.exporter.*otelcol.receiver.* 组件。

level 是 Alloy 等效于 OpenTelemetry Collector 中的 telemetry.metrics.level 功能门。可能的值为 "none""basic""normal""detailed"

output 块

output 块配置一组组件,用于将生成的遥测数据转发到这些组件。

支持以下参数

名称类型描述默认值必需
logslist(otelcol.Consumer)要将日志发送到的消费者列表。[]
metricslist(otelcol.Consumer)要将指标发送到的消费者列表。[]
traceslist(otelcol.Consumer)要将链路追踪发送到的消费者列表。[]

您必须指定 output 块,但其所有参数都是可选的。默认情况下,遥测数据将被丢弃。相应地配置 metricslogstraces 参数,以将遥测数据发送到其他组件。

导出的字段

otelcol.receiver.opencensus 不导出任何字段。

组件健康状况

仅当 otelcol.receiver.opencensus 被赋予无效配置时,才会被报告为不健康。

调试信息

otelcol.receiver.opencensus 不公开任何组件特定的调试信息。

示例

此示例通过批处理器转发接收到的遥测数据,然后最终将其发送到支持 OTLP 的端点

alloy
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 组件,该组件要求对请求进行身份验证。这对于限制谁可以将数据推送到服务器非常有用。

注意

并非所有 OpenTelemetry Collector 身份验证插件都支持接收器身份验证。有关每个 otelcol.auth.* 组件的兼容性,请参阅文档

alloy
otelcol.receiver.opencensus "default" {
  auth = otelcol.auth.basic.creds.handler
}

otelcol.auth.basic "creds" {
    username = sys.env("USERNAME")
    password = sys.env("PASSWORD")
}

兼容组件

otelcol.receiver.opencensus 可以接受来自以下组件的参数

注意

连接某些组件可能不合理,或者组件可能需要进一步配置才能使连接正常工作。有关更多详细信息,请参阅链接的文档。