emqx-4.3.5使用emqx_prometheus关联prometheus,获取监控数据失败

我当前使用的EMQX是4.3.5,(实际情况,必须在4.3.5上进行工作,不能直接升级);
我搭建的了Prometheus+EMQX+Grafana, 预期实现对EMQX数据的监控,
问题过程:
首先我在群里问到@周子博同学找到文档咨询:Prometheus 监控告警 | EMQX 4.4 文档
(根据这个文档,我没能够理解需要怎么用emqx_prometheus 配置上 Prometheus,如果能够详细的指引就更好,谢谢)

1.首先我在18083管理后台启用了emqx_prometheus插件

2.然后的Prometheus组件的prometheus.yml配置监控EMQX如下:
1719813246703
配置好prometheus.yml, 重新docker 启动prometheus容器服务完成。

3.然后去prometheus/targets页面检查监控EMQX状态,发现是down,并看到关联异常,无法排错,404的错误码


我根据这篇文章可以实现监控EMQX:
EMQX+Prometheus+Grafana:MQTT 数据可视化监控实践 | EMQ
这篇文章对应的接口是 metrics_path: /api/v5/prometheus/stats,但现在我们实际只能使用到4.3.5的EMQX版本,因此我必须在4.3.5版本实现

4.接着,我在18083的管理后台的工具-HTTP接口看到一个关于prometheus获取信息的接口:
" /api/v4/emqx_prometheus"

我尝试按照5.0版本以上 prometheus监控EMQX的配置如下(我的EMQX是4.3.5版本):
1719813942760
接着重新启动prometheus服务,刷新 prometheus:9090/targets 检查监控EMQX的状态:


并看到相关异常关联,现在无法正常调通,请EMQX的各位开发者提供指导,以实现在4.3.5版本的EMQX实现Prometheus的监控,谢谢。

v4.3.5 不支持你的那个 url path:

pull 的话你就可以用:

api/v4/emqx_prometheus?type=prometheus

你好,我在prometheus.yml配置了你回复的接口-api/v4/emqx_prometheus?type=prometheus,
然后重新启动Prometheus服务,发现出现401认证错误,是需要再prometheus.yml如何正确配置吗?请指点谢谢

这是prometheus.yml配置:
1719817220447

你回复的githup提到的这一块 我没有改动:

prometheus.push.gateway.server = http://127.0.0.1:9091

prometheus.interval = 15000

这个接口要认证的,得在 prometheus 里面加上 basic 认证。用你的 dashboard 的用户密码。自己google一下。

我google增加了prometheus.yml的basic认证,然后重新配置接口 /api/v4/emqx_prometheus?type=prometheus,但是返回是404,是不是接口名错了?我用的版本是4.3.5,

然后我用回 /api/v4/emqx_prometheus 这个接口,就没报404

麻烦再多给给指点prometheus.yml的basic认证配置,谢谢


我再次在prometheus.yml配置/api/v4/emqx_prometheus?type=prometheus,
以下是我的basic认证配置:

在prometheus界面监控的反馈还是404,麻烦指导指导,谢谢

v4.3.5 的管理rest api端口是8081,不是 18083.

18083 是 dashobard 的端口。
在 v5 里面这 2 个端口都合到 18083 上了。

我重新开启了emqx的8081端口,然后我发现:
我在浏览器地址栏访问:http://192.168.XXX.XXX:8081/api/v4/emqx_prometheus?type=prometheus 是有输出数据

然后,我配置好prometheus.yml:
image
重启prometheus服务,打开targets监控页面,prometheus识别到接口,把问号变成"%3F" ?
出现404的异常,有点不解。


黑色框框又是正常显示是识别到 “/api/v4/emqx_prometheus?type=prometheus”接口的,

麻烦你再耐心帮我看看,指点迷津,很感谢…

metrics_path: '/api/v4/emqx_prometheus'
# Optional HTTP URL parameters.
params:
  type:prometheus

@zhongwencool 你好,我这边也遇到类似的问题,我在dashboard里面已经启动了Prometheus插件,但是curl -i 'http://127.0.0.1:8081/api/v4/emqx_prometheus'提示404 not found,版本是4.4.19

另外一个环境同样的配置,但是却可以正常请求,感觉有点迷糊了

我知道原因了,虽然dashboard上看插件已启动成功,但是进入容器里面用emqx_ctl plugins list看实际上没成功……

我手动把插件启动之后就可以了