ServiceMonitor очищает микросервисы пружин с помощью TLS

#spring-boot #prometheus #spring-boot-actuator #spring-micrometer #servicemonitor

Вопрос:

У нас есть множество микросервисов, развернутых в кластерах AWS EKS. В каждом из этих микросервисов включены зависимости привода пружинного загрузчика/ микрометра прометея. мы можем очистить показатели с помощью /привода/prometheus

Из имеющегося у нас кластера prometheus я развернул servicemonitor, чтобы очистить эти показатели.

servicemonitor выглядит так:

 apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  labels:
    app: spring-apps
    release: prometheus
spec:
  endpoints:
    - paths: "/actuator/prometheus"
      interval: 10s
      port: http
      targetPort: 8443
      scheme: https
      tlsConfig:
        insecureverify: "true"
  selector:
    matchLabels:
      scrape.actuator: "true"
  namespaceSelector:
    any: true  
 

Все работает/ мы можем очистить показатели, когда у нас есть tlsConfig.insecureverify: «true»

Однако, когда я отключаю tlsConfig.insecureverify: «false» и применяю файлы ca, он просто не может очистить.

Вот как мы настраиваем микросервисы. У нас есть контроллер входа, который указывает на сертификат

Сертификат был взят, и мы сгенерировали из него секрет, используя следующие команды

 kubectl -n somenamespace create secret generic api.cer --from-file=api.cer=somecertificate.cer
 

и секрет был в том, что объем был установлен в капсулах prometheus, а сервисный монитор был обновлен до приведенного ниже.

     apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  labels:
    app: spring-apps
    release: prometheus
spec:
  endpoints:
    - paths: "/actuator/prometheus"
      interval: 10s
      port: http
      targetPort: 8443
      scheme: https
      tlsConfig:
        insecureverify: "false"
        serverName: "someapi.com"
        caFile: "/etc/prometheus/secrets/api.cer"
  selector:
    matchLabels:
      scrape.actuator: "true"
  namespaceSelector:
    any: true  
 

Однако мы больше не можем очищать показатели. для promql up{пространство имен=»приложение»} я вижу перечисленные микросервисы, однако значение равно 0. например: hello-world : 0

Please help, a lot of search over internet has not helped so far