我们很少有实现健康检查的Spring Boot应用程序。这些检查的响应已基于@Thiru的suggestion更改为JSON格式。我现在收到以下响应:
Prometheus服务器正在Ubuntu实例上运行。在Windows服务器2016上运行必须监视的Spring Boot服务。看到this帖子后,我在Windows服务器上安装了 blackbox-exporter (版本0.12.0.windows-amd64
)。>
以下更改是在172.16.x.yz
的客户端(IP为blackbox.yml
的Windows服务器)上完成的:
modules:
http_2xx:
prober: http
http:
http_post_2xx:
prober: http
timeout: 5s
http:
method: POST
headers:
Content-Type: application/json
body: '{"status": "UP"}'
...
...
在Prometheus服务器上,prometheus.yml
的内容如下:
...
...
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
- job_name: 'blackbox'
metrics_path: /probe
params:
#module: [http_2xx] # Look for a HTTP 200 response.
module: [http_post_2xx] # Look for a HTTP 200 response.
static_configs:
- targets:
- http://172.16.x.yz:6300/serviceA/actuator/health
- http://172.16.x.yz:6340/serviceB/actuator/health
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: 172.16.x.yz:9115 # The blackbox exporter's real hostname:port.
在客户端和服务器上进行了上述更改之后,当我同时重新启动blackbox-exporter
和prometheus
时,我发现Prometheus总是将State
显示为UP如果出口商正在监视的两项服务出现故障。似乎Prometheus正在显示blackbox-exporter
的状态,而不是服务的状态。有什么建议我可以解决吗?
答案 0 :(得分:2)
我建议使用某种工具,这些方法可以帮助以普罗米修斯出口商的身份出口春季保健。基本上,导出程序可使用jsonpath来帮助将Http数据中的json数据转换为prometheus指标,例如:
答案 1 :(得分:0)