15.1. 执行核心操作【已完成】
本章节描述的插件对于核心操作来说是很有用的,例如转换和移除事件。
日期过滤器
解析字段中的日期,用作事件的 Logstash 时间戳。
以下配置解析 logdate
字段并设置为 Logstash 时间戳:
filter {
date {
match => [ "logdate", "MMM dd yyyy HH:mm:ss" ]
}
}
移除过滤器
移除事件。该过滤器一般结合条件语句使用。
以下配置移除 debug
级别的日志信息:
filter {
if [loglevel] == "debug" {
drop { }
}
}
指纹过滤器
通过使用一致性哈希算法生成字段指纹。
以下配置将 IP
,@timestamp
和 message
字段生成指纹并将哈希添加到 名为 generated_id
的元字段中:
filter {
fingerprint {
source => ["IP", "@timestamp", "message"]
method => "SHA1"
key => "0123"
target => "[@metadata][generated_id]"
}
}
转换过滤器
你可以在字段上执行一般的转换。你可以在事件中重命名,移除,替换和修改字段。
以下配置将 HOSTORIP
重命名为 client_ip
:
filter {
mutate {
rename => { "HOSTORIP" => "client_ip" }
}
}
以下配置将指定字段的前后空格去掉:
filter {
mutate {
strip => ["field1", "field2"]
}
}
ruby过滤器
执行 Ruby 代码。
以下配置执行 Ruby 代码并取消 90% 的事件。
filter {
ruby {
code => "event.cancel if rand <= 0.90"
}
}
推荐文章: