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 控制台,在网页浏览器中打开
127.0.0.1:9090
。 在 Prometheus web 控制台中,您可以使用
Expression
字段在代理数据中创建查询。您创建的查询基于 Prometheus 查询语言 PromQL。可用于在查询中插入的代理指标位于Insert 指标
下拉列表中。作为简单示例,假定您要随着时间的推移查询 DLQ 队列的消息数。在这种情况下,从 metrics 下拉列表中选择
artemis_message_count
。通过指定 DLQ 队列名称和地址来完成查询。此示例查询如下所示:artemis_message_count{address=“DLQ”, queue=“DLQ”}
如需更高级的视觉化,您可以使用正则表达式来创建覆盖多个指标的复杂查询,例如:或者,您可以在多个指标上执行数学操作,如聚合它们。有关创建 Prometheus 查询的更多信息,请参阅 Prometheus 文档中的查询 Prometheus。