5.2. 使用 Eclipse Vert.x 使用 Prometheus 公开应用程序指标
Prometheus 连接到受监控的应用程序来收集数据,应用程序不会向服务器发送指标。
前提条件
- 集群中运行的 Prometheus 服务器
流程
将
vertx-micrometer和vertx-web依赖项包含到应用程序的pom.xml文件中:pom.xml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 从 3.5.4 开始,公开 Prometheus 的指标需要在自定义
Launcher类中配置 Eclipse Vert.x 选项。在 custom
Launcher类中,覆盖beforeStartingVertx和afterStartingVertx方法来配置指标引擎,例如:CustomLauncher.java 文件示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建自定义
Verticle类,并覆盖start方法来收集指标。例如,使用Timer类测量执行时间:CustomVertxApp.java 文件示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在应用程序的
pom> 属性以指向您的自定义类:.xml文件中设置 <vertx.verticle> 和 <vertx.launcherCopy to Clipboard Copied! Toggle word wrap Toggle overflow 启动应用程序:
mvn vertx:run
$ mvn vertx:runCopy to Clipboard Copied! Toggle word wrap Toggle overflow 多次调用 traced 端点:
curl http://localhost:8080/ Hello
$ curl http://localhost:8080/ HelloCopy to Clipboard Copied! Toggle word wrap Toggle overflow 等待至少 15 秒进行集合,并在 Prometheus UI 中看到指标:
-
在 http://localhost:9090/ 上打开 Prometheus UI,然后在 Expression 框中输入
hello。 -
从建议中选择
application:hello_count示例,再单击 Execute。 - 在显示的表中,您可以看到调用资源方法的次数。
-
或者,选择
application:hello_time_mean_seconds以查看所有调用的平均值时间。
请注意,您创建的所有指标都带有
application:前缀。还有其他指标,作为 Eclipse MicroProfile Metrics 规格要求,由 Eclipse Vert.x 自动公开。这些指标以base:和vendor:前缀,并公开有关应用在其中运行的 JVM 的信息。-
在 http://localhost:9090/ 上打开 Prometheus UI,然后在 Expression 框中输入
其他资源
- 有关在 Eclipse Vert.x 中使用 Micrometer 指标的更多信息,请参阅 Eclipse Vert.x} Micrometer Metrics。