ELK学习总结——我们为什么要用ELK

article/2025/11/3 23:18:14

一. ELK是什么?

ELK 是elastic公司提供的一套完整的日志收集以及展示的解决方案,是三个产品的首字母缩写,分别是ElasticSearch、Logstash 和 Kibana。

ElasticSearch简称ES,它是一个实时的分布式搜索和分析引擎,它可以用于全文搜索,结构化搜索以及分析。它是一个建立在全文搜索引擎 Apache Lucene 基础上的搜索引擎,使用 Java 语言编写。
Logstash是一个具有实时传输能力的数据收集引擎,用来进行数据收集(如:读取文本文件)、解析,并将数据发送给ES。
Kibana为 Elasticsearch 提供了分析和可视化的 Web 平台。它可以在 Elasticsearch 的索引中查找,交互数据,并生成各种维度表格、图形。


二:ELK的用途

传统意义上,ELK是作为替代Splunk的一个开源解决方案。Splunk 是日志分析领域的领导者。日志分析并不仅仅包括系统产生的错误日志,异常,也包括业务逻辑,或者任何文本类的分析。而基于日志的分析,能够在其上产生非常多的解决方案,譬如:

1.问题排查。我们常说,运维和开发这一辈子无非就是和问题在战斗,所以这个说起来很朴实的四个字,其实是沉甸甸的。很多公司其实不缺钱,就要稳定,而要稳定,就要运维和开发能够快速的定位问题,甚至防微杜渐,把问题杀死在摇篮里。日志分析技术显然问题排查的基石。基于日志做问题排查,还有一个很帅的技术,叫全链路追踪,比如阿里的eagleeye 或者Google的dapper,也算是日志分析技术里的一种。
2.监控和预警。 日志,监控,预警是相辅相成的。基于日志的监控,预警使得运维有自己的机械战队,大大节省人力以及延长运维的寿命。
3.关联事件。多个数据源产生的日志进行联动分析,通过某种分析算法,就能够解决生活中各个问题。比如金融里的风险欺诈等。这个可以可以应用到无数领域了,取决于你的想象力。
4.数据分析。 这个对于数据分析师,还有算法工程师都是有所裨益的。

三:ELK火热的原因?

ELK之前,有没有类似解决方案呢?

某大神说是有的,当时应该是基于 Sphinx + Google char的。 Sphinx 对应ES, Google char 对应 Kibana。

那为啥当时它没有火而现在的ELK火了呢?一种比较玄幻的解释是

事实上开源界永远有多种选择,比如基于java的lucene的es,也有基于c的lucy的dezi。但是谁火谁不火,真的是一个很玄妙的事情。

我觉得原因有很多方面,一个简单而较为核心的因数是时机,所谓时势造英雄是也。当然,任何一件事情不可能是一个因子引起的,或者我们说时机是一个较为宽泛抽象的因子。

下面我从多个因素去阐述为什么ELK突然蓬勃发展?

1,数据(日志)的日益增多:

早年能够产生足够数据的就那么一些站点,而现在一个初创的企业可能都需要面临海量用户/海量请求/海量分析的压力,其中产生的日志自然也是非常可观,而随着业务越来越复杂,微服务重新得到重视,无论系统日志,还是业务日志都更进一步了。运维或者开发们发现,我要从这么大规模的系统中(几百个上千个服务)产生的这么多日志(千亿规模),去排查问题,简直是没有可能了。以前有这么大数据量的公司,都是有实力的公司,他们可能有内部专用的系统去处理。然而现在突然成为了一个普遍需求,这个时候ELK顺势而上,也就水到渠成

2,开源:

开源现在已经融入到IT社区的血液里。虽然我们说商业,自研,还有开源三者之间是相辅相成,相濡以沫或者偶尔会相爱相杀,但是如果有开源可以选择,显然大部分开发或者运维还是首选开源的。有位大牛说的好:
ELK其开源属性,显然是比Splunk 略胜一筹的。

3,行业属性:

