elasticsearch 如何替换logstash消息中特定字符后的模式

wn9m85ua  于 2023-02-03  发布在  ElasticSearch
关注(0)|答案(1)|浏览(153)

我有这样一条信息:

`The is my sample HMAC message`HMAC HMAC HMAC

我想将其替换为:

`The is my sample HMAC message`

我尝试了以下代码,但它替换了所有出现的HMAC:

mutate {
                    gsub => [ "message", "HMAC", "" ]
                  }

我只想替换'之后的模式。我如何在logstash中使用gsub实现这一点?

6l7fqoea

6l7fqoea1#

你可以使用grok。

filter {
  grok {
    match => { "message" => "`%{DATA:my_field_name}`" }
  }
}

产出将是:

{
  "my_field_name": "The is my sample HMAC message"
}

要进行测试,您可以使用kibana grok调试器(见屏幕截图)或使用www.example.comhttps://grokconstructor.appspot.com/do/match#result

编辑:您可以创建一个新的领域与引号原封不动。

mutate {
    add_field => { "my_new_field" => "`%{[my_field_name]}`" }
}

相关问题