返回介绍

filter配置 - split

发布于 2020-06-28 10:03:42 字数 1715 浏览 1047 评论 0 收藏 0

上一章我们通过 multiline 插件将多行数据合并进一个事件里,那么反过来,也可以把一行数据,拆分成多个事件。这就是 split 插件。

配置示例

  1. filter {
  2. split {
  3. field => "message"
  4. terminator => "#"
  5. }
  6. }

运行结果

这个测试中,我们在 intputs/stdin 的终端中输入一行数据:”test1#test2”,结果看到输出两个事件:

  1. {
  2. "@version": "1",
  3. "@timestamp": "2014-11-18T08:11:33.000Z",
  4. "host": "web121.mweibo.tc.sinanode.com",
  5. "message": "test1"
  6. }
  7. {
  8. "@version": "1",
  9. "@timestamp": "2014-11-18T08:11:33.000Z",
  10. "host": "web121.mweibo.tc.sinanode.com",
  11. "message": "test2"
  12. }

重要提示

split 插件中使用的是 yield 功能,其结果是 split 出来的新事件,会直接结束其在 filter 阶段的历程,也就是说写在 split 后面的其他 filter 插件都不起作用,进入到 output 阶段。所以,一定要保证 split 配置写在全部 filter 配置的最后

使用了类似功能的还有 clone 插件。

注:从 logstash-1.5.0beta1 版本以后修复该问题。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文