有些行业对日志的依赖是非常大的,比如 CDN 日志除了能排查错误,对其分析还能对CDN调度等很多方面产生影响,这些都是实打实的经济效益。

4,运维自身发展:

运维本身也在发展,不可能一直在刀耕火种的年代。而日志对于运维来说,应该算是命根子了。对一个成体系的,标准化的日志分析方案的需求,也是历史发展的必然。ELK在恰当的时候产生,运维接受他就是自然而然的了。

5,ELK自身属性问题:

引用一位大神的说法:

ELK能解决的核心问题,覆盖面也广,标准化,易扩展集成,开发和运维都对其感冒

ELK 本身非常易用,现在也有一个非常好的社区,加上需求如此之大,不火都不行。

6,大数据导致机器开始变得廉价:

大数据的一个很好的副作用是让机器在某种意义上变得廉价了。少则几十上百台,多则上万甚至几十万台。服务器数量的急速攀升促进了很多技术的发展,典型的比如现在火的不要不要的深度学习。这就意味着,拿出几十台,上百台服务器做日志分析,一点问题也没有,集中式的日志分析慢慢成为主流。而ELK也是一个典型的集中式日志分析方案。

7,写入时计算->查询时计算:

所谓写入时计算是指将数据经过较为复杂的处理,聚合,得到的结果直接面向查询。 写入时计算规则由查询需求决定。随着存储格式的不断进步,譬如列式存储等的普及,以及强大的计算资源(一个ES集群动则上百台),使得直接存储原汁原味的数据,然后查询的时候做各种计算变得可能。而ELK已经提供较为强大的查询功能。总体而言,写入时计算的大方向是往查询时计算转化。查询时计算最大的优势是支持任意查询,不丢失信息。
 

 


http://chatgpt.dhexx.cn/article/IGcvWdK2.shtml

相关文章

1、ELK介绍

一、ELK简介 ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集…

ELK超详细配置

文章目录 一、ELK日志分析系统简介1.1、ELK日志分析系统组成1.2、日志处理步骤二、3款软件各自概念2.1、Elasticsearch介绍2.2、Logstash介绍2.3、Kibana介绍三、ELK日志分析系统部署3.1、实验环境及准备3.2、实验步骤3.2.1、elk-1和elk-2中部署Elasticsearch3.2.2、apache主机…

ELK入门——ELK详细介绍(ELK概念和特点、Elasticsearch/Logstash/beats/kibana安装及使用介绍、插件介绍)

目录 主要参考链接 一、什么是ELK(端口9200) 主要特点: 1.存储:面向文档JSON 2.检索:倒排乐观锁 3.分析:监控预警可视化 4.支持集群 二、Logstash(端口5044) 三、Beats 四…

ELK 是什么?

前言 本文隶属于专栏《1000个问题搞定大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和文献引用请见1000个问题搞定大数据技术体系 正文 ELK ELK是三个软…

【ElasticSearch】ELK简介

本文目录 一、什么是ELK? 二、ELK简介 2.1 E -- ElasticSearch 2.2 L -- Logstash 2.3 K -- Kibana 三、ELK优点 一、什么是ELK? ELK 是 Elasticsearch、Logstash、Kibana 三大开源框架的首字母大写简称。市面上也被称为Elastic Stack。其中 Elas…

ELK详解(一)——ELK基本原理

今天继续给大家介绍Linux运维相关知识,本文主要内容是ELK的基本原理。 一、ELK简介 ELK是三个软件的统称,即Elasticsearch、Logstash和Kibana三个开源软件的缩写。这三款软件都是开源软件,通常配合使用,并且都先后归于Elastic.c…

ELK介绍

文章目录 1.ELK简介2.ELK架构图3.Filebeat工作原理4.Logstash工作原理 1.ELK简介 ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent)&a…

ELK整理

ELK 一、ELK介绍二、 Elasticsearch的安装部署1、依赖于java,所以首先安装java环境-jdk2、 Elasticsearch的安装3、Elasticsearch-head插件的安装4、插入,查询,更新和删除数据 三、集群的搭建1、将三个节点搭建成功2、故障转移 四、kibana的安装以及使用…

ELK搜索高级

ELK搜索高级 1. 简介 ​ ELK是包含但不限于Elasticsearch(简称es)、Logstash、Kibana 三个开源软件的组成的一个整体,分别取其首字母组成ELK。ELK是用于数据抽取(Logstash)、搜索分析(Elastic…

ELK初学者

一般我们需要进行日志分析场景:直接在日志文件中 grep、awk 就可以获得自己想要的信息。但在规模较大的场景中,此方法效率低下,面临问题包括日志量太大如何归档、文本搜索太慢怎么办、如何多维度查询。需要集中化的日志管理,所有服…

部署ELK+Kafka+Filebeat日志收集分析系统

ELKKafkaFilebeat日志系统 文章目录 ELKKafkaFilebeat日志系统1.环境规划2.部署elasticsearch集群2.1.配置es-1节点2.2.配置es-2节点2.3.配置es-3节点2.4.使用es-head插件查看集群状态 3.部署kibana4.部署zookeeper4.1.配置zookeeper-1节点4.2.配置zookeeper-2节点4.3.配置zook…

什么是ELK(小白简单快速的认识什么是ELK)

Elastic Stack 写在前面:刚接触elk,总是有点懵懵懂懂,我一向是比较习惯在使用过后更好更快的了解这个东西是做什么的,但这个elk是真的有点恶心到我了,那就是对于初期的模拟应用对小白太太太不友好了,所以在…

elk(Elasticsearch、Kibana、Logstash )有这篇就够了,超级详细,包教会

目录 1. elk介绍 2. elk安装(windows版) 3. elk安装(linux版) 4. 收集springboot项目日志(windows版) 5. 收集springboot项目日志(linux版) 6. elk 补充(后台运行&…

linux中找不到vim命令

1.首先查看vim 安装包,如下图 rpm -qa | grep vim 2.下载vim(需要连接网络) yum install -y vim* 3.安装成功后查看 rpm -qa | grep vim

vim命令模式指令一览

提示:本文介绍了linux下vim中的快捷指令。 文章目录 注意:本文所有指令都只在命令行模式下有效!!! vim指令图: 指令解析命令解析h光标向左移动j光标向下移动k光标向上移动l光标向下移动yy/nyy复制当前行/…

Linux中vim命令详解

vim 是linux中最基本的操作 vim常用模式 1、命令模式 2、插入模式 3、底行模式 4、可视化模式,命令模式按v进入 5、替换模式,命令模式下按r进入 1、插入模式 默认进入文件打开的是命令模式 在这个模式下是不能插入字符的 按“i”键,然后就进入到插入模式了,屏幕下…

vi/vim命令

四种模式 在日常的使用中,Linux并没有像Windows一样很方便的可视化界面,通常需要记很多的命令,复杂难记,今天我以不同模式的方式跟大家梳理哪些命令在哪种模式下使用,方便记忆。 vi/vim共分为四种模式,命…

Linux安装vim命令

最近在Linux上使用vim编辑器编写shell脚本的时候,遇到了这样一个问题,如下: -bash: vim: command not found 这是因为vim命令没有安装,于是我从网上搜索了很多关于安装vim命令的教程,不过大都比较繁琐,如今…

Ubuntu-vim 命令

Vim 基本上Vim 共分为三种模式,分别是 命令模式(Command mode)输入模式(Insert mode)底线命令模式(Last line mode) 先通过一个简单的关系图 来看一下这三个模式 的工作关系 命令模式&…

超详Linux之vim命令大全

打开Linux终端&#xff0c;开始创建第一个文件&#xff0c;回车进入vim编辑器&#xff08;命令模式&#xff09; [usermaster ~]$ vim textvim编辑器的三种模式转换 插入模式<>命令模式<>末行模式 命令模式 > 插入模式 按insert键或i键、a键、o键、s键等…