Filebeat+Logstash+Elasticsearch+Kibana
最近有一批数据需要存储,并提供可视化展示,包括基本的检索,下面是学习使用Filebeat+Logstash+Elasticsearch+Kibana的过程:
1:概念解释
Elasticsearch: 一个分布式的 RESTful 风格的搜索和数据分析引擎。(可以理解为“数据仓库”)
Logstash: 一个开源数据收集引擎,具有实时管道功能。Logstash可以动态地将来自不同数据源的数据统一起来,并将数据标准化到你所选择的目的地。(可以理解为“数据收集处理机”)
Filebeat: Elastic提供了各种Beats,用于单用途数据托运人的平台。它们以轻量级代理的形式安装,并将来自成百上千台机器的数据发送到Logstash或Elasticsearch。(可以理解为“数据传输机”)
Kibana: 一个开源的分析和可视化平台,设计用于和Elasticsearch一起工作。可以用Kibana来搜索,查看,并和存储在Elasticsearch索引中的数据进行交互。可以轻松地执行高级数据分析,并且以各种图标、表格和地图的形式可视化数据。(可以理解为“数据可视化机”)
2:处理流程
数据经由Beats,可以直接传输到elasticsearch库中;也可先传输到logstash进行增强处理之后再传输到elasticsearch库中;最后通过kibana进行可视化展示。不同Beat针对不同的数据源,下面以filebeat为例进行介绍,以文件为数据源。
下载所需安装包:(依赖Java环境)
Elastic(elasticsearch+logstash+filebeat+kibana)下载地址
1:elasticsearch 安装启动
解压 tar -zxvf elasticsearch-6.6.2; cd bin; ./elasticsearch
2: logstash 安装配置启动
解压 tar -zxvf logstash-6.6.2; logstash目录下新建配置文件pipeline.conf, 内容如下, 输入源为beat, 格式为json; 输出为es库
input{
beats{
port => "5044"
codec => json
}
}
output{
elasticsearch{
hosts => ["localhost:9200"]
}
}
bin/logstash -f pipeline.conf
3: filebeat 安装配置与启动
解压 tar -zxvf filebeat-6.6.2 ; 修改配置文件filebeat.yml, 内容如下:
#==========filebeat inputs========
- type: log
path:
- /home/sean/Desktop/log.json(替换成自己的文件目录)
#==========Dashboards==============
setup.dashboard.enabled: ture
#=============Kibana===============
set.kibana:
host: "localhost:5601"
#============logstash output======
output.logstash:
host: ["localhost:5044"]
启动:./filebeat -e -c filebeat.yml -d "publish"
4: kibana 安装配置启动
解压 tar -zxvf kibana-6.6.2 ; 配置/config/kibana.yml; 内容如下:
elasticsearch.hosts: ["http://localhost:9200"]
启动:bin/kibana
3: 启动顺序与结果
启动elasticsearch
启动logstash
启动kibana
启动filebeat
浏览器访问:http://localhost:5601
可能的错误:
如果logstash报json解析错误,json格式必须是串行的,中间不能有换行
❎
{
name: "zhangsan",
age: "18"
}
✅
{name:"zhangsan",age:"18"}
参考资料: