Logstash

简介:

  

部署安装:

  

  检查jdk环境,要求jdk1.8+
    java -version

  解压安装包
    tar -zxvf logstash-6.5.4.tar.gz

  第一个logstash示例,进入解压目录执行:
    bin/logstash -e 'input { stdin { } } output { stdout {} }'

  执行成功后会等待我们输入,这里输入hello

    

 配置详解:

  Logstash的配置有三部分,如下:

    

    输入:

      

     输出:

      

 读取自定义日志:

  前面我们通过Filebeat读取了nginx的日志,如果是自定义结构的日志,就需要读取处理后才能使用,所以,这个时候就需要使用Logstash了,因为Logstash有着强大的处理能力,可以应对各种各样的场景。
  日志结构:

    2019-03-15 21:21:21|ERROR|读取数据出错|参数:id=1002 

    可以看到,日志中的内容是使用“|”进行分割的,使用,我们在处理的时候,也需要对数据做分割处理。

  编写配置文件:名字自己起

input {
    file {
        path => "/fan/beats/logs/app.log"
        start_position => "beginning"
    }
}

filter {
    mutate {
        split => {"message"=>"|"}
    }
}

output {
    stdout { codec => rubydebug }
}

  启动测试,输出到控制台:

    ./bin/logstash -f ./fan-pipeline.conf

    另开一个窗口,cd到指定目录,写日志到文件
      echo "2020-03-27 17:21:54|ERROR|读取数据出错|参数:id=1002" >> app.log

    输出结果

      

   输出到Elasticsearch:

    修改fan-pipeline.conf配置文件

      

    启动
      ./bin/logstash -f ./fan-pipeline.conf

    写入数据
      echo "2019-03-15 21:21:21|ERROR|读取数据出错|参数:id=1003" >> app.log

posted @ 2020-03-27 18:14  糖不甜,盐不咸  阅读(153)  评论(0编辑  收藏  举报