代码之家  ›  专栏  ›  技术社区  ›  Derrops

如何在logstash中匹配UUID/GUID并替换

  •  0
  • Derrops  · 技术社区  · 4 年前

    我想按相应的HTTP请求方法对日志进行分组,但有时这些路径包含 ids 正如你所料,目前我有一个字段 httpPath 其值类似于: resources/12321-2132-asdf3223 ,但也可以是: resources/12321-2132-asdf3223/someaction 。我希望能够实现以下目标:

    resources/12321-2132-asdf3223 => resources/{id}
    

    还有

    resources/12321-2132-asdf3223/someaction => resources/{id}/someaction
    

    创建新字段: controllerPath 。因此,我想查找UUID并将其替换为 {id} ,并在可能的情况下将结果存储在新字段中。

    0 回复  |  直到 4 年前
        1
  •  1
  •   Derrops    4 年前

    我自己想出来的(;

      if [httpPath] {
        mutate {
          add_field => { "controllerPath" => "%{httpPath}" }
        }
    
        mutate {
          gsub => [
            "controllerPath", "(?<GrokParse>/[A-Fa-f0-9]{8}-(?:[A-Fa-f0-9]{4}-){3}[A-Fa-f0-9]{12})", "/{id}"
          ]
        }
      }