Prometheus 使用自定义标头抓取 /metric
Posted
技术标签:
【中文标题】Prometheus 使用自定义标头抓取 /metric【英文标题】:Prometheus scrape /metric with custom header 【发布时间】:2021-05-07 23:29:08 【问题描述】:我有一个将被 Prometheus 监控的应用程序, 但是应用程序需要自定义标题键,例如:
x-auth-token: <customrandomtoken>
我应该如何处理 prometheus.yml?
【问题讨论】:
嗨,罗纳尔多,查看这个 Prometheus 文档链接:prometheus.io/docs/prometheus/latest/configuration/… 也许'bearer_token'或http'params'参数是你需要的。yaml # Optional HTTP URL parameters. params: [ <string>: [<string>, ...] ] # Sets the `Authorization` header on every scrape request with # the configured bearer token. It is mutually exclusive with `bearer_token_file`. [ bearer_token: <secret> ]
我需要自定义标头,例如``` x-api-token: Prometheus 本身无法定义自定义标头以到达导出器。但是从prometheus-blackbox-exporter
标签来看,问题是如何使用 Prometheus Blackbox Exporter 定义自定义 HTTP 标头,这是一个单独的东西,它确实有设置的方法标题。
Blackbox 导出器有它自己的配置文件,它由模块 组成。模块是一组参数,定义了如何进行探测以及预期的结果。下面是一个查找 200-299 响应代码并使用 X-Auth-Token
标头的模块示例:
modules:
http_2xx_with_header:
prober: http
http:
headers:
X-Auth-Token: skdjfh98732hjf22exampletoken
更多示例可以在here 和配置选项列表中找到 - here。
当您使黑盒导出器加载新配置时,您还需要调整 Prometheus 配置。由于模块名称是通过 URL 参数传递给导出器的,所以您需要将名称写在 params.module
键下:
scrape_configs:
- job_name: 'blackbox'
metrics_path: /probe
params:
module: [http_2xx_with_header] # <- Here goes the name of the new module
static_configs:
- targets:
- http://prometheus.io
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
【讨论】:
以上是关于Prometheus 使用自定义标头抓取 /metric的主要内容,如果未能解决你的问题,请参考以下文章
Prometheus 没有抓取 stats d exporter