首页 > 解决方案 > Spring Integration - 无法查看 MessageHandler、MessageChannel 和 MessageSource 的指标

问题描述

我有一个普罗米修斯指标注册表和注册的捕获器 bean,如下所示:

"prometheusMeterRegistry": {
          "aliases": [],
          "scope": "singleton",
          "type": "io.micrometer.prometheus.PrometheusMeterRegistry",
          "resource": "class path resource [org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/PrometheusMetricsExportAutoConfiguration.class]",
          "dependencies": [
              "prometheusConfig",
              "collectorRegistry",
              "micrometerClock"
              ]
 },

"integrationMicrometerMetricsCaptor": {
          "aliases": [],
          "scope": "singleton",
          "type": "org.springframework.integration.support.management.micrometer.MicrometerMetricsCaptor",
          "resource": null,
          "dependencies": []
},

但是,当我检查actuator/prometheus端点时,我看不到 的任何指标MessageHandlerMessageChannel并且在此处MessageSource提到了这些指标。唯一可用的指标是:spring-integeration

spring_integration_sources 1.0

spring_integration_handlers 17.0

spring_integration_channels 15.0

我还通过我的流程运行数据,仍然看不到指标。我错过了什么?

标签: spring-bootspring-integration

解决方案


谢谢你提供这么好的样品!

所以,你的问题在这里:

<!-- Enable Spring Integration Metrics -->
<int:management/>

首先你不能这样做,因为 Spring Boot 会为我们自动配置。(我们可能需要改进 Spring Boot 文档来提及该功能)。

其次,您仍然可以这样做,但您需要使用此选项:

        <xsd:attribute name="default-counts-enabled" use="optional">
            <xsd:annotation>
                <xsd:documentation>
                    The default value for components that don't match 'counts-enabled-patterns'.
                    Defaults to false, or true when an Integration MBean Exporter is provided.
                </xsd:documentation>
            </xsd:annotation>
        </xsd:attribute>

并将其设置为true.

在当前的 Spring Integration5.4版本中,它已被弃用。我们肯定会在下一个完全删除它6.0


推荐阅读