参考起源:https://www.zhihu.com/search?…
一、logstash 简介
后面装置与配置中已近对 es 和 kibana 进行了简略的介绍,这里次要介绍 logStash 导入日志到 es 的索引中并应用 kibana 的搜寻,次要介绍 logstash 相干。
logstash 在 2008 年已近呈现了,Logstash 作为 Elasicsearch 罕用的实时数据采集引擎,能够采集来自不同数据源的数据,并对数据进行解决后输入到多种输入源,是 Elastic Stack 的重要组成部分。
二、logstash 解决流程
名词解析:Pipeline 管道 codecs 编解码器
如上图所示 LogStash 的数据处理过程次要包含:input.filters.Outputs 三局部。另外在 Inputs 和 Outputs 中能够应用 Codecs 对数据格式进行解决。
- 1)Inputs:用于从数据源获取数据,常见的插件如 file, syslog, redis, beats 等
- 2)Filters:用于解决数据如格局转换,数据派生等,常见的插件如 grok, mutate, drop, clone, geoip 等
- 3)Outputs:用于数据输入,常见的插件如 elastcisearch,file, graphite, statsd 等
- 4)Codecs:Codecs 不是一个独自的流程,而是在输出和输入等插件中用于数据转换的模块,用于对数据进行编码解决,常见的插件如 json,multiline
1、执行模型
- (1)每个 Input 启动一个线程,从对应数据源获取数据
- (2)Input 会将数据写入一个队列:默认为内存中的有界队列(意外进行会导致数据失落)。为了避免数失落 Logstash 提供了两个个性:d
Persistent Queues:通过磁盘上的 queue 来避免数据失落
Dead Letter Queues:保留无奈解决的 event(仅反对 Elastic - (3)Logstash 会有多个 pipeline worker, 每一个 pipeline worker 会从队列中取一批数据,而后执行 filter 和 output(worker 数目及每次解决的数据量均由配置确定)
三、实例
1、日志采集
采纳的工具 FileBeatinput 插件, 采集本地日志,而后将后果输入。
FileBeat 介绍
上面会整合 FileBeat 来采集日志,它能够采集 sql、redis、以及 ide 运行环境的日志