5.5. 使用 Prometheus 访问代理运行时数据
先决条件
- 要查询和视觉化 Prometheus 插件收集的代理运行时数据,您需要安装 Prometheus。如需更多信息,请参阅 Prometheus 文档中的安装 Prometheus。
流程
-
在 Prometheus 安装目录中,打开
prometheus.yml
配置文件。 -
在配置文件的
static_configs
部分中,将targets
元素改为localhost:8161
。这个位置是代理运行其 Web 服务器的位置。默认情况下,/metrics
附加到此主机名中,形成存储在代理 web 服务器上的指标的完整路径。 要查看 Prometheus 插件收集的代理运行时指标,请在 Web 浏览器中打开
localhost:8161/metrics
。在生成的网页中,您会看到插件收集的指标的当前值,具体取决于您在代理中配置的队列和地址。如果您在 JVM 中有多个正在运行的代理实例,您会看到每个代理的指标。
从 Prometheus 安装目录中,运行 Prometheus。
$ ./prometheus
当 Prometheus 启动时,shell 输出包括以下行:
component=web, msg=”Start listening for connections” address=0.0.0.0:9090
上面的行表示 Prometheus 正在侦听端口 9090 上的 HTTP 流量。
-
要访问 Prometheus Web 控制台,请在 Web 浏览器中打开
127.0.0.1:9090
。 在 Prometheus web 控制台中,您可以使用
Expression
字段创建代理数据的查询。您创建的查询基于 Prometheus 查询语言 PromQL。可在查询中插入的代理指标位于Insert 指标
下拉列表中。例如,假设您要随着时间的推移查询 DLQ 队列上的消息数。在本例中,从指标下拉列表中选择
artemis_message_count
。通过指定 DLQ 队列名称和地址来完成查询。这个示例查询如下所示。artemis_message_count{address=“DLQ”, queue=“DLQ”}
对于更高级的视觉化,您可以使用正则表达式来创建覆盖多个指标的复杂查询,例如:或者,您可以对多个指标执行数学操作,如聚合它们。有关创建 Prometheus 查询的更多信息,请参阅 Prometheus 文档中的查询 Prometheus。