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

如何在jmx_exporter规则中处理可选connectionpool属性

解决JMX Exporter中可选标签的正则匹配问题

核心方案

要同时匹配带connectionpool标签和不带该标签的指标,且不生成冗余标签,你需要编写包含可选分组的正则表达式,配合JMX Exporter的标签提取规则即可实现。

具体配置示例

在你的JMX Exporter配置文件中,添加如下规则:

rules:
- pattern: 'catalina_datasource_testonborrow\{host="([^"]+)",context="([^"]+)",class="([^"]+)",name="([^"]+)"(,connectionpool="([^"]+)")?\}'
  name: 'catalina_datasource_testonborrow'
  labels:
    host: "$1"
    context: "$2"
    class: "$3"
    name: "$4"
    connectionpool: "$6"

正则规则说明

  • (,connectionpool="([^"]+)")? 是实现可选匹配的核心:
    • ? 标记整个分组为可选,允许它出现0次或1次
    • 外层括号包裹connectionpool标签的完整内容(包括前置的逗号),确保匹配时的语法一致性
    • 内层括号捕获connectionpool的具体取值,对应标签提取中的$6
  • 对于不带connectionpool的指标,$6会被解析为空字符串,JMX Exporter会自动忽略空值标签,不会生成冗余项

效果验证

应用该规则后:

  • 带connectionpool的指标会正常保留该标签,取值为"connections"
  • 不带connectionpool的指标不会生成该标签,完全符合需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 22:36:14