编辑此页面

使用 OpenTelemetry

本指南解释了您的 Quarkus 应用程序如何利用 OpenTelemetry (OTel) 为交互式 Web 应用程序提供可观测性。

在此页面上,我们将展示该扩展与信号无关的功能。

本文档是 Quarkus 可观察性参考指南的一部分,该指南介绍了此组件和其他可观察性相关组件。

简介

OpenTelemetry 是一个可观测性框架和工具包,旨在创建和管理遥测数据,例如跟踪、指标和日志。至关重要的是,OpenTelemetry 与供应商和工具无关。

Quarkus 提供用于跟踪的手动和自动检测,以及用于指标的手动检测功能。

这将允许基于 Quarkus 的应用程序可以通过支持 OpenTelemetry 的工具和服务进行观察。

Quarkus 中的自动指标检测由 Quarkus Micrometer 扩展完成。我们计划在将来提供一个桥梁,使这些指标也可以在 OpenTelemetry 中使用。

Quarkus 支持 OpenTelemetry 自动配置。这些配置与您在 OpenTelemetry SDK 自动配置中看到的内容相匹配,带有 quarkus.* 前缀。

本指南提供了 OpenTelemetry 扩展及其使用方法的横切解释。如果您需要有关任何特定信号(跟踪或指标)的详细信息,请参阅特定信号指南。

随着 OpenTelemetry 指标的引入,最初的单页指南必须按信号类型进行拆分,如下所示

OpenTelemetry 跟踪指南

默认情况下,跟踪功能已受支持且已启用

OpenTelemetry 指标指南

启用指标

默认情况下,指标功能是实验性的并且已禁用。您需要通过设置来激活它

quarkus.otel.metrics.enabled=true

在您的 application.properties 文件中构建时。

OpenTelemetry 日志记录指南

启用日志

默认情况下,日志记录功能是实验性的并且已禁用。您需要通过设置来激活它

quarkus.otel.logs.enabled=true

在您的 application.properties 文件中构建时。

使用扩展

如果您已经有 Quarkus 项目,则可以通过在项目基本目录中运行以下命令将 quarkus-opentelemetry 扩展添加到其中

CLI
quarkus extension add opentelemetry
Maven
./mvnw quarkus:add-extension -Dextensions='opentelemetry'
Gradle
./gradlew addExtension --extensions='opentelemetry'

这会将以下内容添加到您的构建文件中

pom.xml
<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-opentelemetry</artifactId>
</dependency>
build.gradle
implementation("io.quarkus:quarkus-opentelemetry")

创建配置

默认情况下,导出器将使用 gRPC 协议和端点 https://:4317 批量发送数据。

如果您需要更改任何默认属性值,以下是如何在应用程序中使用 src/main/resources/application.properties 文件配置默认 OTLP gRPC 导出器的示例

quarkus.application.name=myservice (1)
quarkus.otel.exporter.otlp.endpoint=https://:4317 (2)
quarkus.otel.exporter.otlp.headers=authorization=Bearer my_secret (3)
quarkus.log.console.format=%d{HH:mm:ss} %-5p traceId=%X{traceId}, parentId=%X{parentId}, spanId=%X{spanId}, sampled=%X{sampled} [%c{2.}] (%t) %s%e%n  (4)

# Alternative to the console log
quarkus.http.access-log.pattern="...traceId=%{X,traceId} spanId=%{X,spanId}" (5)
1 从应用程序创建的所有遥测数据将包括一个 OpenTelemetry Resource 属性,指示遥测数据是由 myservice 应用程序创建的。如果未设置,则默认为构件 ID。
2 gRPC 端点用于发送遥测数据。如果未设置,则默认为 https://:4317
3 通常用于身份验证的可选 gRPC 标头
4 将跟踪信息添加到日志消息中。
5 您也可以仅将跟踪信息放入访问日志中。在这种情况下,您必须省略控制台日志格式中的信息。

我们为连接相关属性提供信号无关的配置,这意味着当您设置时,可以对跟踪和指标使用相同的属性

quarkus.otel.exporter.otlp.endpoint=https://:4317

如果您需要为每个信号设置不同的配置,可以使用特定属性

quarkus.otel.exporter.otlp.traces.endpoint=http://trace-uri:4317 (1)
quarkus.otel.exporter.otlp.metrics.endpoint=http://metrics-uri:4317 (2)
quarkus.otel.exporter.otlp.logs.endpoint=http://logs-uri:4317 (3)
1 跟踪导出器的端点。
2 指标导出器的端点。
3 日志导出器的端点。

如果您需要将跨度和日志在完成后立即导出(例如,在无服务器环境/应用程序中),则可以将此属性设置为 true。这将替换数据的默认批处理。

quarkus.otel.simple=true

禁用 OpenTelemetry 扩展的全部或部分

添加依赖项后,默认情况下扩展将生成跟踪数据。要启用指标或全局或部分禁用 OpenTelemetry 扩展,可以使用以下属性(它们是从下面的配置参考中提取的)

受影响的信号 属性名称 默认值 描述

全部

quarkus.otel.enabled

true

如果为 false,则在构建时禁用 OpenTelemetry 的使用。

全部

