执行核心操作
编辑执行核心操作编辑
本节中描述的插件对于核心操作(例如事件的变异和丢弃)很有用。
- date 过滤器
-
解析字段中的日期,用作事件的 Logstash 时间戳。
以下配置解析名为
logdate
的字段以设置 Logstash 时间戳filter { date { match => [ "logdate", "MMM dd yyyy HH:mm:ss" ] } }
- drop 过滤器
-
丢弃事件。此过滤器通常与条件语句结合使用。
以下配置丢弃
debug
级别的日志消息filter { if [loglevel] == "debug" { drop { } } }
- fingerprint 过滤器
-
通过应用一致的哈希来对字段进行指纹识别。
以下配置对
IP
、@timestamp
和message
字段进行指纹识别,并将哈希值添加到名为generated_id
的元数据字段中filter { fingerprint { source => ["IP", "@timestamp", "message"] method => "SHA1" key => "0123" target => "[@metadata][generated_id]" } }
- mutate 过滤器
-
对字段执行一般变异。您可以重命名、删除、替换和修改事件中的字段。
以下配置将
HOSTORIP
字段重命名为client_ip
filter { mutate { rename => { "HOSTORIP" => "client_ip" } } }
以下配置从指定字段中删除前导和尾随空格
filter { mutate { strip => ["field1", "field2"] } }
- ruby 过滤器
-
执行 Ruby 代码。
以下配置执行取消 90% 事件的 Ruby 代码
filter { ruby { code => "event.cancel if rand <= 0.90" } }