logstash 这个怎么理解mutate { split => { "genre" => "|" } remove_field => ["path", "host","@timestamp","message"] }
时间: 2024-02-17 07:59:07
浏览: 61
在Logstash中,mutate是一个用于对事件进行修改和转换的过滤器插件。在你提供的配置中,mutate插件被用来对事件中的"genre"字段进行分割,并移除一些不需要的字段。
具体来说,配置中的mutate插件包含了两个主要的操作:
1. split操作:这个操作使用了split[[函数](https://geek.csdn.net/educolumn/2319d2a62911adc34b96ea572d8225a2?spm=1055.2569.3001.10083)](https://geek.csdn.net/educolumn/ba94496e6cfa8630df5d047358ad9719?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NDQ0MDg2MiwiZXhwIjoxNzA3MzcxOTM4LCJpYXQiOjE3MDY3NjcxMzgsInVzZXJuYW1lIjoid2VpeGluXzY4NjQ1NjQ1In0.RrTYEnMNYPC7AQdoij4SBb0kKEgHoyvF-bZOG2eGQvc&spm=1055.2569.3001.10083),将"genre"字段的值按照"|"进行分割。例如,如果"genre"字段的值为"action|adventure|sci-fi",那么经过split操作后,"genre"字段将被分割成一个包含三个元素的数组:["action", "adventure", "sci-fi"]。
2. re[move](https://geek.csdn.net/educolumn/1017fe3bbe75a8f0c3f4fe48f3af73ee?spm=1055.2569.3001.10083)_field操作:这个操作使用了re[move](https://geek.csdn.net/educolumn/1017fe3bbe75a8f0c3f4fe48f3af73ee?spm=1055.2569.3001.10083)_field[函数](https://geek.csdn.net/educolumn/ba94496e6cfa8630df5d047358ad9719?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NDQ0MDg2MiwiZXhwIjoxNzA3MzcxOTM4LCJpYXQiOjE3MDY3NjcxMzgsInVzZXJuYW1lIjoid2VpeGluXzY4NjQ1NjQ1In0.RrTYEnMNYPC7AQdoij4SBb0kKEgHoyvF-bZOG2eGQvc&spm=1055.2569.3001.10083),用于移除一些不需要的字段。在你提供的配置中,被移除的字段包括"path"、"host"、"@timestamp"和"message"。
通过这些操作,mutate插件可以对事件进行灵活的修改和转换,以满足特定的需求。
相关问题
# Sample Logstash configuration for creating a simple # Beats -> Logstash -> Elasticsearch pipeline. input { beats { port => 5044 client_inactivity_timeout => 36000 filter { grok{ match => { "message" => "%{TIMESTAMP_ISO8601:timestamp} %{LOGLEVEL:level} %{JAVALOGMESSAGE:thread} %{JAVALOGMESSAGE:style} : %{JAVALOGMESSAGE:msg}" } date { match => [ "timestamp" , "yyyy-MM-dd HH:mm:ss,S", "ISO8601" ] mutate { remove_field => "agent" remove_field => "ecs" remove_field => "@version" remove_field => "host" remove_field => "path" remove_field => "log.flags" output { stdout{ codec => rubydebug if "my-test" in [tags] { elasticsearch { hosts => ["http://192.168.13.205:9200"] index => "test-%{+YYYY.MM.dd}" user => "elastic" password => "1qaz)P:?"
这是一个简单的Logstash配置文件,用于创建一个Beats -> Logstash -> Elasticsearch的数据流水线。以下是配置文件的说明:
1. 输入配置(input):
- 使用Beats插件从端口5044接收日志数据。
- 设置客户端不活动超时时间为36000秒。
2. 过滤器配置(filter):
- 使用Grok插件将日志消息解析为多个字段,根据日志消息格式进行匹配和提取。
- 使用Date插件将timestamp字段解析为日期时间格式,匹配的格式包括"yyyy-