WSO2 MI 4.1.0开启Prometheus指标无数据/404问题求助
WSO2 Micro-Integrator 4.1.0 Prometheus指标异常问题解决
问题原因分析
1. 临时传参启动返回200但无指标
-DenablePrometheusApi参数可启用Prometheus API,但MI默认仅在有业务流量触发时生成业务指标,空跑状态下无请求经过集成流,不会输出业务指标。- 部分版本需显式指定参数值为
true,仅写-DenablePrometheusApi可能导致JVM基础指标未被正确启用。
2. 修改micro-integrator.sh后返回404
- 直接修改脚本时,若未将参数添加到
JAVA_OPTS变量的JVM启动参数区域,参数无法被MI进程读取,导致Prometheus API未启用,因此出现No Internal API found报错。
解决步骤
正确启用Prometheus指标
方式一:临时启动(单次生效)
执行完整参数的启动命令:
./micro-integrator.sh -DenablePrometheusApi=true
方式二:永久配置(无需每次传参)
不建议直接修改启动脚本,推荐修改MI_HOME/conf/deployment.toml配置文件,添加以下内容:
[prometheus] enable = true # 启用JVM基础指标需额外添加 [metrics.jvm] enable = true
保存后重启MI即可自动启用Prometheus API。
验证指标输出
- 启动MI后,调用至少一个已部署的API、代理服务或集成流,触发业务流量。
- 再次访问
http://XXX:9211/metric-service/metrics,即可看到JVM指标和业务相关指标。
修复脚本修改导致的404问题
若坚持修改micro-integrator.sh,需找到脚本中设置JAVA_OPTS的段落,将参数添加到变量中,例如:
JAVA_OPTS="$JAVA_OPTS -Xms256m -Xmx1024m -DenablePrometheusApi=true"
修改后保存并重启MI,查看启动日志确认是否有Prometheus Metrics API enabled的输出,验证参数生效。
内容的提问来源于stack exchange,提问作者Luc De Graef
相关产品推荐
相关产品推荐

