ELK日志分析平台
ELK关系:
ELK分别是:Elasticsearch Logstash Kibana
Logstash收集日志存储到Elasticsearch再通过Kibana展示.
Elasticsearch
开源分布式搜索引擎,提供搜索,分析,存储数据三大功能;
主要负责将Logstash收集的日志数据索引并存储;
特点:分布式,零配置,自动发现,索引自动分片,索引副本机制,多数据源,自动搜索等;
数据以JSON文档的格式存储索引,不需要预先规定范式。
Logstash
主要负责日志的搜集,分析和过滤;
工作方式:C/S架构
工作流程:
client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作,然后再发送到Elasticsearch
Kibana
为 Logstash 和ElasticSearch 提供日志分析的 Web 界面;
ELK优点:
处理方式灵活
配置相对简单
检索性能高效
集群线性扩展
前端操作绚丽
ELK常见架构体系
Elasticsearch + Logstash + Kibana
工作流程:
Logstash搜集日志并进行过滤,分析日志数据——Elasticsearch存储数据——Kibana生成报表进行展示
具体流程:
将Logstash分布于各个节点上搜集相关日志、数据,并经过分析、过滤后发送给远端服务器上的Elasticsearch进行存储。
Elasticsearch将数据以分片的形式压缩存储并提供多种API供用户查询,操作。
Kibana根据Elasticsearch数据生成报表,通过Kibana web界面展示
Elasticsearch + Logstash + filebeat + Kibana
工作流程:
filebeat采集日志——Logstash过滤,分析日志数据——Elasticsearch存储数据——Kibana生成报表进行展示
具体流程:
通过filebeat代理收集日志,再将日志数据输出到Logstash;
Logstash对数据进行过滤,分析并发送到Elasticsearch进行存储
Kibana对Elasticsearch存储的数据进行可视化分析生成报表,通过Kibana web界面展示
Elasticsearch + Logstash + filebeat + kafka+ Kibana
工作流程:
filebeat采集日志——kafka缓存日志数据——Logstash过滤,分析日志数据——Elasticsearch存储数据——Kibana生成报表进行展示
具体流程:
filebeat采集日志,再将日志数据传递给消息队列kafka;
kafka缓存日志数据,防止日志丢失
Logstash从消息队列kafka拿取日志数据进行过滤,分析并将数据发送到Elasticsearch进行存储
Kibana对Elasticsearch存储的数据进行可视化分析生成报表,通过Kibana web界面展示