0

免责声明:我在一天前发现了普罗米修斯是什么。

我正在尝试将 Prometheus 与nginx 导出器一起使用

我从grafana 仪表板复制粘贴了一个配置示例,它与 node-exporter 完美配合,但是,当我尝试将其调整为 nginx-exporter 时,部署在一个带有 nginx 服务器的 pod 中,Prometheus 在 Targets 中输出大量垃圾(所有可用 IP 的所有打开端口)。

所以,我想知道,我应该如何调整工作以仅输出所需的容器(在标签中带有其名称等)

- job_name: 'kubernetes-nginx-exporter'
  tls_config:
    ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
  bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
  kubernetes_sd_configs:
  - api_servers:
    - 'https://kubernetes.default.svc'
    in_cluster: true
    role: container
  relabel_configs:
  - action: labelmap
    regex: __meta_kubernetes_node_label_(.+)
  - source_labels: [__meta_kubernetes_role]
    action: replace
    target_label: kubernetes_role
  - source_labels: [__address__]
    regex: '(.*):10250'
    replacement: '${1}:9113'
    target_label: __address__
4

1 回答 1

1

正确的解决方法是在模板部分中为部署添加注释:

  annotations:
    prometheus.io/scrape: 'true'
    prometheus.io/port: '9113'

并设置role: podjob_name: 'kubernetes-pods'如果未设置)。

就是这样,您的端点只会出现在您提供的端口和所有需要的标签上。

于 2016-10-03T12:10:14.943 回答