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