首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何标记Prometheus blackbox_exporter端点

如何标记Prometheus blackbox_exporter端点
EN

Stack Overflow用户
提问于 2020-12-15 11:46:12
回答 3查看 2.4K关注 0票数 0

我有一个带有Prometheus的k8s集群和一个web应用程序的一些豆荚。我想收集这些网络应用的度量标准。为此,我使用了出口商

我配置了由prometheus操作符运行的服务监视器、部署和工作。普罗米修斯收集指标,但我无法区分它们。例如,

probe_success{endpoint="http-metrics",instance="10.20.0.105:9115",job="prometheus-blackbox-exporter",namespace="staging",pod="prometheus-blackbox-exporter-66fb58ff97-pd6lk",service="prometheus-blackbox-exporter"}

我应该如何为每个端点添加额外的标签?

如何将目标这样的标签添加到probe_success度量中?

代码语言:javascript
复制
  blackbox.yaml: |
    modules:
      http_2xx:
        prober: http
        http:
          preferred_ip_protocol: "ipv4"
          tls_config:
            ca_file: "/config/my.pem"
      http_post_4xx:
        prober: http
        http:
          method: POST
          valid_status_codes: [400,404,401,403]
          headers:
            Content-Type: application/json
          body: '{"nonsense"}'
          preferred_ip_protocol: "ipv4"
          tls_config:
            ca_file: "/config/my.pem"

服务是

代码语言:javascript
复制
---
kind: Service
apiVersion: v1
metadata:
  name: prometheus-blackbox-exporter
  labels:
    app.kubernetes.io/name: prometheus-blackbox-exporter
    name: prometheus-blackbox-exporter
    monitoring: "true"
spec:
  type: ClusterIP
  ports:
    - name: http-metrics
      port: 9115
      protocol: TCP
  selector:
    app.kubernetes.io/name: prometheus-blackbox-exporter

---
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: prometheus-blackbox-exporter
  labels: {}
spec:
  selector:
    matchLabels:
      name: prometheus-blackbox-exporter
  endpoints:
    - port: http-metrics
      metricRelabelings:
        - sourceLabels: [__address__]
          targetLabel: __param_target
        - sourceLabels: [__param_target]
          targetLabel: instance
        - sourceLabels: [__address__]
          replacement: prometheus-blackbox-exporter:9115
      path: /probe
      params:
        target:
          - "web:3000"
        module:
          - "http_2xx"

    - port: http-metrics
      metricRelabelings:
        - sourceLabels: [__address__]
          targetLabel: __param_target
        - sourceLabels: [__param_target]
          targetLabel: instance
        - sourceLabels: [__address__]
          replacement: prometheus-blackbox-exporter:9115
      path: /probe
      params:
        target:
          - "api:8080/api/v1/login"
        module:
          - "http_post_4xx"
EN

回答 3

Stack Overflow用户

发布于 2021-01-21 06:48:34

弄明白了:

代码语言:javascript
复制
port: snmp-exporter
    params:
      module:
      - if_mib # Select which SNMP module to use
      target:
      - 192.168.0.0
    path: "/snmp"
    targetPort: 9116
    honorLabels: true
    relabelings:
            #- action: labelmap
      - sourceLabels: [__param_target]
        #regex: '.*'
        #action: replace
        targetLabel: instance
票数 0
EN

Stack Overflow用户

发布于 2022-05-18 09:49:50

更简单的是,只需向端点添加自定义标签即可。与上面的示例一样,将relabelings添加到servicemonitor定义中。

代码语言:javascript
复制
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: prometheus-blackbox-exporter
  labels: {}
spec:
  selector:
    matchLabels:
      name: prometheus-blackbox-exporter
  endpoints:
    - port: http-metrics
      path: /probe
      params:
        target:
          - "web:3000"
        module:
          - "http_2xx"
      relabelings:
        - targetLabel: foo
          replacement: bar

这将将标签foo=bar添加到端点。

票数 0
EN

Stack Overflow用户

发布于 2022-08-05 16:08:08

这个问题已经过时了,但我认为可能有人想这么做。

另一个建议-参考你的目标文件。

代码语言:javascript
复制
    - port: http-metrics
  metricRelabelings:
    - sourceLabels: [__address__]
      targetLabel: __param_target
    - sourceLabels: [__param_target]
      targetLabel: instance
    - sourceLabels: [__address__]
      replacement: prometheus-blackbox-exporter:9115
  path: /probe
  params:
    file_sd_configs:
      - files:
        - blackbox/targets_http.yml
    module:
      - "http_2xx"

然后引用的文本文件看起来如下所示:

代码语言:javascript
复制
- targets:
  - https://www.google.com
  - https://www.apple.com
  labels:
    job: blackbox_http
    type: external

- targets:
  - https://www.mysite1.com
  - https://www.mysite2.com
  labels:
    job: blackbox_http
    type: internal
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65305217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档