我有一个带有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度量中?

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"服务是
---
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"发布于 2021-01-21 06:48:34
弄明白了:
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发布于 2022-05-18 09:49:50
更简单的是,只需向端点添加自定义标签即可。与上面的示例一样,将relabelings添加到servicemonitor定义中。
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添加到端点。
发布于 2022-08-05 16:08:08
这个问题已经过时了,但我认为可能有人想这么做。
另一个建议-参考你的目标文件。
- 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"然后引用的文本文件看起来如下所示:
- 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: internalhttps://stackoverflow.com/questions/65305217
复制相似问题