You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apache Artemis v2.31.0 Prometheus metrics插件HTTP端点频繁返回404

解决Apache Artemis Prometheus指标端点间歇性404问题

核心排查与修复方向

  • 调整插件加载与HTTP服务启动顺序
    插件日志显示初始化完成,但可能Broker的HTTP服务未完全就绪时插件已完成注册,导致端点未正确挂载。修改broker.xml的HTTP acceptor配置,延长启动超时时间,确保HTTP服务稳定后再加载插件:

    <acceptor name="http-acceptor">tcp://0.0.0.0:9050?protocols=HTTP;startup-timeout=60000</acceptor>
    
  • 验证版本兼容性与依赖完整性
    确认插件版本与Artemis v2.31.0完全匹配,检查Broker的lib目录是否包含插件的所有依赖jar包。若存在缺失,重新下载对应版本的插件包替换现有文件后重启Broker。

  • 深挖日志定位注册失败原因
    开启Broker的DEBUG级别日志,重点关注org.apache.activemq.artemis.core.server.plugin和org.eclipse.jetty.server相关日志条目,排查是否有权限限制、路径冲突或注册报错等细节。

  • 确认HTTP端点配置正确性
    检查broker.xml的web节点配置,确保metrics插件的端点路径未被其他Web应用或拦截器覆盖:

    <web bind="http://0.0.0.0:9050" path="web">
      <app url="metrics" war="artemis-prometheus-metrics-plugin.war"/>
    </web>
    
  • 禁用Jetty上下文自动重载
    间歇性404可能源于Jetty上下文意外重载,导致端点丢失。在broker.xml的web节点添加contextReloadable="false"参数:

    <web bind="http://0.0.0.0:9050" path="web" contextReloadable="false">
      <!-- 其他web应用配置 -->
    </web>
    

临时缓解方案

若问题频繁出现,可编写监控脚本定期调用curl -v http://broker:9050/metrics/检查状态,当返回404时自动触发Broker重启,减少人工干预成本。

内容的提问来源于stack exchange,提问作者allwynsam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 17:53:30