Как изменить номер порта, с помощью которого прометей очищает метры - PullRequest
0 голосов
/ 11 декабря 2019

У меня есть модуль с коэффициентом репликации 3. Приложение помещает метрики в порт 9001. Я хотел бы, чтобы оператор Прометея очистил метрики. У меня есть следующее в моем values.yaml при использовании рулевой диаграммы стабильного / прометея-оператора.

prometheus:
  prometheusSpec:
    additionalScrapeConfigs:
    - job_name: 'akka-metrics'
      scrape_interval: 15s
      kubernetes_sd_configs:
      - role: pod
        namespaces:
          names:
          - default
      relabel_configs:
      - source_labels: [__meta_kubernetes_pod_container_name]
        action: keep   
        regex: 'my_pod_name.*'

Используя приведенную выше настройку, я вижу модуль в /target, но он пытается получить метрики из портов 2551 и 8558. Я хотел бы изменить один из этих портов на 9001 (фактический порт, где мое приложение выплевывает метрики). Мне интересно, как я могу это сделать?

1 Ответ

0 голосов
/ 12 декабря 2019

Вы должны быть в состоянии сделать это с правилом перемаркировки :

- job_name: 'akka-metrics'
      scrape_interval: 15s
      kubernetes_sd_configs:
      - role: pod
        namespaces:
          names:
          - default
      relabel_configs:
      - source_labels: [__meta_kubernetes_pod_container_name]
        action: keep   
        regex: 'my_pod_name.*'
      - source_labels: [__address__]
        action: replace
        regex: ([^:]+):.*
        replacement: $1:9001
        target_label: __address__

Последнее правило изменяет метку __address__ цели. Он извлекает IP-адрес и устанавливает порт на 9001. Это должно привести к тому, что Прометей всегда будет использовать <ip>:9001 в качестве цели.

Нечто подобное используется в официальном примере конфигурации scrape для Kubernetes .

...