Prometheus 发送 HTTP 请求来获取监控值。我的自定义导出支持各种客户端(以监视系统状态)。有一个通用的 REST API 可以获取监视器列表:
/api/v1/monitor/find
Run Code Online (Sandbox Code Playgroud)
输出结果取决于 header 中的 Accept 属性。默认接受值为 application/json。
我在 API 中添加了新的 mime 类型以支持 prometheus(例如 application/prometheus)。
但是,如何配置 Prometheus 添加自定义标头(接受:application/prometheus)?
实际上当前版本(V2.0 alpha)不支持它。
如果您查看master 分支中的scrapes.go ,那么您可以看到请求中附加了一些常量标头:
req.Header.Add("Accept", acceptHeader)
req.Header.Set("User-Agent", userAgentHeader)
req.Header.Set("X-Prometheus-Scrape-Timeout-Seconds", fmt.Sprintf("%f", s.timeout.Seconds()))
Run Code Online (Sandbox Code Playgroud)
因此,您可以支持一些基本的 mime 类型:
application/vnd.google.protobuf;proto=io.prometheus.client.MetricFamily;encoding=delimited;q=0.7,text/plain;version=0.0.4;q=0.3,*/*;q=0.1
Run Code Online (Sandbox Code Playgroud)
premetheus.io 上的任何工件都没有添加此标头,因此您必须从源代码(主分支)构建。
我运行一个 PHP 导出器(我自己的导出器),这是请求标头的屏幕截图
| 归档时间: |
|
| 查看次数: |
9563 次 |
| 最近记录: |