5.5. 使用 Prometheus 访问代理运行时数据
先决条件
- 要查询并视觉化 Prometheus 插件收集的代理运行时数据,您需要安装 Prometheus。如需更多信息,请参阅 Prometheus 文档中的安装 Prometheus。
流程
-
在 Prometheus 安装目录中,打开
prometheus.yml
配置文件。 -
在配置文件的
static_configs
部分中,将 target元素
更改为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 metric
下拉列表中。一个简单的示例,假设您要随着时间的推移查询 DLQ 队列中的消息数。在本例中,从 metrics 下拉列表中选择
artemis_message_count
。通过指定 DLQ 队列名称和地址来完成查询。此查询示例如下所示:artemis_message_count{address=“DLQ”, queue=“DLQ”}
对于更高级的视觉化,您可以使用正则表达式来创建覆盖多个指标的复杂查询,例如:或者,您可以对多个指标执行数学运算,如聚合它们。有关创建 Prometheus 查询的更多信息,请参阅 Prometheus 文档中的查询 Prometheus。