zoukankan      html  css  js  c++  java
  • 搬运工 Logstash

    1,Logstash 简介

    Logstash是一个开源数据收集引擎,具有实时管道功能。Logstash可以动态地将来自不同数据源的数据统一起来,并将数据标准化到你所选择的目的地。

    通俗的说,就是搬运工。

    2,Logstash工作原理

    Logstash事件处理有三个阶段:inputs → filters → outputs。是一个接收,处理,转发日志的工具。支持系统日志,webserver日志,错误日志,应用日志,总之包括所有可以抛出来的日志类型。

    Input:输入数据到logstash。

    一些常用的输入为:
    file:从文件系统的文件中读取,类似于tial -f命令
    syslog:在514端口上监听系统日志消息,并根据RFC3164标准进行解析
    redis:从redis service中读取
    beats:从filebeat中读取

    Filters:数据中间处理,对数据进行操作。

    一些常用的过滤器为:
    grok:解析任意文本数据,Grok 是 Logstash 最重要的插件。它的主要作用就是将文本格式的字符串,转换成为具体的结构化的数据,配合正则表达式使用。内置120多个解析语法。
    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异常信息和堆栈信息。

    Logstash工作原理

    Logstash事件处理有三个阶段:inputs → filters → outputs。是一个接收,处理,转发日志的工具。支持系统日志,webserver日志,错误日志,应用日志,总之包括所有可以抛出来的日志类型。

    Input:输入数据到logstash。

    一些常用的输入为:
    file:从文件系统的文件中读取,类似于tial -f命令
    syslog:在514端口上监听系统日志消息,并根据RFC3164标准进行解析
    redis:从redis service中读取
    beats:从filebeat中读取


    Filters:数据中间处理,对数据进行操作。

    一些常用的过滤器为:
    grok:解析任意文本数据,Grok 是 Logstash 最重要的插件。它的主要作用就是将文本格式的字符串,转换成为具体的结构化的数据,配合正则表达式使用。内置120多个解析语法。
    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异常信息和堆栈信息。

    3,安装

    Logstash环境安装

    1、上传logstash安装包

    2、解压tar zxvf  logstash-6.4.3.tar.gz

    3、在config目录下放入logstash_chris02.conf 读入并且读出日志信息

    input {
        # 从文件读取日志信息 输送到控制台
        file {
            path => "/usr/local/elasticsearch-6.4.3/logs/elasticsearch.log"
            codec => "json" ## 以JSON格式读取日志
            type => "elasticsearch"
            start_position => "beginning"
        }
    }
    
    # filter {
    #
    # }
    
    output {
        # 标准输出 
        # stdout {}
        # 输出进行格式化,采用Ruby库来解析日志   
         stdout { codec => rubydebug }
         elasticsearch {
            hosts => ["192.168.178.110:9200"]
            index => "es-%{+YYYY.MM.dd}"
        }     
    }

    5,启动 ./logstash -f ../config/logstash_chris02.conf

  • 相关阅读:
    实验吧之损坏的U盘
    kali linux中的yum、rpm常见的问题
    常用的搜索引擎使用技巧
    Host Only、NAT和Bridge三种网络连接
    Binwalk的安装和使用
    虚拟机增强工具的安装
    下载带有kali linux系统的VMware如何打开虚拟机?
    安装Linux虚拟系统
    虚拟机之种种问题
    python 运行时报错误SyntaxError: Non-ASCII character 'xe5' in file 1.py on line 2
  • 原文地址:https://www.cnblogs.com/pickKnow/p/11452853.html
Copyright © 2011-2022 走看看