第 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.xmlCopy 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.cliCopy 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-requiredCopy 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=reloadCopy 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 upCopy 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/micrometerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下命令编译并部署应用程序:
mvn clean package wildfly:deploy
$ mvn clean package wildfly:deployCopy 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/13Copy to Clipboard Copied! Toggle word wrap Toggle overflow 预期输出:
13 is prime.
13 is prime.Copy to Clipboard Copied! Toggle word wrap Toggle overflow