Prometheus Helm Chart:如何配置黑盒导出器?

Posted

技术标签:

【中文标题】Prometheus Helm Chart:如何配置黑盒导出器?【英文标题】:Prometheus Helm Chart: How to configure blackbox exporter? 【发布时间】:2021-02-12 22:18:54 【问题描述】:

我正在使用 kube-prometheus-stack。除此之外,我还安装了 Prometheus Blackbox Exporter。

当我想向我的 kube-prometheus-stack 添加一个抓取目标时,我通常需要添加一个 ServiceMonitor。我为我的黑盒导出器添加了以下ServiceMonitor

apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: blackbox-exporter-servicemonitor
  labels:
    app: blackbox-exporter-app
    release: prometheus
spec:
  endpoints:
  - interval: 30s
    path: /metrics
    port: http
    scrapeTimeout: 10s
  selector:
    matchLabels:
      app: blackbox-exporter-app

到目前为止,这有效,这意味着黑盒导出器显示在我的 prometheus 目标中。

但是要配置一个黑盒导出器,我必须像这样添加一个抓取目标(在 prometheus 配置文件中,当不使用 kube-prometheus-stack 时):

- job_name: 'blackbox'
  metrics_path: /probe
  params:
    module: [http_2xx]  # Look for a HTTP 200 response.
  static_configs:
    - targets:
      - http://localhost:5000
      - http://localhost:3000
      - http://localhost:9090
  relabel_configs:
    - source_labels: [__address__]
      target_label: __param_target
    - source_labels: [__param_target]
      target_label: instance
    - target_label: __address__
      replacement: 127.0.0.1:9115  # The blackbox exporter's real hostname:port.

这是我卡住的地方。如何将这样的配置添加到我的服务监视器,以便我可以添加 static_configs 来为黑盒导出器添加探测目标?

【问题讨论】:

【参考方案1】:

Blackbox 导出器以不同的方式工作。 您不需要创建 ServiceMonitor 来抓取它并为其提供 static_configs。相反,您使用 HTTP 请求中传递的参数创建一个 ServiceMonitor。

例如:

apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  labels:
    app: blackbox-exporter-kibana
  name: blackbox-exporter-kibana
  namespace: ops-system
spec:
  endpoints:
    - interval: 10s
      path: /probe
      port: web
      params:
        module: 
        - http_2xx
        target: 
        - "https://localhost:5000"
      metricRelabelings:
      - action: replace
        regex: (.*)
        replacement: my_local_service
        sourceLabels:
        - __param_target
        targetLabel: target
  selector:
    matchLabels:
      app: prometheus-blackbox-exporter

只要确保标签匹配即可。

【讨论】:

以上是关于Prometheus Helm Chart:如何配置黑盒导出器?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 helm chart 将 smtp 设置添加到 prometheus-operator?

如何编辑 Helm Chart 的配置?

如何使用 prometheusOperator.admissionWebhooks.enabled=false 在 GKE 上安装 helm chart prometheus-operator?

如何使用 helm chart 在 VMWare 的 Kubernetes FluentD Operator 中将 prometheus.enabled 标志设置为 true?

当我尝试安装 Prometheus helm chart 时,出现此错误

通过 helm chart 部署 Grafana UI 时不加载