zoukankan      html  css  js  c++  java
  • Logstash-工作原理

    Logstash工作原理

    Logstash 处理管道有三个阶段:输入→过滤器→输出,输入生成事件,过滤器修改它们,然后输出将它们发送到其他地方。输入和输出支持编解码器,使你能够在数据进入或离开管道时对其进行编码或解码,而无需使用单独的过滤器。

    image-20200420150509086

    输入(Inputs)

    可以通过输入组件将数据发送给Logstash。下面是一些常见的输入途径:

    1)文件:从文件系统的文件中读取,如UNIX命令tail -0F

    2) syslog: 在514端口上监听系统日志消息并根据RFC3164格式进行解析

    3)redis: 通过使用redis通道和列表从redis数据库服务器获取数据。Redis通常被用作集中式Logstash的缓存(“broker”),以消息队列的方式搬运事件输入到远端Logstash。

    4) beats: 处理Beats发送的事件,beats包括filebeat, winlogbeat等。

    过滤器(filter)

    过滤器是Logstash管道中间处理部件。如果事件符合特定条件,则可以将过滤器与条件语句结合使用以对事件执行操作。一些有用的过滤器包括:

    1)grok: 解析和构造任意的文本,Grok是目前Logstash中解析非结构化数据到结构化和可查询数据最好的插件。在内置的120中模式中,就很有可能找到一个满足你的需要的模式。

    2)mutate: 对事件字段进行常规转换,可以重命名,删除,替换和修改事件中的字段。

    3)drop: 删除整个事件数据,例如删除debug事件。

    4)clone: 制作事件的副本,可能删除和添加字段。

    5)geoip: 添加有关IP地址的地理位置信息(可以在kibana中展现绚丽的图表)。

    输出(Outputs)

    输出是Logstash管道的最后一个阶段。事件消息可以经过多个输出接收端,一旦所有的输出都处理完成,就完成了它的任务。一些常用的输出包括:

    1) elasticsearch:将事件数据发送给Elasticsearch。可以高效,方便且易于查询的格式保存数据...... Elasticsearch是最佳选择方式。 ​ 2) file:将事件数据写入磁盘上的文件。 ​ 3) graphite:将事件数据发送到graphite,一个很流行的用于存储和绘制指标的开源工具。 ​ 4) statsd:将事件数据发送到statsd,这是一种侦听统计信息的服务。通过UDP发送并将聚合发送到一个或多个可插入后端服务,如计数器和定时器。

    编解码器

    编解码器可以作为输入或输出的基本流过滤器的一份子。使用编解码器可以轻松地分割传送过来的已经被序列化的数据。流行的编解码器包括json, msgpack和plan(text)。 ​ 1)json:以JSON格式对数据进行编码或解码。 ​ 2)multiline:将多行文本事件合并到一个单一的行。例如:java异常和堆栈跟踪消息。

    执行模型

    Logstash事件通过管道的方式协调输入,过滤器和输出组件的执行。

    Logstash管道中的每个输入阶段都在自己的线程中运行,输入将事件写入位于内存(默认)或磁盘上的中央队列,每个管道工作线程从这个队列中取出一批事件,通过配置的过滤器运行事件批处理,然后通过任何输出运行过滤的事件,可以配置批处理的大小和管道工作线程的数量。

    默认情况下,Logstash使用有限内存队列在管道之间(输入→过滤器和过滤器→输出)来缓冲事件,如果Logstash不安全的终止,则存储在内存中的任何事件都将丢失。为了防止数据丢失,你可以启用Logstash将运行中的事件持久化到磁盘上。

  • 相关阅读:
    微软职位内部推荐-Senior Development Lead
    微软职位内部推荐-Senior Program Manager
    微软职位内部推荐-Senior PM
    微软职位内部推荐-Principal Software Eng Mgr
    微软职位内部推荐-Senior Software Engineer
    mysql性能优化-慢查询分析、优化索引和配置
    MySQL慢日志查询
    spark运行模式
    scala+hadoop+spark环境搭建
    MySQL Sleep进程
  • 原文地址:https://www.cnblogs.com/binliubiao/p/12755764.html
Copyright © 2011-2022 走看看