一:前言
ELK是ElasticSearch、Logstash、Kibana三个应用的缩写。 ElasticSearch简称ES,主要用来存储和检索数据。Logstash主要用来往ES中写入数据。Kibana主要用来展示数据。
三个软件都是开源的,可以从https://www.elastic.co/cn/products这里下载
二:安装
下载完之后直接解压到相应目录,比如像我这这样
这样就完成了安装
三:配置与启动
1.配置elastisearch
其实没什么好配置的,我只是修改了下data的存放目录
打开:E:\software\elasticsearch-6.1.0\config\elasticsearch.yml,修改如下
我的其他配置都是默认的,当然你也可以修改一些其他的配置
2.启动elasticsearch
点击:E:\software\elasticsearch-6.1.0\bin\elasticsearch.bat,就算是启动了,访问http://localhost:9200/可以看到如下说明成功
3.配置和启动logstash
logstash主要作用是插入数据,当然也可以直接使用elasticsearch来进行数据插入,参考:https://elasticsearch.cn/book/elasticsearch_definitive_guide_2.x/
logstash快速入门请参考:http://blog.csdn.net/wp500/article/details/41040213
我这边直接使用配置文件来进行数据的录入
在E:\software\logstash-6.1.0\bin中新建文本insert_2000w.conf,内容如下
input {
file{
path => "E:/temp/*.csv"
start_position => beginning
}
}
filter {
grok {
patterns_dir => "patterns.txt"
match =>{ "message" => "%{DATA:name},%{DATA:person_id},%{DATA:email},%{DATA:tel},%{DATA:adress},%{DATA:from}%{S}" }
}
mutate{
remove_field => ["host","path","message","@timestamp","@version"]
}
}
output {
elasticsearch { hosts => localhost
index => "sgdb"
document_type =>"sgdb"}
stdout { codec => rubydebug }
}
其中patterns.txt中记录的是模式,内容如下
E:/temp/*.csv中存储的是需要录入的数据,本文格式如下
Name,person_id,EMail,tell,Address,from
在E:\software\logstash-6.1.0\bin目录下命令行运行一下命令来进行数据录入
logstash.bat -f insert_2000w.conf
效果如下:
注意:logstash默认不会对1天前的数据进行处理
logstash每次对某一文件处理完之后便不会再次对它进行处理,如果想多次尝试对同一文件进行输入,需要删除E:\software\logstash-6.1.0\data\plugins\inputs\file下的文件
4.启动kibana
启动E:\software\kibana-6.1.0-windows-x86_64\bin\kibana.bat
然后在index Patterns中创建index Patterns
再往Discover中就可以对刚刚录入的数据进行搜索