Skip to content

SNMP 插件指标值添加正则转换 #1474

Description

@robotneo

问题

SNMP 原生插件支持 oid 的值转换,比如 IP 地址类型,Mac 地址类型,hex 类型等都可以通过 conversion 参数转换对应值,不管这个值是作为指标值还是作为标签值。

String 类型转换

SNMP 原生插件后续支持 oid 返回类型为 String 类型值转换,主要是通过扫描返回的 String 类型中是否有数值,比较适合的场景是:"123","20%","1.2dbm"等等主要是完全的 String 类型或者是前后带单位 String 类型,提取里面的数值作为指标值。conversion="float"

限制

如果 oid 返回的是如:"10/1/1: 1234559697" 这种类型,或者是不规则字符串,我只需要提取字符串中指定匹配的一段数值作为指标值,就没办法了,而 SNMP Exporter 是支持正则提取指标值的。所以希望可以添加正则提取数值作为指标值:

比如 oid 返回这样的字符串:"10/1/0 : 1234559697"

是否可以在配置文件里面写正则表达式:转换应用正则捕获
regex = "^\d+/\d+/\d+\s*:\s*(\d+)$"
conversion="regex($1)"

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedExtra attention is needed

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions