Prometheus服务端点将刮除服务的所有端口,而不仅仅是已注释的端口

时间:2018-12-11 11:27:33

标签: kubernetes prometheus prometheus-alertmanager prometheus-operator

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}

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

1 个答案:

答案 0 :(得分:0)

我遇到了类似的问题,在relabel_configs中指定对我有用的端口。

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

此后,我的服务仅针对端口8081报废