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

如何在K8s部署的ActiveMQ Artemis中过滤Metrics插件的对象名与地址

在Artemis Kubernetes部署中实现Metrics过滤功能

方法1:通过Artemis Metrics插件内置配置过滤

Artemis Metrics插件支持通过配置文件直接定义指标过滤规则,你可以在Broker自定义资源(CR)中添加metricsPluginConfiguration字段,设置包含或排除规则:

  • 使用includeObjectNames指定需要保留的对象名,或excludeObjectNames指定需要排除的对象名,支持通配符(例如org.apache.activemq.artemis:*)
  • 示例配置:
apiVersion: broker.amq.io/v1beta1
kind: ActiveMQArtemis
metadata:
  name: my-broker
spec:
  metricsPluginConfiguration: |
    {
      "includeObjectNames": ["org.apache.activemq.artemis:address=my-queue*,*"],
      "excludeObjectNames": ["org.apache.activemq.artemis:type=Broker,name=*,attribute=Version"]
    }

方法2:结合Prometheus Relabeling规则过滤

如果插件内置过滤逻辑不够灵活,可在Prometheus采集配置中添加relabeling规则,在指标采集阶段完成过滤:

  • 针对Artemis的metrics端点,配置relabel_configs,通过source_labels匹配对象名或地址标签,用action: keep或action: drop实现筛选
  • 示例Prometheus配置片段:
scrape_configs:
  - job_name: 'artemis-broker'
    static_configs:
      - targets: ['my-broker-amq:9404']
    relabel_configs:
      # 仅保留地址以my-queue开头的指标
      - source_labels: [address]
        regex: 'my-queue.*'
        action: keep
      # 排除包含特定属性的指标
      - source_labels: [jmx_url]
        regex: '.*attribute=Version.*'
        action: drop

方法3:自定义Metrics插件扩展

若上述方法都无法满足需求,可基于Artemis Metrics插件源码二次开发,实现自定义过滤逻辑:

  • 继承MetricsPlugin接口,编写专属的指标过滤逻辑
  • 将自定义插件打包为JAR,挂载到Kubernetes的Broker Pod中,同时在CR中指定metricsPluginClassName为你的自定义类名

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 18:42:35