logstash 简单介绍

参考来源:https://www.zhihu.com/search?...

一、logstash简介

前面安装与配置中已近对es和kibana进行了简单的介绍,这里主要介绍logStash导入日志到es的索引中并使用kibana的搜索,主要介绍logstash相关。
logstash在2008年已近出现了,Logstash作为Elasicsearch常用的实时数据采集引擎,可以采集来自不同数据源的数据,并对数据进行处理后输出到多种输出源,是Elastic Stack 的重要组成部分。

二、logstash处理流程

logstash 简单介绍_第1张图片

名词解析: 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运行环境的日志

你可能感兴趣的:(logstash)