【问题标题】:Prometheus + nginx-exporter: collect only from <some_nginx_container_ip>:9113Prometheus + nginx-exporter:仅从 <some_nginx_container_ip> 收集:9113
【发布时间】:2016-09-15 18:30:00
【问题描述】:

免责声明:我在一天前发现了 Prometheus 是什么。

我正在尝试将 Prometheus 与 nginx exporter 一起使用

我从grafana dashboard 复制粘贴了一个配置示例,它与 node-exporter 完美配合,但是,当我尝试将其调整为 nginx-exporter 时,部署在一个带有 nginx 服务器的 pod 中,Prometheus 输出大量目标中的垃圾(所有可用 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__

【问题讨论】:

    标签: nginx kubernetes google-kubernetes-engine prometheus


    【解决方案1】:

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

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

    并在job_name: 'kubernetes-pods' 中设置role: pod(如果未设置)。

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

    【讨论】:

      猜你喜欢
      • 2019-10-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-30
      • 1970-01-01
      相关资源
      最近更新 更多