我用的是kube-prometheus堆栈。除此之外,我还安装了Prometheus Blackbox Exporter。
当我想要在kube-prometheus堆栈中添加一个抓取目标时,我通常需要添加一个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来为黑盒导出器添加探测目标?
发布于 2020-12-14 19:33:33
Blackbox exporter以不同的方式工作。您不需要创建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
只要确保标签匹配就行了。
https://stackoverflow.com/questions/64608613
复制相似问题