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

otelcol接收器.opencensus

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

注意otelcol.receiver.opencensus 是 OpenTelemetry Collector 的 opencensus 接收器(来自 otelcol-contrib 发行版)的包装器。如有必要,错误报告或功能请求将被重定向到上游存储库。

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

用法

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

参数

otelcol.receiver.opencensus 支持以下参数

名称类型描述默认值必需
cors_allowed_originslist(string)允许的跨源资源共享(CORS)源列表。
endpoint字符串监听流量的 host:port"0.0.0.0:55678"
transport字符串用于 gRPC 服务的传输。"tcp"
max_recv_msg_size字符串服务器将接受的消息最大大小。"4MiB""
max_concurrent_streamsnumber限制并发流式 RPC 调用的数量。
read_buffer_size字符串gRPC 服务器从客户端读取时使用的读取缓冲区大小。"512KiB"
write_buffer_size字符串gRPC 服务器写入客户端时使用的写入缓冲区大小。
include_metadataboolean将传入连接元数据传播到下游消费者。

cors_allowed_origins 是 HTTP/JSON 请求允许的 CORS 源。空列表表示根本未启用 CORS。可以使用通配符 (*) 匹配任何源或源的一个或多个字符。

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

要使用 HTTP/JSON 编写跟踪,请向 [地址]/v1/trace 发送 POST 请求。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_file字符串CA 文件的路径。
ca_pem字符串用于验证服务器的 CA PEM 编码文本。
cert_file字符串TLS 证书的路径。
cert_pem字符串用于客户端身份验证的证书 PEM 编码文本。
include_system_ca_certs_poolboolean是否与证书颁发机构一起加载系统证书颁发机构池。false
key_file字符串TLS 证书私钥的路径。
key_pemsecret用于客户端身份验证的密钥 PEM 编码文本。
max_version字符串最大可接受的TLS版本,用于连接。"TLS 1.3"
min_version字符串最小可接受的TLS版本,用于连接。"TLS 1.2"
cipher_suiteslist(string)可以由TLS传输使用的TLS加密套件的列表。[]
reload_interval持续时间证书重新加载后的持续时间。"0s"
client_ca_file字符串服务器用于验证客户端证书的TLS证书路径。

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

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

  • ca_pemca_file
  • cert_pemcert_file
  • key_pemkey_file

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

client_ca_fileTLSConfig中的ClientCAClientAuth设置为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_streamboolean允许客户端在没有活动流的情况下发送keepalive ping。false

debug_metrics块

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

以下参数受支持

名称类型描述默认值必需
disable_high_cardinality_metricsboolean是否禁用某些高基数指标。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块配置一组组件以将结果遥测数据转发到。

以下参数受支持

名称类型描述默认值必需
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 可以接受以下组件的参数

注意

连接某些组件可能不合理,或者组件可能需要进一步配置才能正确连接。请参阅链接文档以获取更多详细信息。