Logstash 安装与测试数据导入Elasticsearch演示
1.实验物料
1.logstash-7.11.1-linux-x86_64.tar.gz
2.Elasticsearch-7.11.1的集群环境
Elasticsearch-7.11.1的集群环境的集群环境,我在上一篇博客《Centos7.x上安装Elasticsearch 7.1.11的集群》中已经给出了完整的实例,不会安装的同学请参考,这里就不再进行重复安装。
2.Logstash下载及安装
1.下载地址
https://www.elastic.co/cn/downloads/logstash
请根据自己的操作系统,来下载相应的软件包,我这里是linux是系统,所以我直接下载的linux版本。
https://artifacts.elastic.co/downloads/logstash/logstash-7.11.1-linux-x86_64.tar.gz
2.安装
将下载的logstash-7.11.1-linux-x86_64.tar.gz上传的linux服务器上,然后解压:
tar -zxf logstash-7.11.1-linux-x86_64.tar.gz
安装完成。
3.测试数据导入Elasticsearch
1.准备测试数据
这里的测试数据我采用的是MovieLens的最小测试数据集,下载地址是:
https://grouplens.org/datasets/movielens/
下载下来后解压,我把它上传的linux服务器上,文件目录是:
/usr/local/logstash-7.11.1/data/movielens
2.编写logstash配置文件
这里我定义文件名为logstash.conf。具体的内容如下:
input {
file {
path => "/usr/local/logstash-7.11.1/data/movielens/ml-latest-small/movies.csv"
start_position => "beginning"
sincedb_path => "/dev/null"
}
}
filter {
csv {
separator => ","
columns => ["id","content","genre"]
}
mutate {
split => { "genre" => "|" }
remove_field => ["path", "host","@timestamp","message"]
}
mutate {
split => ["content", "("]
add_field => { "title" => "%{[content][0]}"}
add_field => { "year" => "%{[content][1]}"}
}
mutate {
convert => {
"year" => "integer"
}
strip => ["title"]
remove_field => ["path", "host","@timestamp","message","content"]
}
}
output {
elasticsearch {
hosts => "http://192.168.15.61:9200"
index => "movies"
document_id => "%{id}"
}
stdout {}
}
3.启动logstash,导入数据
启动logstash的时候,需要指定使用的配置文件:
./bin/logstash -f config/logstash.conf
启动会比较慢,启动完成后,就会开始写入数据:
测试数据导入完成。
4.数据验证
在kibana的Discover中,我们能明确到看到movies这个index及其数据。