暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

ELK-7.6.1搭建如此简单

臭虫说 2021-04-27
379

  • ELK简介


    ELK 是 Elasticsearch、Logstash、Kibana 组合的简称,由这三个软件及其相关的组件可以打造大规模日志实时处理系统。

Elasticsearch

    是一个基于 Lucene 的、支持全文索引的分布式存储和索引引擎,主要负责将日志索引并存储起来,方便业务方检索查询。


Logstash

    是一个日志收集、过滤、转发的中间件,主要负责将各条业务线的各类日志统一收集、过滤后,转发给 Elasticsearch 进行下一步处理。


Kibana

    是一个可视化工具,主要负责查询 Elasticsearch 的数据并以可视化的方式展现给业务方,比如各类饼图、直方图、区域图等。


为什么用到ELK:

    一般大型系统是一个分布式部署的架构,不同的服务模块部署在不同的服务器上,问题出现时,大部分情况需要根据问题暴露的关键信息,定位到具体的服务器和服务模块,构建一套集中式日志系统,可以提高定位问题的效率。

一个完整的集中式日志系统,需要包含以下几个主要特点:

  • 收集-能够采集多种来源的日志数据

  • 传输-能够稳定的把日志数据传输到中央系统

  • 存储-如何存储日志数据

  • 分析-可以支持 UI 分析

  • 警告-能够提供错误报告,监控机制

    ELK提供了一整套解决方案,并且都是开源软件,之间互相配合使用,完美衔接,高效的满足了很多场合的应用。目前主流的一种日志系统。


ELK架构图一

    此架构由Logstash分布于各个节点上搜集相关日志、数据,并经过分析、过滤后发送给远端服务器上的Elasticsearch进行存储。Elasticsearch将数据以分片的形式压缩存储并提供多种API供用户查询操作。用户亦可以更直观的通过配置Kibana Web方便的对日志查询,并根据数据生成报表。

    这是最简单的一种ELK架构方式。优点是搭建简单,易于上手。缺点是Logstash耗资源较大,运行占用CPU和内存高。另外存在数据丢失隐患。

    ELK架构图二

    这种架构引入了消息队列机制,位于各个节点上的Logstash先将经过处理后的数据传递给Kafka(或者其他中间件),并将队列中消息或数据间接的传递给Logstash,Logstash过滤、分析后 将数据传递给Elasticsearch存储。最后由Kibana将日志和数据呈现给用户。引入了中间件的好处是:即使远端Logstash server因故障停止运行,数据将会先被存储到中间件中,从而避免数据丢失。


文章转载自臭虫说,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论