ELK是什么(What)?
ELK组件介绍
ELK 是ElasticSearch开源生态中提供的一套完整日志收集、分析以及展示的解决方案,是三个产品的首字母缩写,分别是ElasticSearch、Logstash 和 Kibana。除此之外,FileBeat也是目前使用较多的日志收集软件,相对于Logstash更加轻量级占用资源更少。
ElasticSearch ,它是一个近实时(NRT)的分布式搜索和分析引擎,它可以用于全文搜索,结构化搜索以及分析。它是一个建立在全文搜索引擎 Apache Lucene 基础上的搜索引擎,使用 Java 语言编写。
Logstash ,它是一个具有近实时(NRT)传输能力的数据收集、过滤、分析引擎,用来进行数据收集、解析、过滤,并最终将数据发送给ES。
Kibana ,它是一个为 ElasticSearch 提供分析和展示的可视化 Web 平台。它可以在 ElasticSearch 的索引中查找,交互数据,并生成各种维度表格、图形以及仪表盘。
为什么学习ELK?
虚拟机还要一个个去看日志,而ELK可以直接看多个虚拟机的日志
学习ELK(Elasticsearch, Logstash, Kibana)的原因还有几个重要的方面:
-
日志管理和分析:ELK被广泛用于日志管理和分析领域。它能够收集、存储和分析大量的日志数据,帮助用户理解系统和应用程序的运行情况。
-
实时数据处理:ELK能够处理实时数据,支持快速搜索、分析和可视化,帮助用户及时发现和解决问题。
-
可扩展性和灵活性:Elasticsearch作为核心组件,具有强大的横向扩展能力和灵活的搜索和分析功能,适用于多种数据处理需求。
-
开源和活跃的社区支持:ELK是开源的,有庞大而活跃的社区支持,用户可以从社区中获得各种问题的解答、新功能的探索和技术支持。
-
适用于多种场景:不论是运维监控、安全分析、业务分析还是用户行为分析,ELK都可以根据需要进行配置和定制,满足不同场景下的数据处理需求。
总之,学习ELK可以帮助你掌握先进的日志管理和实时数据分析技术,提高系统监控和故障排查的效率,以及在业务分析和决策支持方面发挥重要作用。
构架
kafka介绍
Kafka简介
Kafka是Linkedin于2010年12月份创建的开源消息系统,它主要用于处理活跃的流式数据。活跃的流式数据在web网站应用中非常常见,这些活动数据包括页面访问量(Page View)、被查看内容方面的信息以及搜索情况等内容。 这些数据通常以日志的形式记录下来,然后每隔一段时间进行一次统计分析。
传统的日志分析系统是一种离线处理日志信息的方式,但若要进行实时处理,通常会有较大延迟。而现有的消息队列系统能够很好的处理实时或者近似实时的应用,但未处理的数据通常不会写到磁盘上,这对于Hadoop之类,间隔时间较长的离线应用而言,在数据安全上会出现问题。Kafka正是为了解决以上问题而设计的,它能够很好地进行离线和在线应用。
优点
为什么你要使用这么强大的分布式消息中间件——kafka
1、实时性
2、有些数据,存储数据库浪费,直接存储硬盘效率又低
3、高性能的消息发送与高性能的消息消费
zookeeper介绍
优点
kafka集群搭建
Ip server broker.id
192.168.199.132 kafka+zookeeper 1
192.168.199.133 kafka+zookeeper 2
192.168.199.135 kafka+zookeeper 3
132配置如下
133配置 第一行broker.id=2 第二行改成自己Ip
135配置 第一行broker.id=3 第二行改成自己Ip
启动服务
查看日志
验证操作
如下图
在zookeeper中查看
132运行生产者,输入消息到服务器
133运行消费者,消费消息
ELK+Filebeat+kafka+zookeeper构建海量日志分析平台
在实际应用场景中,为了满足大数据实时检索的需求,您可以使用Filebeat采集日志数据,并输出到Kafka中。Kafka实时接收Filebeat采集的数据,并输出到Logstash中。输出到Logstash中的数据在格式或内容上可能不能满足您的需求,此时可以通过Logstash的filter插件过滤数据。最后将满足需求的数据输出到Elasticsearch中进行分布式检索,并通过Kibana进行数据分析与展示。简单流程如下。