quarkus.otel.sdk.disabled

false

来自 OpenTelemetry 自动配置。如果为 true,将在运行时禁用 OpenTelemetry SDK 的使用。

所有输出

quarkus.otel.exporter.otlp.enabled

true

已弃用,即将删除。

如果为 false,将在构建时禁用默认 OTLP 导出器。

跟踪

quarkus.otel.traces.enabled

true

如果为 false,则在构建时禁用 OpenTelemetry 跟踪的使用。

跟踪输出

quarkus.otel.traces.exporter

cdi

用于跟踪的导出器列表,以逗号分隔。具有来自ExporterType的值之一:otlpcdinone。这是一个构建时属性,将其设置为 none 将禁用跟踪数据输出。

指标

quarkus.otel.metrics.enabled

false

默认情况下,指标在构建时处于禁用状态,因为它们是实验性的。

指标输出

quarkus.otel.metrics.exporter

cdi

用于指标的导出器列表,以逗号分隔。具有来自ExporterType的值之一:otlpcdinone。这是一个构建时属性,将其设置为 none 将禁用指标数据输出。

日志

quarkus.otel.logs.enabled

false

默认情况下,日志在构建时处于禁用状态,因为它们是实验性的。

日志输出

quarkus.otel.logs.exporter

cdi

用于日志的导出器列表,以逗号分隔。具有来自ExporterType的值之一:otlpcdinone。这是一个构建时属性,将其设置为 none 将禁用日志数据输出。

日志输出

quarkus.otel.logs.handler.enabled

true

如果为 false,则在运行时禁用 OpenTelemetry 日志处理程序。这将删除 Quarkus 日志记录系统 (JBoss LogManager) 和 OpenTelemetry 日志之间的桥梁。

如果您需要在运行时启用或禁用导出器,则可以使用 采样器,因为它能够根据需要过滤掉所有跨度。

可以在跟踪中禁用特定的检测组件,例如忽略客户端请求但保留服务器请求。有关更多详细信息,请查看《OpenTelemetry 跟踪指南》。

资源

资源是生成遥测数据的实体的表示,它向导出的跟踪或指标添加属性以表征谁在生成遥测数据。Quarkus 遵循 Java OpenTelemetry SDK 指定的 资源自动配置

默认

默认情况下,以下属性将添加到资源。

属性名称 内容示例 来源

service.name

"opentelemetry-quickstart"

该值来自 artifactId、quarkus.application.name 属性或 quarkus.otel.resource.attributes=service.name=cart 属性。

host.name

"myHost"

在启动时解析

service.version

"1.0-SNAPSHOT"

在构建时从构件版本解析

telemetry.sdk.language

"java"

静态值

telemetry.sdk.name

"opentelemetry"

在构建时解析

telemetry.sdk.version

"1.32.0"

在构建时解析

webengine.name

"Quarkus"

静态值

webengine.version

"999-SNAPSHOT"

在构建时解析的 Quarkus 版本

使用配置

您可以通过设置 OpenTelemetry 配置参考中描述的 quarkus.otel.resource.attributes 配置属性来添加其他属性。由于此属性可以在运行时被覆盖,因此 OpenTelemetry 扩展将按照 Quarkus 配置参考中描述的优先级顺序选取其值。

quarkus.otel.resource.attributes=deployment.environment=dev,service.name=cart,service.namespace=shopping

这将为 deployment.environmentservice.nameservice.namespace 添加属性到资源中,并将其包含在跟踪和指标中。

使用 CDI Bean

如果出于任何原因您需要使用自定义资源或由 OpenTelemetry SDK 扩展之一提供的资源,则可以创建多个资源生产者。OpenTelemetry 扩展将检测 Resource CDI Bean,并在配置 OTel SDK 时合并它们。

@ApplicationScoped
public class CustomConfiguration {

    @Produces
    @ApplicationScoped
    public Resource osResource() {
        return OsResource.get();
    }

    @Produces
    @ApplicationScoped
    public Resource ecsResource() {
        return EcsResource.get();
    }
}

语义约定

OpenTelemetry 提供了一组 语义约定,用于标准化检测收集的数据。

创建手动检测时,在命名指标或属性时,应遵循这些约定,不要创建新名称来表示现有约定。这将使跨服务的数据关联更容易执行。

导出器

默认

Quarkus OpenTelemetry 扩展使用其自己的信号导出器,这些导出器构建在 Vert.x 之上,以获得最佳性能和可维护性。

导出器通过 CDI 自动连接,这就是 quarkus.otel.traces.exporterquarkus.otel.metrics.exporter 属性默认为 cdi 的原因。

quarkus.otel.exporter.otlp.protocol 默认为 grpc,但也可以使用 http/protobuf

如果更改协议,则还需要更改端点中的端口。grpc 的默认端口为 4317http/protobuf 的默认端口为 4318

在 Quarkiverse 上

其他导出器将在 Quarkiverse quarkus-opentelemetry-exporter 项目中提供。

目前,以下导出器可用(可能已过时),用于

  • 旧版 Jaeger

  • Microsoft Azure

  • Google Cloud

同样在 Quarkiverse 上,Quarkus AWS SDK 与 OpenTelemetry 集成

