导入Logstash日志到Elasticsearch

时间:2022-11-17 13:34:54

一、logstash是什么?

Logstash是一款轻量级的日志搜集处理框架,可以方便的把分散的、多样化的日志搜集起来,并进行自定义的处理,然后传输到指定的位置,比如某个服务器或者文件。

当然它可以单独出现,作为日志收集软件,你可以收集日志到多种存储系统或临时中转系统,如MySQL,redis,kakfa,HDFS, lucene,solr等并不一定是ElasticSearch。

Logstash就像一个数据管道一样,搜集来自不同源的日志,输出到不同的系统:

导入Logstash日志到Elasticsearch

二、logstash安装与启动

下载logstash-2.4.0:

https://download.elastic.co/logstash/logstash/logstash-2.4.0.tar.gz
解压缩:

$ tar -zxvf logstash-2.4.0.tar.gz

启动logstash:

$ cd logstash-2.4.0
$ ./bin/logstash -e 'input { stdin { } } output { stdout {} }'
Settings: Default pipeline workers: 4
Pipeline main started

这样会以默认形式输出日志,是最简单的日志格式,输入一个单词测试:

hello world
2016-11-21T20:51:22.252Z yaopan.local hello world

设置为格式化输出:

$ ./bin/logstash -e 'input { stdin { } } output { stdout {codec => rubydebug} }'
Settings: Default pipeline workers: 4
Pipeline main started
hello
{
"message" => "hello",
"@version" => "1",
"@timestamp" => "2016-11-21T20:52:11.973Z",
"host" => "yaopan.local"
}

三、导入日志到Elasticsearch

首先,启动elasticsearch(2.3.3版本)。

在logstash-2.4.0根目录下文件新建文件夹conf:

mkdir conf

新建配置文件:

cd conf
vim logstash.conf

logstash.conf内容如下:

input{
stdin{}
}
output{
elasticsearch{
hosts => "127.0.0.1"
}
stdout{codec => rubydebug}
}

导入成功后会在ES中自动创建索引。

导入Logstash日志到Elasticsearch