Интеграция Spring — невозможно увидеть показатели для MessageHandler, MessageChannel и MessageSource

#spring-boot #spring-integration

#spring-boot #spring-интеграция

Вопрос:

У меня есть реестр метрик prometheus и зарегистрированные компоненты captor, как показано ниже:

 "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 конечную точку, я не вижу никаких показателей для MessageHandler , MessageChannel и MessageSource которые упоминаются здесь. Доступны только spring-integeration следующие показатели:

spring_integration_sources 1.0

spring_integration_handlers 17.0

spring_integration_channels 15.0

Я также прогонял данные через свои потоки, но все еще не вижу метрик. Чего мне не хватает?

Комментарии:

1. Есть ли шансы поиграть с простым проектом Spring Boot? Что такое Prometheus? Нужно ли мне устанавливать что-то особенное?

2. Prometheus -> micrometer.io/docs/registry/prometheus Пружинный ботинок -> docs.spring.io/spring-boot/docs/current/reference/html /. … Должен ли я попробовать то же самое на одном из образцов из spring-integration-samples и отправить вам результаты?

3. Спасибо. Итак, с каким проектом можно поиграть, пожалуйста?

4. Нет, было бы лучше иметь отдельный простой проект, чтобы сосредоточиться только на проблеме. Это может ввести в заблуждение с образцом…

5. Я когда-нибудь создам его и поделюсь им, как мне им поделиться?

Ответ №1:

Спасибо за такой отличный образец!

Итак, ваша проблема здесь:

 <!-- 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 .

В текущей 5.4 версии Spring Integration она уже устарела. Мы определенно собираемся полностью удалить его в следующем 6.0 .

Комментарии:

1. Большое вам спасибо, высоко ценю вашу поддержку!