web-dev-qa-db-fra.com

Compteur statistique métrique de consommation Kafka Spring Boot 2.1 Micrometer COUNT est "NaN"

En ce moment, je joue avec Spring Boot 2.1, Spring Kafka (2.2.0) et Micrometer (1.1.0). 

J'ai créé un exemple de projet simple qui contient:

  • un message Hello World aléatoire sur un sujet de Kafka publié par une application Spring Boot 2
  • une application Spring Boot 2 utilisant le message Hello World d'un sujet de Kafka
  • un fichier docker-compose pour faire tourner un courtier Kafka et une instance de Zookeeper (les deux images officielles de Confluent Docker)

Mon objectif est de faire fonctionner les indicateurs de consommation Kakfa publiés dans le micromètre 1.1.0.

Produire et consommer le message Hello World fonctionne parfaitement, mais les métriques (kafka) sont exposées http: // Host: port/actuator/metrics mais quand Je demande une métrique Kafka spécifique comme: 

http: // hôte: port/actuator/metrics/kafka.consumer.records.consumed.total

la valeur de la statistique COUNT est NaN

{
  name: "kafka.consumer.records.consumed.total",
  description: "The total number of records consumed.",
  baseUnit: "records",
  measurements: [
    {
      statistic: "COUNT",
      value: "NaN"
    }
   ],
   availableTags: [
     {
       tag: "client.id",
       values: [
         "spring-kafka-consumer-hello-world-app"
       ]
     }
   ]
 }

Ai-je oublié certaines configurations de mon application Spring Boot ou de mon courtier Kafka? J'espère que vous pourrez me diriger dans la bonne direction.

Vous pouvez trouver mon exemple de projet ici .

5
jtim

Je viens de l'exécuter dans un débogueur et l'actionneur recherche un MBean avec un nom d'objet ...

kafka.consumer:type=consumer-fetch-manager-metrics,\
client-id=spring-kafka-consumer-hello-world-app

et nous obtenons ...

javax.management.InstanceNotFoundException: kafka.consumer:type=consumer-fetch-manager-metrics,client-id=spring-kafka-consumer-hello-world-app

... mais l'application contient en réalité 3 MBeans consommateurs avec des noms:

kafka.consumer:type=consumer-fetch-manager-metrics,\
client-id=spring-kafka-consumer-hello-world-app-0

(et -1, -2).

Je suggère que vous ouvriez un problème contre micromètre.

1
Gary Russell