关于ELK
在学习ELK前,我们需要思考:
ELK是什么?
elk是一种能够从任意数据源抽取数据,并实时对数据进行搜索、分析和可视化展现的数据分析框架。为什么要用elk?
通常日志被分散的储存不同的设备上。如果你管理数十上百台服务器,使用依次登录每台机器的传统方法查阅日志。这样将使工作很繁琐和效率低下。这时我们需要使用集中化的日志管理。例如使用开源的syslog ,将所有服务器上的日志收集汇总。再通过grep、awk和 wc 等 Linux 命令能实现检索和统计,但对于要求更高的查询、排序和统计等要求和庞大的机器数量依然使用这样的方法难免有点力不从心。而ELK能够完美的解决我们上述的问题, ELK 由 ElasticSearch 、Logstash 和 Kiabana 三个开源工具组成。当然现在抓取日志有更好的选择,那就是filebeat。当然我们还需要用到kafka做消息队列。
一般来说,ELK采用下面的架构:
Filebeat:轻量级数据收集引擎。基于原先 Logstash-fowarder 的源码改造出来。换句话说:Filebeat就是新版的 Logstash-fowarder,也会是 ELK Stack 在 Agent 的第一选择。
Kafka: 数据缓冲队列。作为消息队列解耦了处理过程,同时提高了可扩展性。具有峰值处理能力,使用消息队列能够使关键组件顶住突发的访问压力,而不会因为突发的超负荷的请求而完全崩溃。
Logstash :数据收集处理引擎。支持动态的从各种数据源搜集数据,并对数据进行过滤、分析、丰富、统一格式等操作,然后存储以供后续使用。
Elasticsearch :分布式搜索引擎。具有高可伸缩、高可靠、易管理等特点。可以用于全文检索、结构化检索和分析,并能将这三者结合起来。Elasticsearch 基于 Lucene 开发,现在使用最广的开源搜索引擎之一,Wikipedia 、StackOverflow、Github 等都基于它来构建自己的搜索引擎。
Kibana :可视化化平台。它能够搜索、展示存储在 Elasticsearch 中索引数据。使用它可以很方便的用图表、表格、地图展示和分析数据。
本版块维护人员
版主:子木
QQ:1242119478
交流Q群:526749756