日志记录导出器(用于调试)

您可以将所有指标输出到控制台,以进行调试/开发。

不要在生产中使用它。

您需要在项目中添加以下依赖项

pom.xml
<dependency>
    <groupId>io.opentelemetry</groupId>
    <artifactId>opentelemetry-exporter-logging</artifactId>
</dependency>
build.gradle
implementation("io.opentelemetry:opentelemetry-exporter-logging")

然后,在 application.properties 文件中将导出器设置为 logging

quarkus.otel.metrics.exporter=logging (1)
quarkus.otel.metric.export.interval=10000ms (2)
quarkus.otel.traces.exporter=logging (3)
1 将指标导出器设置为 logging。通常您不需要设置此项。默认为 cdi
2 设置导出指标的间隔。默认值为 1m,对于调试来说太长了。
3 将跟踪导出器设置为 logging。通常您不需要设置此项。默认为 cdi

可视化数据

我们推荐 Grafana-OTel-LGTM 入门

这提供了一个使用“all-in-one”Grafana OTel LGTM 的 Quarkus 开发服务。

Grafana 用于可视化数据,Loki 用于存储日志,Tempo 用于存储跟踪,Prometheus 用于存储指标。还提供了一个 OTel 收集器来接收数据。

这提供了一种可视化应用程序生成的所有 OpenTelemetry 数据的简便方法。

您还可以使用 日志记录导出器将所有跟踪和指标输出到控制台。

OpenTelemetry 配置参考

Quarkus 支持跟踪的 OpenTelemetry 自动配置。这些配置与您在 OpenTelemetry SDK 自动配置中看到的内容相匹配,并添加了通常的 quarkus.* 前缀。

Quarkus OpenTelemetry 配置属性现在具有 quarkus.otel.* 前缀。

构建时固定的配置属性 - 所有其他配置属性都可以在运行时覆盖

配置属性

类型

默认

如果为 false,则在构建时禁用 OpenTelemetry 的使用。所有其他 Otel 属性将在运行时被忽略。

将从旧属性 quarkus.opentelemetry.enabled 中选取值

默认为 true

环境变量:QUARKUS_OTEL_ENABLED

显示更多

布尔值

true

我们是否应该对跨度和日志记录使用简单的处理器。这将禁用批处理,并且导出器将立即发送遥测数据。建议用于无服务器应用程序。

默认为 false

环境变量:QUARKUS_OTEL_SIMPLE

显示更多

布尔值

false

Quarkus 支持的导出器列表。

用于跟踪的导出器列表,以逗号分隔。具有 ExporterType otlpcdinone 上的值之一,或实现 io.opentelemetry.sdk.trace.export.SpanExporter 的类的完整限定名称

Quarkus 上的默认值为 ExporterType.Constants#CDI_VALUE

环境变量:QUARKUS_OTEL_TRACES_EXPORTER

显示更多

字符串列表

cdi

用于跟踪的采样器。

具有 SamplerType always_onalways_offtraceidratioparentbased_always_onparentbased_always_offparentbased_traceidratio 上的值之一,或者 Sampler SPI 名称。这将使用 OTel SPI 挂钩来获取提供程序中设置的 io.opentelemetry.sdk.trace.samplers.Sampler 实现:io.opentelemetry.sdk.autoconfigure.spi.traces.ConfigurableSamplerProvider

回退到旧属性 quarkus.opentelemetry.tracer.sampler.sampler.name 或默认为 SamplerType.Constants#PARENT_BASED_ALWAYS_ON

环境变量:QUARKUS_OTEL_TRACES_SAMPLER

显示更多

字符串

parentbased_always_on

是否应在尽力而为的基础上将 OpenTelemetry 最终用户属性添加为 Span 属性。

环境变量:QUARKUS_OTEL_TRACES_EUSP_ENABLED

显示更多

布尔值

false

使用 OpenTelemetry 启用指标。

Open Telemetry SDK 中没有此属性。它是 Quarkus 特有的。

