15.1. 执行核心操作【已完成】

未匹配的标注

本章节描述的插件对于核心操作来说是很有用的,例如转换和移除事件。

日期过滤器

解析字段中的日期,用作事件的 Logstash 时间戳。

以下配置解析 logdate 字段并设置为 Logstash 时间戳:

filter {
  date {
    match => [ "logdate", "MMM dd yyyy HH:mm:ss" ]
  }
}

移除过滤器

移除事件。该过滤器一般结合条件语句使用。

以下配置移除 debug 级别的日志信息:

filter {
  if [loglevel] == "debug" {
    drop { }
  }
}

指纹过滤器

通过使用一致性哈希算法生成字段指纹。

以下配置将 IP@timestampmessage 字段生成指纹并将哈希添加到 名为 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"
  }
}

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
发起讨论 只看当前版本


暂无话题~