这是对 Spring Boot 2.0 执行器指标端点的增强的请求。
在 prometheus 中,捕获应用程序元数据(例如版本)作为单个指标上的标签是很常见的(请参阅https://www.robustperception.io/exusing-the-software-version-to-prometheus/)。
我建议创建(并默认公开)MeterBinder 的 ApplicationInfoMetrics 实现,它将所有注册的 InfoContributor 数据转换为名为“application.info”的 Guage 上的标签,值为 1.0。信息 JSON 将针对标签名称进行扁平化:
{
"git": {
"commit": {
"id": "4616b7b"
},
"branch": "master"
},
"build": {
"version": "0.0.1-SNAPSHOT",
"artifact": "myapp",
"name": "My Application",
"group": "mygroup"
}
}
将转换为以下普罗米修斯指标:
# HELP application_info Application info
# TYPE application_info gauge
application_info{build_artifact="myapp",build_group="mygroup",build_name="My Application",build_version="0.0.1-SNAPSHOT",git_branch="master",git_commit_id="4616b7b"} 1.0
如果有一个配置选项可以排除/包含 InfoContributor 字段以转换为标签,那就太好了。