第 7 章 为 JBoss EAP 开发 Micrometer 应用程序
7.1. 在 JBoss EAP 中集成 Micrometer 指标 复制链接链接已复制到粘贴板!
通过使用 Micrometer,您可以在 JBoss EAP 中监控和收集应用程序指标。Micrometer 支持提供了应用程序指标的暴露。导出过程基于 PUSH,确保指标发送到 OpenTelemetry Collector。
先决条件
- 您已安装了 JDK 17。
- 已安装 Maven 3.6 或更高版本。如需更多信息,请参阅 下载 Apache Maven。
- 已安装 Docker。如需更多信息,请参阅 获取 Docker。
- 可选: 在您的系统中安装了 podman。使用受支持的 RHEL 上可用的最新 podman 版本。如需更多信息,请参阅 Red Hat JBoss Enterprise Application Platform 8.0 支持的配置。
-
configure-micrometer.cli
文件位于应用程序根目录中。
本节中的示例包括如何使用 configure-micrometer.cli
文件,它基于 Micrometer Quickstart。
流程
- 打开终端。
使用以下脚本将 JBoss EAP 启动为独立服务器:
<EAP_HOME>/bin/standalone.sh -c standalone-microprofile.xml
$ <EAP_HOME>/bin/standalone.sh -c standalone-microprofile.xml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意对于 Windows 服务器,请使用 <
;EAP_HOME> \bin\standalone.bat
脚本。- 打开一个新的终端。
- 导航到应用程序根目录。
运行以下命令来配置服务器:
<EAP_HOME>/bin/jboss-cli.sh --connect --file=configure-micrometer.cli
$ <EAP_HOME>/bin/jboss-cli.sh --connect --file=configure-micrometer.cli
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意对于 Windows 服务器,请使用 <
;EAP_HOME> \bin\jboss-cli.bat
脚本。将 <EAP_HOME > 替换为服务器的路径。
预期输出:
The batch executed successfully process-state: reload-required
The batch executed successfully process-state: reload-required
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下管理命令重新载入服务器:
<EAP_HOME>/bin/jboss-cli.sh --connect --commands=reload
$ <EAP_HOME>/bin/jboss-cli.sh --connect --commands=reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下内容创建名为
docker-compose.yaml
的配置文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下内容创建名为
otel-collector-config.yaml
的配置文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令启动收集器服务器实例:
docker-compose up
$ docker-compose up
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意您还可以使用 Podman 而不是 Docker。如果您选择 Podman,则使用
$ podman-compose up
命令而不是$ docker-compose
。如果您的环境不支持 Docker 或 Podman,请参阅 Otel Collector 文档了解 安装和运行 OpenTelemetry Collector 的指南。在
RootResource
类中,了解MeterRegistry
如何注入您的类,以确保在注册量表前正确设置。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查
checkIfPrime ()
方法正文,以了解如何在应用程序逻辑中使用注册的量表。例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 导航到应用程序根目录。
语法
cd <path_to_application_root>/<application_root>
$ cd <path_to_application_root>/<application_root>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如,引用 Micrometer Quickstart:
cd ~/quickstarts/micrometer
$ cd ~/quickstarts/micrometer
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下命令编译并部署应用程序:
mvn clean package wildfly:deploy
$ mvn clean package wildfly:deploy
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
这会将 micrometer/target/micrometer.war
部署到正在运行的服务器。
验证
使用 Web 浏览器访问 应用,也可以运行以下命令:
curl http://localhost:8080/micrometer/prime/13
$ curl http://localhost:8080/micrometer/prime/13
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 预期输出:
13 is prime.
13 is prime.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow