Logstash工作原理
Logstash事件处理有三个阶段:inputs → filters → outputs。是一个接收,处理,转发日志的工具。支持系统日志,webserver日志,错误日志,应用日志,总之包括所有可以抛出来的日志类型。
Input:输入数据到logstash。
一些常用的输入为:
file:从文件系统的文件中读取,类似于tial -f命令
syslog:在514端口上监听系统日志消息,并根据RFC3164标准进行解析
redis:从redis service中读取
beats:从filebeat中读取
Filters:数据中间处理,对数据进行操作。
一些常用的过滤器为:
grok:解析任意文本数据,Grok 是 Logstash 最重要的插件。它的主要作用就是将文本格式的字符串,转换成为具体的结构化的数据,配合正则表达式使用。内置120多个解析语法。
官方提供的grok表达式:https://github.com/logstash-plugins/logstash-patterns-core/tree/master/patterns
grok在线调试:https://grokdebug.herokuapp.com/
mutate:对字段进行转换。例如对字段进行删除、替换、修改、重命名等。
drop:丢弃一部分events不进行处理。
clone:拷贝 event,这个过程中也可以添加或移除字段。
geoip:添加地理信息(为前台kibana图形化展示使用)
Outputs:outputs是logstash处理管道的最末端组件。一个event可以在处理过程中经过多重输出,但是一旦所有的outputs都执行结束,这个event也就完成生命周期。
一些常见的outputs为:
elasticsearch:可以高效的保存数据,并且能够方便和简单的进行查询。
file:将event数据保存到文件中。
graphite:将event数据发送到图形化组件中,一个很流行的开源存储图形化展示的组件。
Codecs:codecs 是基于数据流的过滤器,它可以作为input,output的一部分配置。Codecs可以帮助你轻松的分割发送过来已经被序列化的数据。
一些常见的codecs:
json:使用json格式对数据进行编码/解码。
multiline:将汇多个事件中数据汇总为一个单一的行。比如:java异常信息和堆栈信息。
最新文章
- Android 5.0 到 Android 6.0 + 的深坑之一 之 .so 动态库的适配
- C#设计模式系列:桥接模式(Bridge)
- [VB.NET]调用API获取/设置键盘按键状态
- git push.default is unset
- js-DOM-页面元素的兼容性、常用事件、节点
- django开发的社区和博客
- android 兼容性测试 CTS 测试过程(实践测试验证通过)
- 如何学好C语言
- ubuntu更换开机动画
- Selenium Python 安装指导
- BIO,NIO与AIO的区别
- Nodejs脚手架搭建基于express的应用
- curl获取结果乱码的解决方法之CURLOPT_ENCODING(curl/Post请求)
- MySQL条件检索_WHERE
- 理解使用static import 机制
- AndroidStudio创建项目时一直处于building“project name”gradle project info的解决办法
- burn android images with fastboot
- Dependency Scopes(maven)
- Mplayer1.0rc2移植到am335x开发板
- 阻塞队列之六:LinkedBlockingDeque
热门文章
- linux基础命令笔记
- 如何克服社交恐惧症?zz
- Windows 证书签名的伪造
- k8s之helm入门
- MongoDB实战读书笔记(一):JavaScript shell操作MongoDB
- springboot+eureka+mybatis+mysql环境下报504 Gateway Time-out
- jQuery Validation ,调用valid方法时,不验证remote
- net core体系-web应用程序-4asp.net core2.0 项目实战(CMS)-第二章 入门篇-快速入门ASP.NET Core看这篇就够了
- luogu题解 P3763 【[TJOI2017]DNA】
- Hash一致性算法底层原理