prometheus采集不到emqx的Erlang VM的数据

我当前使用的EMQX版本是5.2.1,在使用prometheus监控EMQX的数据时,其他数据都可以正常监听,但是Erlang VM Process和Erlang VM Threads的数据一直监听不到,在网上查找资料,要打开EMQX数据指标的接口,在配置文件中增加了如下的配置:
management.listener.http {
bind = 0.0.0.0:8081
enable_http2 = false
max_connections = 1024
server_name_indication = “”
allowed_methods = [“GET”, “POST”, “PUT”, “DELETE”, “PATCH”, “HEAD”, “OPTIONS”]
authentication_provider = internal
authorization_checker = internal
}

emqx_management {
vm_monitoring = true
vm_monitoring_interval = 5
metrics_storage = memory
}
但是一直显示如下语法错误,希望知道的大佬能够告知该如何解决,谢谢
[error]: {parse_error,#{file => “/root/pro_node/emqx/etc/emqx.conf”,line => 36,reason => “syntax error before: 0.0”}}

NOTES: 虚拟机的内部高级指标默认是禁用的 通常只在性能测试期间启用。 启用它们将增加 CPU 负载。

prometheus {
  collectors {
    mnesia = enabled
    vm_dist = enabled
    vm_memory = enabled
    vm_msacc = enabled
    vm_statistics = enabled
    vm_system_info = enabled
  }
  enable_basic_auth = false  
}

PS:麻烦提供一下文档连接,我们更新一下 :heart_hands:

2024-12-04T14:44:18.844001+08:00 [error] failed_to_check_schema: emqx_conf_schema^M
2024-12-04T14:44:18.846459+08:00 [error] #{kind => validation_error,path => “prometheus”,reason => unknown_fields,unknown => “collectors,enable_basic_auth”,unmatched => “enable,headers,…”}^M
我做了配置修改后,启动报这个错

应该你用的版本太低了。推荐以后有机会升级一下。

  1. 先去掉有问题的配置。正常启动。
  2. 使用命令行得到配置的值。
    ./bin/emqx ctl conf show prometheus
  3. 把 2 结果中的 disabled 改成 enabled,放到 emqx.conf中
  4. 重启。

prometheus {
enable = true
headers {}
interval = 15s
job_name = “${name}/instance/${name}~${host}”
mnesia_collector = disabled
push_gateway_server = “http://0.0.0.0:9091
vm_dist_collector = disabled
vm_memory_collector = disabled
vm_msacc_collector = disabled
vm_statistics_collector = disabled
vm_system_info_collector = disabled
}
修改了这块配置,emqx可以正常启动,在dashboard上也开启了pushgateway,但是prometheus上监控的9091端口是不通的

你确定你用的 prometheus push gateway 的话,就要把他改成你 push gateway 的地址,push gateway 是要你再安装的。你百度一下。
如果你不是用 push gateway的话,就不用管它,直接用pull方式,用 18083 上的promethues 接口就行。

安装了pushgateway,已经可以监控到指标了,谢谢