使用Logstash Grok过滤器屏蔽部分信用卡号

时间:2019-01-30 10:41:25

标签: logstash logstash-grok

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

1234567898763456123456######3456

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

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

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

filter
{
  mutate {
    gsub => [
      "message","[0-9]{16}","################"   
    ]
  }
}

1 个答案:

答案 0 :(得分:0)

filter {
    mutate {
    gsub => [
      "message","([0-9]{6})([0-9]{6})([0-9]{4})", "\1######\3"
    ]
  }
}