quarkusio / quarkus

Quarkus: Supersonic Subatomic Java.
https://quarkus.io
Apache License 2.0
13.79k stars 2.68k forks source link

Kubernetes extension uses wrong metrics port when management interface is in use #37904

Open SIMULATAN opened 10 months ago

SIMULATAN commented 10 months ago

Describe the bug

When enabling the management interface like this:

quarkus.management.enable=true
quarkus.management.port=9000

the generated kubernetes manifests still use the main application server port in the prometheus scrape config labels.

Expected behavior

deployment has following labels

prometheus.io/scrape: "true"
prometheus.io/path: /q/metrics
prometheus.io/port: "9000"
prometheus.io/scheme: http

Actual behavior

deployment has following labels

prometheus.io/scrape: "true"
prometheus.io/path: /q/metrics
prometheus.io/port: "8080"
prometheus.io/scheme: http

How to Reproduce?

Reproducer Project: https://github.com/SIMULATAN/quarkus-kubernetes-management-metrics-reproducer

Reproduction steps:

  1. Run mvn clean package
  2. Open target/kubernetes/kubernetes.yml
  3. Notice that the prometheus label refer to the incorrect port

Output of uname -a or ver

Linux sim-15p-arch 6.6.7-arch1-1 #1 SMP PREEMPT_DYNAMIC Thu, 14 Dec 2023 03:45:42 +0000 x86_64 GNU/Linux

Output of java -version

21 Azul Systems, Inc.

Quarkus version or git rev

3.6.0.CR1 & 3.6.0

Build tool (ie. output of mvnw --version or gradlew --version)

Gradle 8.5-rc-3 & Maven 3.9.6

Additional information

Reading through the source, it appears as if appropriate handling already exists for health checks and probes but not metrics.

quarkus-bot[bot] commented 10 months ago

/cc @ebullient (metrics), @geoand (kubernetes), @iocanel (kubernetes), @jmartisk (metrics)

hakuseki commented 6 months ago

Hi, any progress with this issue? Having the same issue…

BrunoSena97 commented 6 months ago

Can I try to get this one ?