OTEL 收集器中的 Prometheus 接收器未读取/处理抓取配置

问题描述 投票:0回答:2

我正在尝试将我的 Otel 收集器配置为仅从具有注释

prometheus.io/scrape=true
的 pod 中提取指标,但指标是从注释设置为
prometheus.io/scrape=false
的 pod 中抓取的。我很难理解下面的配置有什么问题。 OTEL 收集器日志中没有任何信息(设置为调试)。

receivers:
        prometheus:
          config:
            scrape_configs:
              - job_name: 'otel-collector-k8s-pods'
                scrape_interval: 30s
                scrape_timeout: 2s
                kubernetes_sd_configs:
                - role: pod
                tls_config:
                  insecure_skip_verify: true
                relabel_configs:
                - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]
                  action: keep
                  regex: true
                - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scheme]
                  action: replace
                  target_label: __scheme__
                  regex: (https?)
                - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path]
                  action: replace
                  target_label: __metrics_path__
                  regex: (.+)
                - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]
                  action: replace
                  target_label: __address__
                  regex: (.+)(?::\d+);(\d+)
                  replacement: $1:$2
                - action: labelmap
                  regex: __meta_kubernetes_pod_label_(.+)
                - source_labels: [__meta_kubernetes_namespace]
                  action: replace
                  target_label: namespace
                - source_labels: [__meta_kubernetes_host_name]
                  action: replace
                  target_label: kubernetes_pod_name
prometheus open-telemetry
2个回答
0
投票

我设置了一个简单的测试,一个 pod 使用注释运行

prometheus.io/scrape: 'true'
,另一个运行
prometheus.io/scrape: 'false'

仅从 scrape 设置为 true 的 pod 中读取指标

当我将第二个 Pod 的 scrape 设置为 true 时,指标开始出现,这意味着注释正在工作。

我正在使用更简单的配置。也许在重新标记的过程中,你的配置中有些东西被弄乱了。

尝试一一添加重新标签配置,看看哪个是罪魁祸首。这是工作配置:

    prometheus:
      config:
        scrape_configs:
          - job_name: opentelemetry-collector
            scrape_interval: 10s
            static_configs:
              - targets:
                  - ${MY_POD_IP}:8888
          - job_name: k8s
            kubernetes_sd_configs:
            - role: pod
            relabel_configs:
            - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]
              regex: "true"
              action: keep

附注在这里使用 opentelemetry-collector-0.30.0 helm 图表


0
投票

在上面的配置中,我们需要在k8集群上安装Prometheus服务器吗?

抱歉,我不知道如何在上述问题上添加此内容@alpa

© www.soinside.com 2019 - 2024. All rights reserved.