Elasticsearch、Logstash、Kibana、Filebeat的使用总结
来源:互联网 发布:淘宝宝贝链接 编辑:程序博客网 时间:2024/04/27 19:00
ELK是什么?
ELK Stack是软件集合Elasticsearch、Logstash、Kibana的简称,由这三个软件及其相关的组件可以打造大规模日志实时处理系统。
ElasticSearch:是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
Logstash:是一款强大的数据处理工具,它可以实现数据传输,格式处理,格式化输出,还有强大的插件功能,常用于日志处理。
Kibana:是一个可视化工具,主要负责查询 Elasticsearch 的数据并以可视化的方式展现给业务方,比如各类饼图、直方图、区域图等。
关于Elasticsearch的版本,我是从5.x版本开始学起的,听说之前的版本跳跃2.x--->5.x,貌似变化还挺大的。关于head插件在5.x之后变成独立服务了。
关于ES集群的安装配置以及head插件的安装参考:http://blog.csdn.net/chenxun_2010/article/details/78437852
logstash最佳实践:https://doc.yonyoucloud.com/doc/logstash-best-practice-cn/get_start/hello_world.html
Logstash使用:
https://www.elastic.co/guide/en/logstash/current/pipeline.html
Logstash 工作的三个阶段: input、filter、output
安装logstash: 其安装非常简单,只需要下载安装包解压开箱即用。 只要写配置文件即可。
启动方式:
./bin/logstash -f your_config.file
配置文件的写法格式:参考http://blog.csdn.net/chenxun_2010/article/details/78605934
input { file { path => ["/home/elk_test/logstash-5.6.3/logfile"] codec => json { charset => "UTF-8" } }}output { stdout { codec => rubydebug } elasticsearch { hosts => "192.168.0.153:9200" }}
Kibana的安装也非常简单,下载安装包解压修改一下配置文件就可以:
server.host: "192.168.2.181"#elasticsearch.username: "elastic"#elasticsearch.password: "changeme"elasticsearch.url: "http://192.168.2.181:9200"kibana.index: ".kibana"
Filebeat:的使用
filebeat:部署在具体的业务机器上,通过定时监控的方式获取增量的日志,并转发到logstash、elasticsearch、kafka等等。
配置vim filebeat.yml
#=========================== Filebeat prospectors =============================filebeat.prospectors:# Each - is a prospector. Most options can be set at the prospector level, so# you can use different prospectors for various configurations.# Below are the prospector specific configurations.- input_type: log # Paths that should be crawled and fetched. Glob based paths. paths: - /home/elk/logfile #- c:\programdata\elasticsearch\logs\*
输出到logstash:
#----------------------------- Logstash output --------------------------------output.logstash: # The Logstash hosts hosts: ["192.168.2.181:5044"]
logstash的配置
input { beats { host => "192.168.2.181" port => 5044 codec => json}}output { stdout { codec => rubydebug } elasticsearch { hosts => "192.168.2.181:9200" }}
启动filebeat:
./filebeat
启动logstash:
./bin/logstash -f beat.config
把准备好的json数据输入到filebeat监控的文件中去:
{ "firstName": "1", "lastName":"McLaughlin", "email": "aaaa" }{ "firstName": "2", "lastName":"Hunter", "email": "bbbb"}{ "firstName": "3", "lastName":"Harold", "email": "cccc" }
在logstash端我们看到输出:成功解析json字段
{ "firstName" => "1", "lastName" => "McLaughlin", "@timestamp" => 2017-12-01T08:38:37.480Z, "offset" => 63, "@version" => "1", "beat" => { "name" => "Ubuntu-20170424", "hostname" => "Ubuntu-20170424", "version" => "5.6.3" }, "input_type" => "log", "host" => "Ubuntu-20170424", "source" => "/home/elk/filebeat-5.6.3-linux-x86_64/request", "type" => "log", "email" => "aaaa", "tags" => [ [0] "beats_input_codec_json_applied" ]}{ "firstName" => "2", "lastName" => "Hunter", "@timestamp" => 2017-12-01T08:39:02.482Z, "offset" => 121, "@version" => "1", "beat" => { "name" => "Ubuntu-20170424", "hostname" => "Ubuntu-20170424", "version" => "5.6.3" }, "input_type" => "log", "host" => "Ubuntu-20170424", "source" => "/home/elk/filebeat-5.6.3-linux-x86_64/request", "type" => "log", "email" => "bbbb", "tags" => [ [0] "beats_input_codec_json_applied" ]}{ "firstName" => "3", "lastName" => "Harold", "@timestamp" => 2017-12-01T08:39:02.482Z, "offset" => 180, "@version" => "1", "beat" => { "name" => "Ubuntu-20170424", "hostname" => "Ubuntu-20170424", "version" => "5.6.3" }, "input_type" => "log", "host" => "Ubuntu-20170424", "source" => "/home/elk/filebeat-5.6.3-linux-x86_64/request", "type" => "log", "email" => "cccc", "tags" => [ [0] "beats_input_codec_json_applied" ]}
在head插件管理页面看到数据:
- Elasticsearch、Logstash、Kibana、Filebeat的使用总结
- ELKF(Elasticsearch+Logstash+ Kibana+ Filebeat) 部署
- Elasticsearch&logstash&filebeat&kibana&x-pack搭建
- CENTOS7 ELK 5.3.2 elasticsearch logstash kibana filebeat
- Elasticsearch、logstash、Kibana的部署文档
- ELK (Elasticsearch+Logstash+Kibana) 的安装
- elasticsearch+logstash+kibana 初探
- Elasticsearch+Logstash+Kibana配置
- elasticsearch+logstash+kibana+marvel
- 搭建elasticsearch+logstash+kibana
- ELK-ElasticSearch+Logstash+Kibana
- Filebeat+Logstash+Elasticsearch抓取日志
- 使用logstash+elasticsearch+kibana快速搭建日志平台
- 使用logstash+elasticsearch+kibana快速搭建日志平台
- 使用logstash+elasticsearch+kibana快速搭建日志平台
- 使用logstash+elasticsearch+kibana快速搭建日志平台
- 使用ElasticSearch+LogStash+Kibana+Redis搭建日志管理服务
- 使用logstash+elasticsearch+kibana快速搭建日志平台
- post发送请求
- 理解spring中AutoWire,Reource,以及Service等注解
- python3 多继承和MRO顺序
- OWL文件和protege的关系(加深理解版)
- 微信开放平台修改微信分享的小图标后,移动端显示的分享的小图标未改变的问题解决
- Elasticsearch、Logstash、Kibana、Filebeat的使用总结
- Broadcasts详解
- 线程和Service区别
- iOS出现NSString* class_name = ***之类的错误的解决方法
- android面试总结1
- JS——作用域链(1)
- HTTP协议状态码详解(HTTP Status Code)
- android studio 生成jar包和aar包
- 在Spring MVC中使用工具类调用Service层时,Service类为null如何解决