2
Kubernetes version - v1.11.2
Prometheus helm chart version - 6.7.0     

我的服务在 2 个端口上运行 - 80 和 9000 现在我只需要监视端口 80,我使用下面的配置来实现这一点。

- job_name: '<service-name>'
          honor_labels: true
          kubernetes_sd_configs:
            - role: service
          relabel_configs:
            - source_labels: [__meta_kubernetes_service_label_app]
              action: keep
              regex: <service-name>
            - source_labels: [__meta_kubernetes_service_name]
              action: replace
              target_label: kubernetes_name

上述解决方案在 Prometheus 中添加了两个服务端点

http://<service-name>.default.svc:80/metrics
http://<service-name>.default.svc:9000/metrics

为了只抓取端口 80,我在配置下面添加了但它现在无法抓取任何服务端点。

- source_labels: [__meta_kubernetes_service_port_number]
              action: keep
              regex: 8\d{1}

有没有办法只限制特定的端口号?

4

1 回答 1

1

我有一个类似的问题,指定 relabel_configs 中的端口对我有用。

relabel_configs: 
  - source_labels : [__meta_kubernetes_pod_label_app,__meta_kubernetes_pod_container_port_number]
    action: keep
    regex: myapp;8081

在此之后,我的服务仅针对 8081 端口被抓取

于 2019-07-19T07:30:15.707 回答