logstash快速入门

下载

官网:https://www.elastic.co/cn/downloads/logstash

因为我的是mac系统,所以选择下载ZIP版本

运行

在项目目录下新建logstash.conf

input { stdin { } }
output {
  stdout { codec => rubydebug }
}

该配置的意思是从控制台输入和输出信息。

在logstash路径下运行
bin/logstash -f logstash.conf
可以在控制台中看到logstash已经成功运行

[2020-07-08T20:23:38,204][INFO ][logstash.agent           ] Successfully started Logstash API endpoint {:port=>9600}

输入
abc
将打印信息

{
          "host" => "Janey-deMacBook-Pro.local",
      "@version" => "1",
       "message" => "abc",
    "@timestamp" => 2020-07-08T12:23:44.922Z
}

到此,logstash已可以使用了

input

数据在logstash中使用input+filter+output形成的管道对数据进行处理。
为了对logstash快速上手,我们只抽出logstash pipeline部分研究。
logstash快速入门_第1张图片
为了不用每次都手动输入信息,我们配置以下input。
拷贝一份iis,配置input

input {
  file {
    path => "/Users/janeydeng/projects/ELK/mock_logs/*.log"
    start_position => "beginning"
 }
} 
output {
  stdout { codec => rubydebug }
}

在测试参数的过程中,删除掉$home目录下的data文件夹,否则,数据已经写入.sincedb,我们将不能在shell中看到打印出来的信息
logstash快速入门_第2张图片
在shell中,我们可以看到以下的打印信息

{
          "host" => "Janey-deMacBook-Pro.local",
          "path" => "/Users/janeydeng/projects/ELK/mock_logs/u_ex200601.log",
    "@timestamp" => 2020-07-08T17:03:18.362Z,
      "@version" => "1",
       "message" => "2020-06-01 00:00:00 192.168.0.9 GET /InfoplayAPI/Hehex/te02-6325 format=json 80 - 192.168.0.10 Mozilla/5.0+(Windows;+U;+Windows+NT+5.1;+zh-CN;+rv:1.9.2)+Gecko/20100115+Firefox/3.6 - 200 0 0 265\r"
}
{
          "host" => "Janey-deMacBook-Pro.local",
          "path" => "/Users/janeydeng/projects/ELK/mock_logs/u_ex200601.log",
    "@timestamp" => 2020-07-08T17:03:18.359Z,
      "@version" => "1",
       "message" => "#Version: 1.0\r"
}

file插件可以过滤某些文件却无法过滤掉某一行(VS filebeat),所以log文件中的注释也会被解析出来。

下一篇:logstash快速解析iis日志

你可能感兴趣的:(logstash,ELK,stack)