3.6. MicroProfile 指标管理
3.6.1. 管理界面中可用的指标 复制链接链接已复制到粘贴板!
JBoss EAP 子系统指标以 Prometheus 格式公开。
在 JBoss EAP 管理界面中自动提供指标,包括以下上下文:
-
/metrics/- 包含 MicroProfile 3.0 规范中指定的指标。 -
/metrics/vendor- 包含特定于厂商的指标,如内存池。 -
/metrics/application- 包含来自部署的应用和使用 MicroProfile Metrics API 的子系统的指标。
指标名称基于子系统和属性名称。例如,子系统 undertow 会公开应用部署中每个 servlet 的指标属性 request-count。此指标的名称是 jboss_undertow_request_count。前缀 jboss 标识 JBoss EAP 作为指标的来源。
3.6.2. 使用 HTTP 端点检查指标 复制链接链接已复制到粘贴板!
使用 HTTP 端点,检查 JBoss EAP 管理界面上可用的指标。
流程
使用 curl 命令:
curl -v http://localhost:9990/metrics | grep -i type
$ curl -v http://localhost:9990/metrics | grep -i typeCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.6.3. 为 MicroProfile 指标 HTTP 端点启用身份验证 复制链接链接已复制到粘贴板!
配置 指标 上下文,要求用户被授权访问上下文。此配置扩展至 指标 上下文的所有子上下文。
流程
在
microprofile-metrics-smallrye子系统中将security-enabled属性设置为true。/subsystem=microprofile-metrics-smallrye:write-attribute(name=security-enabled,value=true)
/subsystem=microprofile-metrics-smallrye:write-attribute(name=security-enabled,value=true)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新加载服务器以使更改生效。
reload
reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow
任何后续尝试访问 metrics 端点都会生成身份验证提示符。
3.6.4. 获取 web 服务的请求数 复制链接链接已复制到粘贴板!
获取公开其请求计数指标的 web 服务的请求数。
以下流程使用 helloworld-rs quickstart 作为 web 服务来获取请求计数。快速入门可从以下位置下载: jboss-eap-quickstarts。
先决条件
- Web 服务公开请求数。
流程
为
undertow子系统启用统计信息:启动启用统计的单机服务器:
./standalone.sh -Dwildfly.statistics-enabled=true
$ ./standalone.sh -Dwildfly.statistics-enabled=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 对于已在运行的服务器,启用
undertow子系统的统计信息:/subsystem=undertow:write-attribute(name=statistics-enabled,value=true)
/subsystem=undertow:write-attribute(name=statistics-enabled,value=true)Copy to Clipboard Copied! Toggle word wrap Toggle overflow
部署
helloworld-rs快速启动:在 Quickstart 的根目录中,使用 Maven 部署 Web 应用程序:
mvn clean install wildfly:deploy
$ mvn clean install wildfly:deployCopy to Clipboard Copied! Toggle word wrap Toggle overflow
使用
curl命令在 CLI 中查询 HTTP 端点,并过滤request_count:curl -v http://localhost:9990/metrics | grep request_count
$ curl -v http://localhost:9990/metrics | grep request_countCopy to Clipboard Copied! Toggle word wrap Toggle overflow 预期输出:
jboss_undertow_request_count_total{server="default-server",http_listener="default",} 0.0jboss_undertow_request_count_total{server="default-server",http_listener="default",} 0.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 返回的属性值是
0.0。- 在网页浏览器中访问位于 http://localhost:8080/helloworld-rs/ 的快速入门并点击任何链接。
再次通过 CLI 查询 HTTP 端点:
curl -v http://localhost:9990/metrics | grep request_count
$ curl -v http://localhost:9990/metrics | grep request_countCopy to Clipboard Copied! Toggle word wrap Toggle overflow 预期输出:
jboss_undertow_request_count_total{server="default-server",http_listener="default",} 1.0jboss_undertow_request_count_total{server="default-server",http_listener="default",} 1.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 该值更新为
1.0。重复最后两个步骤,以验证请求数是否已更新。