使用logstash grok过滤器屏蔽信用卡号码的一部分

问题描述 投票:0回答:1

试图掩盖16位信用卡的一部分(6-10位)。

1234567898763456123456######3456

我可以考虑使用gsub过滤器,但我找不到匹配数字的确切部分的方法。

选项是分成不同的部分,然后将整个字段gsub为'#',然后加入,似乎太多的工作。任何建议都会受到欢迎。

下面的示例将掩盖所有字符,如何屏蔽选择性模式,从第6位到第10位,以获得像123456######3456的结果。

filter
{
  mutate {
    gsub => [
      "message","[0-9]{16}","################"   
    ]
  }
}
logstash logstash-grok
1个回答
0
投票
filter {
    mutate {
    gsub => [
      "message","([0-9]{6})([0-9]{6})([0-9]{4})", "\1######\3"
    ]
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.