如果此值为 true,将启用对 OpenTelemetry 指标的支持。默认情况下启用 OpenTelemetry SDK (io.quarkus.opentelemetry.runtime.config.build.OTelBuildConfig#enabled()),如果禁用,也将禁用 OpenTelemetry 指标。

环境变量:QUARKUS_OTEL_METRICS_ENABLED

显示更多

布尔值

false

要使用的指标导出器。

环境变量:QUARKUS_OTEL_METRICS_EXPORTER

显示更多

字符串列表

cdi

使用 OpenTelemetry 启用日志。

Open Telemetry SDK 中没有此属性。它是 Quarkus 特有的。

如果此值为 true,将启用对 OpenTelemetry 日志的支持。默认情况下启用 OpenTelemetry SDK (io.quarkus.opentelemetry.runtime.config.build.OTelBuildConfig#enabled()),如果禁用,也将禁用 OpenTelemetry 日志。

环境变量:QUARKUS_OTEL_LOGS_ENABLED

显示更多

布尔值

false

要使用的日志导出器。

环境变量:QUARKUS_OTEL_LOGS_EXPORTER

显示更多

字符串列表

cdi

要使用的传播器。使用逗号分隔的列表表示多个传播器。

具有来自 PropagatorType 的值,或者实现 io.opentelemetry.context.propagation.TextMapPropagator 的类的完整限定名称。

默认为 PropagatorType.Constants#TRACE_CONTEXTPropagatorType.Constants#BAGGAGE (W3C)。

环境变量:QUARKUS_OTEL_PROPAGATORS

显示更多

字符串列表

tracecontext,baggage

启用 gRPC 的检测。

环境变量:QUARKUS_OTEL_INSTRUMENT_GRPC

显示更多

布尔值

true

启用消息传递的检测。

环境变量:QUARKUS_OTEL_INSTRUMENT_MESSAGING

显示更多

布尔值

true

启用由 RESTEasy Classic 支持的 REST 客户端的检测。

环境变量:QUARKUS_OTEL_INSTRUMENT_RESTEASY_CLIENT

显示更多

布尔值

true

启用 Quarkus REST 的检测。

环境变量:QUARKUS_OTEL_INSTRUMENT_REST

显示更多

布尔值

true

启用 RESTEasy Classic 的检测。

环境变量:QUARKUS_OTEL_INSTRUMENT_RESTEASY

显示更多

布尔值

true

是否启用了安全事件的导出。

环境变量:QUARKUS_OTEL_SECURITY_EVENTS_ENABLED

显示更多

布尔值

false

选择安全事件类型。

环境变量:QUARKUS_OTEL_SECURITY_EVENTS_EVENT_TYPES

显示更多

allauthentication-successauthentication-failureauthorization-successauthorization-failureother 列表

all

如果为 true,则禁用 OpenTelemetry SDK。运行时配置。

默认为 false

环境变量:QUARKUS_OTEL_SDK_DISABLED

显示更多

布尔值

false

禁止从跟踪集合中获取非应用程序 uri。这将禁止跟踪 /q 端点。

提供自定义 io.opentelemetry.sdk.trace.samplers.Sampler CDI Bean 将忽略此设置。

这是 Quarkus 特有的属性。默认情况下启用禁止非应用程序 uri。

回退到旧属性 quarkus.opentelemetry.tracer.suppress-non-application-uris 或默认为 true

环境变量:QUARKUS_OTEL_TRACES_SUPPRESS_NON_APPLICATION_URIS

显示更多

布尔值

true

逗号分隔,禁止从跟踪集合中获取应用程序 uri。

这将禁止由此属性设置的所有 uri。

如果您使用的是 quarkus.http.root-path,则需要在设置 uri 时考虑它,换句话说,您需要根据需要使用根路径进行配置。

环境变量:QUARKUS_OTEL_TRACES_SUPPRESS_APPLICATION_URIS

显示更多

字符串列表

从跟踪集合中包含静态资源。

这是 Quarkus 特有的属性。默认情况下禁用包含静态资源。提供自定义 io.opentelemetry.sdk.trace.samplers.Sampler CDI Bean 将忽略此设置。

回退到旧属性 quarkus.opentelemetry.tracer.include-static-resources 或默认为 false

环境变量:QUARKUS_OTEL_TRACES_INCLUDE_STATIC_RESOURCES

显示更多

布尔值

false

采样器参数。取决于 quarkus.otel.traces.sampler 属性。回退到旧属性 quarkus.opentelemetry.tracer.sampler.ratio

将库存采样器设置为 traceidratioparentbased_traceidratio 时,您需要设置一个 0.0d1.0d 之间的 double 兼容值,如 0.01d0.5d。它保留为 String,以允许灵活地自定义备用采样器。

默认为 1.0d

环境变量:QUARKUS_OTEL_TRACES_SAMPLER_ARG

显示更多

字符串

1.0d

两次指标导出尝试开始之间的间隔。

默认为 1 分钟。

环境变量:QUARKUS_OTEL_METRIC_EXPORT_INTERVAL

显示更多

Duration 

60S

确定是否启用 OpenTelemetry 日志记录处理程序。

这是 Quarkus 特有的属性。默认情况下启用 OpenTelemetry 日志记录处理程序。

环境变量:QUARKUS_OTEL_LOGS_HANDLER_ENABLED

显示更多

布尔值

true

用于 OpenTelemetry 日志记录处理程序的日志级别。

这是 Quarkus 特有的属性。默认日志级别为 ALL。

环境变量:QUARKUS_OTEL_LOGS_LEVEL

显示更多

Level

ALL

属性值的最大长度。适用于跨度和日志。

默认情况下,没有限制。

环境变量:QUARKUS_OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT

显示更多

字符串

属性的最大数量。适用于跨度、跨度事件、跨度链接和日志。

默认值为 128

环境变量:QUARKUS_OTEL_ATTRIBUTE_COUNT_LIMIT

显示更多

整数

128

跨度属性值的最大长度。优先于 otel.attribute.value.length.limit

默认情况下,没有限制。

环境变量:QUARKUS_OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT

显示更多

整数

每个跨度的最大属性数。优先于 otel.attribute.count.limit

默认值为 128

环境变量:QUARKUS_OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT

显示更多

整数

128

每个跨度的最大事件数。

默认值为 128

环境变量:QUARKUS_OTEL_SPAN_EVENT_COUNT_LIMIT

显示更多

整数

128

每个跨度的最大链接数。

默认值为 128

环境变量:QUARKUS_OTEL_SPAN_LINK_COUNT_LIMIT

显示更多

整数

128

批处理跨度处理器两次连续导出之间的间隔 Duration

默认为 5s

环境变量:QUARKUS_OTEL_BSP_SCHEDULE_DELAY

显示更多

Duration 

5S

批处理跨度处理器的最大队列大小。

默认为 2048

环境变量:QUARKUS_OTEL_BSP_MAX_QUEUE_SIZE

显示更多

整数

2048

批处理跨度处理器的最大批处理大小。

默认为 512

环境变量:QUARKUS_OTEL_BSP_MAX_EXPORT_BATCH_SIZE

显示更多

整数

512

批处理跨度处理器导出数据的最大允许时间 Duration

默认为 30s

环境变量:QUARKUS_OTEL_BSP_EXPORT_TIMEOUT

显示更多

Duration 

30S

批处理日志记录处理器两次连续导出之间的间隔 Duration

默认为 1S

环境变量:QUARKUS_OTEL_BLRP_SCHEDULE_DELAY

显示更多

Duration 

1S

批处理日志记录处理器的最大队列大小。

默认为 2048

环境变量:QUARKUS_OTEL_BLRP_MAX_QUEUE_SIZE

显示更多

整数

2048

批处理日志记录处理器的最大批处理大小。

默认为 512

环境变量:QUARKUS_OTEL_BLRP_MAX_EXPORT_BATCH_SIZE

显示更多

整数

512

批处理日志记录处理器导出数据的最大允许时间 Duration

默认为 30s

环境变量:QUARKUS_OTEL_BLRP_EXPORT_TIMEOUT

显示更多

Duration 

30S

以以下格式指定资源属性:key1=val1,key2=val2,key3=val3

环境变量:QUARKUS_OTEL_RESOURCE_ATTRIBUTES

显示更多

字符串列表

指定逻辑服务名称。优先于使用 otel.resource.attributes 定义的 service.name 和来自 quarkus.application.name 的 service.name。

默认为 quarkus.application.name

环境变量:QUARKUS_OTEL_SERVICE_NAME

显示更多

字符串

${quarkus.application.name:unset}

指定已过滤的资源属性键。

环境变量:QUARKUS_OTEL_EXPERIMENTAL_RESOURCE_DISABLED_KEYS

显示更多

字符串列表

Quarkus 将等待 OpenTelemetry SDK 刷新未发送的跨度并关闭的最大时间。

环境变量:QUARKUS_OTEL_EXPERIMENTAL_SHUTDOWN_WAIT_TIME

显示更多

Duration 

2S

启用 Vert.x HTTP 的检测。

环境变量:QUARKUS_OTEL_INSTRUMENT_VERTX_HTTP

显示更多

布尔值

true

启用 Vert.x Event Bus 的 Instrumentation。

环境变量:QUARKUS_OTEL_INSTRUMENT_VERTX_EVENT_BUS

显示更多

布尔值

true

启用 Vert.x SQL Client 的 Instrumentation。

环境变量:QUARKUS_OTEL_INSTRUMENT_VERTX_SQL_CLIENT

显示更多

布尔值

true

启用 Vert.x Redis Client 的 Instrumentation。

环境变量:QUARKUS_OTEL_INSTRUMENT_VERTX_REDIS_CLIENT

显示更多

布尔值

true

启用 JVM Metrics 的 Instrumentation。

环境变量:QUARKUS_OTEL_INSTRUMENT_JVM_METRICS

显示更多

布尔值

true

启用 HTTP Server Metrics 的 Instrumentation。

环境变量:QUARKUS_OTEL_INSTRUMENT_HTTP_SERVER_METRICS

显示更多

布尔值

true

优先使用 OpenTelemetry 配置 otel. 而不是 Quarkus OpenTelemetry 配置 quarkus.otel

默认情况下,Quarkus 配置优先于 OpenTelemetry 配置。

环境变量:QUARKUS_OTEL_MP_COMPATIBILITY

显示更多

布尔值

false

设置 OTLP 端点以发送遥测数据。如果未设置,则默认为 OtlpExporterRuntimeConfig#DEFAULT_GRPC_BASE_URI

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..endpoint,其中 是支持的信号类型之一,如 tracesmetrics

如果协议是 http/protobuf,则版本和信号将附加到路径(例如 v1/traces 或 v1/metrics),默认端口将是 OtlpExporterRuntimeConfig#DEFAULT_HTTP_BASE_URI

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_ENDPOINT

显示更多

字符串

https://:4317/

用作与导出器请求关联的标头的键值对。格式类似于 OTEL_EXPORTER_OTLP_HEADERS 环境变量,是由 "=" 字符分隔的键值对列表。即:key1=value1,key2=value2

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..headers,其中 是支持的信号类型之一,如 tracesmetrics

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_HEADERS

显示更多

字符串列表

设置用于压缩有效负载的方法。如果未设置,则禁用压缩。当前支持的压缩方法包括 gzipnone

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..compression,其中 是支持的信号类型之一,如 tracesmetrics

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_COMPRESSION

显示更多

gzip, none

设置等待收集器处理导出的遥测数据批处理的最长时间。如果未设置,则默认为 `OtlpExporterRuntimeConfig#DEFAULT_TIMEOUT_SECS` 秒。

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..timeout,其中 是支持的信号类型之一,如 tracesmetrics

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_TIMEOUT

显示更多

Duration 

10s

OTLP 定义了遥测数据的编码以及用于在客户端和服务器之间交换数据的协议。根据导出器,可用的协议将有所不同。

目前,仅允许 grpchttp/protobuf

请注意,更改协议还需要更改端点中的端口。

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..protocol,其中 是支持的信号类型之一,如 tracesmetrics

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_PROTOCOL

显示更多

字符串

grpc

密钥文件(Pem 格式)的逗号分隔列表的路径。

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_KEY_CERT_KEYS

显示更多

字符串列表

证书文件(Pem 格式)的逗号分隔列表的路径。

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_KEY_CERT_CERTS

显示更多

字符串列表

信任证书文件(Pem 格式)的逗号分隔列表的路径。

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_TRUST_CERT_CERTS

显示更多

字符串列表

要使用的 TLS 配置的名称。

如果未设置且配置了默认 TLS 配置(quarkus.tls.*),则将使用该配置。 如果配置了名称,则使用来自 quarkus.tls.<name>.* 的配置。 如果配置了名称,但未找到具有该名称的 TLS 配置,则将引发错误。

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..tls-configuration-name,其中 是支持的信号类型之一,如 tracesmetrics

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_TLS_CONFIGURATION_NAME

显示更多

字符串

是否必须使用代理连接。

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..proxy-options.enabled,其中 是支持的信号类型之一,如 tracesmetrics

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_PROXY_OPTIONS_ENABLED

显示更多

布尔值

false

设置代理用户名。

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..proxy-options.username,其中 是支持的信号类型之一,如 tracesmetrics

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_PROXY_OPTIONS_USERNAME

显示更多

字符串

设置代理密码。

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..proxy-options.password,其中 是支持的信号类型之一,如 tracesmetrics

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_PROXY_OPTIONS_PASSWORD

显示更多

字符串

设置代理端口。

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..proxy-options.port,其中 是支持的信号类型之一,如 tracesmetrics

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_PROXY_OPTIONS_PORT

显示更多

整数

设置代理主机。

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..proxy-options.host,其中 是支持的信号类型之一,如 tracesmetrics

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_PROXY_OPTIONS_HOST

显示更多

字符串

设置 OTLP 端点以发送遥测数据。如果未设置,则默认为 OtlpExporterRuntimeConfig#DEFAULT_GRPC_BASE_URI

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..endpoint,其中 是支持的信号类型之一,如 tracesmetrics

如果协议是 http/protobuf,则版本和信号将附加到路径(例如 v1/traces 或 v1/metrics),默认端口将是 OtlpExporterRuntimeConfig#DEFAULT_HTTP_BASE_URI

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_TRACES_ENDPOINT

显示更多

字符串

https://:4317/

用作与导出器请求关联的标头的键值对。格式类似于 OTEL_EXPORTER_OTLP_HEADERS 环境变量,是由 "=" 字符分隔的键值对列表。即:key1=value1,key2=value2

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..headers,其中 是支持的信号类型之一,如 tracesmetrics

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_TRACES_HEADERS

显示更多

字符串列表

设置用于压缩有效负载的方法。如果未设置,则禁用压缩。当前支持的压缩方法包括 gzipnone

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..compression,其中 是支持的信号类型之一,如 tracesmetrics

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_TRACES_COMPRESSION

显示更多

gzip, none

设置等待收集器处理导出的遥测数据批处理的最长时间。如果未设置,则默认为 `OtlpExporterRuntimeConfig#DEFAULT_TIMEOUT_SECS` 秒。

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..timeout,其中 是支持的信号类型之一,如 tracesmetrics

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_TRACES_TIMEOUT

显示更多

Duration 

10s

OTLP 定义了遥测数据的编码以及用于在客户端和服务器之间交换数据的协议。根据导出器,可用的协议将有所不同。

目前,仅允许 grpchttp/protobuf

请注意,更改协议还需要更改端点中的端口。

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..protocol,其中 是支持的信号类型之一,如 tracesmetrics

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_TRACES_PROTOCOL

显示更多

字符串

grpc

密钥文件(Pem 格式)的逗号分隔列表的路径。

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_TRACES_KEY_CERT_KEYS

显示更多

字符串列表

证书文件(Pem 格式)的逗号分隔列表的路径。

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_TRACES_KEY_CERT_CERTS

显示更多

字符串列表

信任证书文件(Pem 格式)的逗号分隔列表的路径。

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_TRACES_TRUST_CERT_CERTS

显示更多

字符串列表

要使用的 TLS 配置的名称。

如果未设置且配置了默认 TLS 配置(quarkus.tls.*),则将使用该配置。 如果配置了名称,则使用来自 quarkus.tls.<name>.* 的配置。 如果配置了名称,但未找到具有该名称的 TLS 配置,则将引发错误。

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..tls-configuration-name,其中 是支持的信号类型之一,如 tracesmetrics

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_TRACES_TLS_CONFIGURATION_NAME

显示更多

字符串

是否必须使用代理连接。

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..proxy-options.enabled,其中 是支持的信号类型之一,如 tracesmetrics

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_TRACES_PROXY_OPTIONS_ENABLED

显示更多

布尔值

false

设置代理用户名。

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..proxy-options.username,其中 是支持的信号类型之一,如 tracesmetrics

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_TRACES_PROXY_OPTIONS_USERNAME

显示更多

字符串

设置代理密码。

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..proxy-options.password,其中 是支持的信号类型之一,如 tracesmetrics

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_TRACES_PROXY_OPTIONS_PASSWORD

显示更多

字符串

设置代理端口。

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..proxy-options.port,其中 是支持的信号类型之一,如 tracesmetrics

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_TRACES_PROXY_OPTIONS_PORT

显示更多

整数

设置代理主机。

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..proxy-options.host,其中 是支持的信号类型之一,如 tracesmetrics

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_TRACES_PROXY_OPTIONS_HOST

显示更多

字符串

设置 OTLP 端点以发送遥测数据。如果未设置,则默认为 OtlpExporterRuntimeConfig#DEFAULT_GRPC_BASE_URI

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..endpoint,其中 是支持的信号类型之一,如 tracesmetrics

如果协议是 http/protobuf,则版本和信号将附加到路径(例如 v1/traces 或 v1/metrics),默认端口将是 OtlpExporterRuntimeConfig#DEFAULT_HTTP_BASE_URI

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_METRICS_ENDPOINT

显示更多

字符串

https://:4317/

用作与导出器请求关联的标头的键值对。格式类似于 OTEL_EXPORTER_OTLP_HEADERS 环境变量,是由 "=" 字符分隔的键值对列表。即:key1=value1,key2=value2

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..headers,其中 是支持的信号类型之一,如 tracesmetrics

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_METRICS_HEADERS

显示更多

字符串列表

设置用于压缩有效负载的方法。如果未设置,则禁用压缩。当前支持的压缩方法包括 gzipnone

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..compression,其中 是支持的信号类型之一,如 tracesmetrics

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_METRICS_COMPRESSION

显示更多

gzip, none

设置等待收集器处理导出的遥测数据批处理的最长时间。如果未设置,则默认为 `OtlpExporterRuntimeConfig#DEFAULT_TIMEOUT_SECS` 秒。

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..timeout,其中 是支持的信号类型之一,如 tracesmetrics

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_METRICS_TIMEOUT

显示更多

Duration 

10s

OTLP 定义了遥测数据的编码以及用于在客户端和服务器之间交换数据的协议。根据导出器,可用的协议将有所不同。

目前,仅允许 grpchttp/protobuf

请注意,更改协议还需要更改端点中的端口。

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..protocol,其中 是支持的信号类型之一,如 tracesmetrics

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_METRICS_PROTOCOL

显示更多

字符串

grpc

密钥文件(Pem 格式)的逗号分隔列表的路径。

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_METRICS_KEY_CERT_KEYS

显示更多

字符串列表

证书文件(Pem 格式)的逗号分隔列表的路径。

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_METRICS_KEY_CERT_CERTS

显示更多

字符串列表

信任证书文件(Pem 格式)的逗号分隔列表的路径。

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_METRICS_TRUST_CERT_CERTS

显示更多

字符串列表

要使用的 TLS 配置的名称。

如果未设置且配置了默认 TLS 配置(quarkus.tls.*),则将使用该配置。 如果配置了名称,则使用来自 quarkus.tls.<name>.* 的配置。 如果配置了名称,但未找到具有该名称的 TLS 配置,则将引发错误。

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..tls-configuration-name,其中 是支持的信号类型之一,如 tracesmetrics

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_METRICS_TLS_CONFIGURATION_NAME

显示更多

字符串

是否必须使用代理连接。

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..proxy-options.enabled,其中 是支持的信号类型之一,如 tracesmetrics

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_METRICS_PROXY_OPTIONS_ENABLED

显示更多

布尔值

false

设置代理用户名。

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..proxy-options.username,其中 是支持的信号类型之一,如 tracesmetrics

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_METRICS_PROXY_OPTIONS_USERNAME

显示更多

字符串

设置代理密码。

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..proxy-options.password,其中 是支持的信号类型之一,如 tracesmetrics

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_METRICS_PROXY_OPTIONS_PASSWORD

显示更多

字符串

设置代理端口。

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..proxy-options.port,其中 是支持的信号类型之一,如 tracesmetrics

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_METRICS_PROXY_OPTIONS_PORT

显示更多

整数

设置代理主机。

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..proxy-options.host,其中 是支持的信号类型之一,如 tracesmetrics

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_METRICS_PROXY_OPTIONS_HOST

显示更多

字符串

首选的输出聚合时效性。选项包括 DELTA、LOWMEMORY 和 CUMULATIVE。

如果为 CUMULATIVE,则所有工具都将具有累积时效性。如果为 DELTA,则计数器(同步和异步)和直方图将为 delta,上下计数器(同步和异步)将为累积。 如果为 LOWMEMORY,则同步计数器和直方图将为 delta,异步计数器和上下计数器(同步和异步)将为累积。

默认为 CUMULATIVE。

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE

显示更多

字符串

cumulative

首选的默认直方图聚合。

选项包括 BASE2_EXPONENTIAL_BUCKET_HISTOGRAM 和 EXPLICIT_BUCKET_HISTOGRAM。

默认为 EXPLICIT_BUCKET_HISTOGRAM。

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_METRICS_DEFAULT_HISTOGRAM_AGGREGATION

显示更多

字符串

explicit_bucket_histogram

设置 OTLP 端点以发送遥测数据。如果未设置,则默认为 OtlpExporterRuntimeConfig#DEFAULT_GRPC_BASE_URI

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..endpoint,其中 是支持的信号类型之一,如 tracesmetrics

如果协议是 http/protobuf,则版本和信号将附加到路径(例如 v1/traces 或 v1/metrics),默认端口将是 OtlpExporterRuntimeConfig#DEFAULT_HTTP_BASE_URI

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_LOGS_ENDPOINT

显示更多

字符串

https://:4317/

用作与导出器请求关联的标头的键值对。格式类似于 OTEL_EXPORTER_OTLP_HEADERS 环境变量,是由 "=" 字符分隔的键值对列表。即:key1=value1,key2=value2

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..headers,其中 是支持的信号类型之一,如 tracesmetrics

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_LOGS_HEADERS

显示更多

字符串列表

设置用于压缩有效负载的方法。如果未设置,则禁用压缩。当前支持的压缩方法包括 gzipnone

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..compression,其中 是支持的信号类型之一,如 tracesmetrics

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_LOGS_COMPRESSION

显示更多

gzip, none

设置等待收集器处理导出的遥测数据批处理的最长时间。如果未设置,则默认为 `OtlpExporterRuntimeConfig#DEFAULT_TIMEOUT_SECS` 秒。

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..timeout,其中 是支持的信号类型之一,如 tracesmetrics

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_LOGS_TIMEOUT

显示更多

Duration 

10s

OTLP 定义了遥测数据的编码以及用于在客户端和服务器之间交换数据的协议。根据导出器,可用的协议将有所不同。

目前,仅允许 grpchttp/protobuf

请注意,更改协议还需要更改端点中的端口。

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..protocol,其中 是支持的信号类型之一,如 tracesmetrics

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_LOGS_PROTOCOL

显示更多

字符串

grpc

密钥文件(Pem 格式)的逗号分隔列表的路径。

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_LOGS_KEY_CERT_KEYS

显示更多

字符串列表

证书文件(Pem 格式)的逗号分隔列表的路径。

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_LOGS_KEY_CERT_CERTS

显示更多

字符串列表

信任证书文件(Pem 格式)的逗号分隔列表的路径。

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_LOGS_TRUST_CERT_CERTS

显示更多

字符串列表

要使用的 TLS 配置的名称。

如果未设置且配置了默认 TLS 配置(quarkus.tls.*),则将使用该配置。 如果配置了名称,则使用来自 quarkus.tls.<name>.* 的配置。 如果配置了名称,但未找到具有该名称的 TLS 配置,则将引发错误。

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..tls-configuration-name,其中 是支持的信号类型之一,如 tracesmetrics

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_LOGS_TLS_CONFIGURATION_NAME

显示更多

字符串

是否必须使用代理连接。

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..proxy-options.enabled,其中 是支持的信号类型之一,如 tracesmetrics

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_LOGS_PROXY_OPTIONS_ENABLED

显示更多

布尔值

false

设置代理用户名。

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..proxy-options.username,其中 是支持的信号类型之一,如 tracesmetrics

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_LOGS_PROXY_OPTIONS_USERNAME

显示更多

字符串

设置代理密码。

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..proxy-options.password,其中 是支持的信号类型之一,如 tracesmetrics

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_LOGS_PROXY_OPTIONS_PASSWORD

显示更多

字符串

设置代理端口。

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..proxy-options.port,其中 是支持的信号类型之一,如 tracesmetrics

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_LOGS_PROXY_OPTIONS_PORT

显示更多

整数

设置代理主机。

有一个通用属性,它将应用于所有信号,还有一个特定于信号的属性,遵循以下模式:quarkus.otel.exporter.otlp..proxy-options.host,其中 是支持的信号类型之一,如 tracesmetrics

环境变量:QUARKUS_OTEL_EXPORTER_OTLP_LOGS_PROXY_OPTIONS_HOST

显示更多

字符串

关于 Duration 格式

要写入持续时间值,请使用标准的 java.time.Duration 格式。有关更多信息,请参阅 Duration#parse() Java API 文档

您还可以使用简化的格式,以数字开头

  • 如果该值仅为一个数字,则表示以秒为单位的时间。

  • 如果该值是一个数字后跟 ms,则表示以毫秒为单位的时间。

在其他情况下,简化格式将被转换为 java.time.Duration 格式以进行解析

  • 如果该值是一个数字后跟 hms,则在其前面加上 PT

  • 如果该值是一个数字后跟 d,则在其前面加上 P

相关内容