Spring boot 3:千分尺、zipkin、prometeus

问题描述 投票:0回答:1

我有pom.xml

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
    <version>3.2.1</version>
</dependency>
<dependency>
    <groupId>io.micrometer</groupId>
    <artifactId>micrometer-tracing</artifactId>
    <version>1.2.1</version>
</dependency>
<dependency>
    <groupId>io.micrometer</groupId>
    <artifactId>micrometer-registry-prometheus</artifactId>
</dependency>
<dependency>
    <groupId>io.micrometer</groupId>
    <artifactId>micrometer-tracing-bridge-brave</artifactId>
</dependency>
<dependency>
    <groupId>io.zipkin.reporter2</groupId>
    <artifactId>zipkin-reporter-brave</artifactId>
</dependency>
<dependency>
    <groupId>io.zipkin.reporter2</groupId>
    <artifactId>zipkin-sender-kafka</artifactId>
</dependency>

因此,Micrometer 创建traceId,将其发送到kafka 主题,然后zipkin 从kafka 主题获取它。

但是在普罗米修斯中我有一个错误: 指标名称http_server_requests_seconds_count不支持示例

它在 spring-boot 2.x 中工作。如果排除 zipkin 和 Brave 依赖项,则可以工作。

spring-boot prometheus micrometer zipkin
1个回答
0
投票

首先,请不要定义由 Boot 定义的版本,同时

micrometer-tracing
会被
micrometer-tracing-bridge-brave
拉入,以便您可以从 POM 中删除
micrometer-tracing
依赖项。

您似乎正在使用不受支持的版本的 Prometheus 服务器。 #11982 中添加了对所有时间序列的示例支持。已于Prometheus 2.43.0发布,请升级。

如果你想破解这个(请不要这样做,而是使用受支持的 Prometheus 版本),如果你创建一个

SpanContextSupplier
@Bean
总是显示
isSampled
false
并且它返回
null
spanId
traceId
,您将看不到那些范例。

在 Spring Boot 3.3.0 和 Micrometer 1.13.0 中,我们添加了对 Prometheus 1.x Java 客户端的支持,该客户端支持在所有时间序列上有条件地启用示例(即:

_count
),请参阅 Micrometer 中的
PrometheusConfig
,以便您可以禁用此功能。

© www.soinside.com 2019 - 2024. All rights reserved.