当前位置: 首页 > news >正文

ELK架构介绍

一、ELK简介

ELK 是由三个开源软件组成的,分别是:Elasticsearch、Logstash和Kibana,这三个软件各自在日志管理和数据分析领域发挥着重要作用。Elasticsearch提供分布式存储和搜索能力;Logstash负责数据收集和处理,而Kibana则提供数据可视化和分析界面。他们共同构成了一个完整的日志管理解决方案,帮助企业高效利用日志数据进行监控、分析和安全审计。

1.Elasticsearch

1.1 概述

Elasticsearch是一个分布式、高扩展、高实时的搜索与数据分析引擎。它给予Luncene开发,通过RESTful web接口提供全文搜索和分析功能。

1.2 功能

Elasticsearch能够高效地存储和索引各种类型的数据,包括结构化、非结构化文本、数字数据和地理空间数据。它支持快速搜索和实时分析,并随着数据和查询凉的增长无缝扩展。

1.3 应用场景

Elasticsearch广泛应用于搜索引擎、日志分析、业务监控、安全审计等多个领域。

2.Logstash

2.1 概述

Logstash是一个开源的服务器端数据处理管理,用于动态地收集、转换和传输数据。

2.2 功能

Logstash能够从多个数据源同事获取数据,对数据进行实时解析和转换,并将其发送到Elasticsearch等目的地。它支持各种输入和输出插件,可以灵活地进行数据迁移和转换。

2.3 应用场景

Logstash适用于日志收集、处理和分析场景,能够将不同来源的日志数据整合起来,为后续的搜索和分析提供便利。

3.Kibana

3.1 概述

Kibana是一个开源的数据分析和可视化平台,是Elastic Stack的一部分。

3.2 功能

Kibana提供丰富的数据可视化选项,如柱状图、线图、饼图、地图等,帮助用户以图形化的方式理解数据,此外,他还支持强大的数据探索功能,用户可以使用Elasticsearch的查询语言进行数据查询和筛选。

3.3 应用场景

Kibana广泛应用于日志分析、业务监控、数据可视化等领域,帮助用户直观地了解系统的运行状况和潜在问题。

二、为什么会用到ELK

ELK(Elasticsearch、Logstash、Kibana)的广泛应用并非偶然,而是源于其在处理大规模日志数据、实现高效数据分析和监控方面的卓越能力。在当今数字化时代,企业面临着前所未有的数据量增长和复杂度提升,如何有效地收集、处理、分析和利用这些数据,成为了企业实现智能化运营和决策的关键。ELK作为一种成熟的日志管理和数据分析解决方案,正是为了解决这些挑战而应运而生。

  • 应对海量日志数据的挑战
    随着企业业务的扩展和IT基础设施的复杂化,系统产生的日志数据量呈爆炸式增长。传统的日志管理工具往往难以应对如此庞大的数据量,导致日志数据的收集、存储和分析变得异常困难。ELK通过其分布式架构和高效地数据处理能力,能够轻松应对海量日志数据的挑战。Elasticsearch的分布式存储和搜索能力确保了数据的可扩展性和实时性,Logstash的灵活数据收集和处理能力则保证了数据的准确性和完整性,而Kibana的可视化界面则为用户提供了直观地数据分析视角。
  • 实时监控与快速响应
    在快速发展的商业环境中,实时监控和快速响应是企业保持竞争力的关键。ELK通过提供实时的日志数据分析和监控功能,帮助企业及时发现并解决潜在问题。例如,当系统出现异常或性能瓶颈时,ELK可以快速定位问题源,并提供详细的数据分析报告,帮助运维人员迅速响应并采取措施。这种实时监控和快速相应的能力,对于保障企业业务的连续性和稳定性具有重要意义。
  • 深度数据分析和洞察
    除了基本的日志收集和监控功能外,ELK还提供了强大的数据分析和洞察能力。Elasticsearch的复杂查询和聚合功能,使用户可以从还来那个日志数据中提取出有价值的信息,如用户行为模式、系统性能趋势等。Kibana的可视化界面则讲这些分析结果以直观地图表形式展示出来,帮助用户更好地理解数据背后的含义。通过深度数据分析和洞察,企业可以更加精准地制定市场策略、优化产品功能、提升用户体验等。
  • 灵活性和可扩展性
    ELK的灵活性和可扩展性也是其广受欢迎的重要原因之一。Elasticsearch、Logstash和Kibana都是开源软件,拥有庞大的社区支持和丰富的插件生态。用户可以根据自己的需求选择合适的插件进行扩展和定制,以满足不同场景下的日志管理和数据分析需求。同时,ELK的分布式架构也确保了系统的高可用性和扩展性,随着业务的发展和数据量的增长,用户可以轻松地对系统进行扩展和升级。
  • 安全性和合规性
    在数据安全和隐私保护日益受到重视的今天,ELK也提供了相应的解决方案。通过配置适当的安全策略和权限管理,企业可以确保日志数据的安全性和隐私性。同时,ELK还支持多种数据格式和协议,使得企业可以轻松地将日志数据集成到现有的安全审计和合规性流程中。这种安全性和合规性的支持,使得ELK成为了许多企业首选的日志管理和数据分析解决方案。

ELK之所以会被广泛应用到各个领域,是因为它在处理大规模日志数据、实现高效数据分析和监控、提供深度数据洞察、确保灵活性和可扩展性以及保障安全性和合规性等方面展现出了卓越的能力。随着技术的不断发展和应用的深入,ELK将继续在日志管理和数据分析领域发挥重要作用,为企业的数字化转型和智能化发展提供有力支持。

三、ELK架构图:

架构图一:

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

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

架构图二:

此种架构引入了消息队列机制,位于各个节点上的Logstash Agent先将数据/日志传递给Kafka(或者Redis),并将队列中消息或数据间接传递给Logstash,Logstash过滤、分析后将数据传递给Elasticsearch存储。最后由Kibana将日志和数据呈现给用户。因为引入了Kafka(或者Redis),所以即使远端Logstash server因故障停止运行,数据将会先被存储下来,从而避免数据丢失。

架构图三:

此种架构将收集端logstash替换为beats,更灵活,消耗资源更少,扩展性更强。同时可配置Logstash 和Elasticsearch 集群用于支持大集群系统的运维日志数据监控和查询。

 

相关文章:

ELK架构介绍

一、ELK简介 ELK 是由三个开源软件组成的,分别是:Elasticsearch、Logstash和Kibana,这三个软件各自在日志管理和数据分析领域发挥着重要作用。Elasticsearch提供分布式存储和搜索能力;Logstash负责数据收集和处理,而K…...

Vscode下ESP32工程函数定义无法跳转

1.删除.vscode 2.按下 ctrlshiftp,搜索 ESP-IDF:Add vscode Configuration Folder...

liquibase.exception.LockException: Could not acquire change log lock.

项目场景: 启动应用花了好长时间,最后报出异常. 问题描述 启动应用花了好长时间,最后报出异常. 异常: Caused by: liquibase.exception.LockException: Could not acquire change log lock. Currently locked by LAPTOP-OQ9VB…...

【多线程-从零开始-捌】阻塞队列,消费者生产者模型

什么是阻塞队列 阻塞队里是在普通的队列(先进先出队列)基础上,做出了扩充 线程安全 标准库中原有的队列 Queue 和其子类,默认都是线程不安全的 具有阻塞特性 如果队列为空,进行出队列操作,此时就会出现阻…...

数据结构——栈(Stack)

目录 前言 一、栈的概念 1、栈的基本定义 2、栈的特性 二、栈的基本操作 1.相关操作概念 2.实现方式 (1)顺序栈 (2)链式栈 三、栈的应用 总结 前言 栈(Stack)是一种常见且重要的数据结构,它遵循…...

修改pom.xml为阿里云仓库并且让他生效

一、项目pom.xml添加 <repositories><repository><id>aliyun-central</id><name>Aliyun Maven Central</name><url>https://maven.aliyun.com/repository/central</url></repository><repository><id>aliyu…...

step13:qml/qt程序打包

文章目录 0.文章介绍1.软件发布2.准备打包软件3.双击开始运行打包软件4.点击安装5.参考连接 0.文章介绍 1.软件发布 打包之前需要先发布&#xff0c;参考教程连接 2.准备打包软件 官方下载地址&#xff1a;http://www.jrsoftware.org/isdl.php#stable 下载之后一路点击下一…...

招聘求职小程序

本文来自&#xff1a;ThinkPHPFastAdmin招聘求职小程序 - 源码1688 应用介绍 一款基于ThinkPHPFastAdmin开发的原生微信小程序招聘管理系统。 前端小程序演示&#xff1a; 后台管理网址&#xff1a; https://fastadmin.site100.cn/PbfhegDBAJ.php/index/login 网盘链接&#x…...

10分钟学会docker安装与使用

文章目录 1、docker简介2、docker的基本组成3、docker的安装与配置4、docker的常用命令 1、docker简介 什么是容器&#xff1f; 它是一种虚拟化的方案&#xff0c;是操作系统级别的虚拟化&#xff0c;只能运行相同或相似内核的操作系统&#xff0c;依赖于Linux内核特性&#x…...

vue3、uniapp-vue3模块自动导入

没有使用插件 使用插件,模块自动导入 安装: npm i -D unplugin-auto-importvite.config.js (uniapp没有此文件,在项目根目录下创建) import { defineConfig } from "vite"; import uni from "dcloudio/vite-plugin-uni"; import AutoImport from &qu…...

Ubantu设置国内镜像(阿里云、华为云)

1. 确定系统版本 国内有很多 Ubuntu 的镜像源&#xff0c;包括阿里的、网易的&#xff0c;还有很多教育网的源&#xff0c;比如&#xff1a;清华源、中科大源等。 不同的 ubantu 版本对应的镜像源有所不同&#xff0c;所以需要先查看系统的版本号&#xff1a; lsb_release -a…...

Redis远程字典服务器(3)——常用数据结构和单线程模型

目录 一&#xff0c;常用数据结构 1.0 前言 1.1 string 1.2 hash 1.3 list 1.4 set 1.5 zset 1.6 演示 二&#xff0c;关于单线程模型 2.1 关于Redis的单线程 2.2 Redis为什么快 一&#xff0c;常用数据结构 1.0 前言 Redis是采用键值对的方式来存储数据的&#…...

[Qt][按钮类控件]详细讲解

目录 0.按钮状态说明1.Push Button2.Radio Button3.Check Box4.Tool Button 0.按钮状态说明 clicked&#xff1a;⼀次 ⿏标按下⿏标释放 触发pressed&#xff1a;鼠标按下时触发released&#xff1a;鼠标释放时触发toggled&#xff1a;checked属性改变时触发 1.Push Button QP…...

数据结构(5.5_2)——并查集

逻辑结构——数据元素之间的逻辑关系 并查集&#xff1a; 并查集&#xff08;Union-Find&#xff09;是一种树型的数据结构&#xff0c;用于处理一些不交集的合并及查询问题。它支持两种操作&#xff1a; 用双亲表示存储并查集 首先将所有根节点数组值设为-1&#xff0c;其…...

Java Web —— 第四天(Maven)

Maven是什么 Maven 的本质是一个项目管理工具&#xff0c;将项目开发和管理过程抽象成一个项目对象模型(POM) POM (ProjectObject Model): 项目对象模型 Maven的作用 项目构建:提供标准的、跨平台的自动化项目构建方式 依赖管理:方便快捷的管理项目依赖的资源 (ar包)&…...

2024年电脑录屏软件推荐:捕捉屏幕,记录生活,分享精彩

在众多电脑录屏软件中&#xff0c;如何挑选出一款适合自己的工具呢&#xff1f;今天&#xff0c;我们就来为大家对比评测四款热门电脑录屏软件&#xff1a;福昕REC、转转大师录屏、爱拍录屏和轻映录屏。通过对它们的功能、性能、操作便捷性等方面进行对比&#xff0c;帮助你找到…...

oracle 增删改查字段

在Oracle数据库中&#xff0c;对表字段的增删改查是数据库操作的基础。以下是关于Oracle中如何增加、删除、修改和查询字段的详细解释&#xff1a; 1. 增加字段&#xff08;Add&#xff09; 增加字段的语法为&#xff1a; ALTER TABLE 表名 ADD (字段名 数据类型 [DEFAULT 默…...

给不规则的shapeGeometry贴图

首先看一下贴图效果&#xff0c;我们要做的是将一个长方形的贴图在不规则的多边形中贴图 实现思路 1. 取不规则多边形的box2&#xff0c;这个box2就是整个贴图的UV坐标 2. 计算每个不规则的多边形顶点的在该box2上的对应映射 3. 更新整个geometry的uvs数据 怎么计算映射&…...

网络层IP协议报头字段的认识

认识IP协议 IP协议&#xff08;Internet Protocol&#xff09;&#xff0c;又称网际协议&#xff0c;是整个TCP/IP协议栈中的核心协议之一&#xff0c;位于网络层。IP协议是互联网中最基础的网络协议之一&#xff0c;负责在网络中传输数据包。它定义了数据包的格式、地址分配和…...

Linux部署MySQL8.0

目录 一、部署前准备1.1、查看系统版本和位数&#xff08;32位或64位&#xff09;1.2、下载对应安装包 二、开始部署1、将安装包解压并且移动到目标安装目录2、准备MySQL数据和日志等存储文件夹3、准备MySQL配置文件 my.cnf4、创建mysql单独用户组和用户&#xff0c;将安装目录…...

【Linux】shell脚本忽略错误继续执行

在 shell 脚本中&#xff0c;可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行&#xff0c;可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令&#xff0c;并忽略错误 rm somefile…...

Ascend NPU上适配Step-Audio模型

1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统&#xff0c;支持多语言对话&#xff08;如 中文&#xff0c;英文&#xff0c;日语&#xff09;&#xff0c;语音情感&#xff08;如 开心&#xff0c;悲伤&#xff09;&#x…...

大学生职业发展与就业创业指导教学评价

这里是引用 作为软工2203/2204班的学生&#xff0c;我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要&#xff0c;而您认真负责的教学态度&#xff0c;让课程的每一部分都充满了实用价值。 尤其让我…...

【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题

【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要&#xff1a; 近期&#xff0c;在使用较新版本的OpenSSH客户端连接老旧SSH服务器时&#xff0c;会遇到 "no matching key exchange method found"​, "n…...

C++.OpenGL (20/64)混合(Blending)

混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...

Chrome 浏览器前端与客户端双向通信实战

Chrome 前端&#xff08;即页面 JS / Web UI&#xff09;与客户端&#xff08;C 后端&#xff09;的交互机制&#xff0c;是 Chromium 架构中非常核心的一环。下面我将按常见场景&#xff0c;从通道、流程、技术栈几个角度做一套完整的分析&#xff0c;特别适合你这种在分析和改…...

Xela矩阵三轴触觉传感器的工作原理解析与应用场景

Xela矩阵三轴触觉传感器通过先进技术模拟人类触觉感知&#xff0c;帮助设备实现精确的力测量与位移监测。其核心功能基于磁性三维力测量与空间位移测量&#xff0c;能够捕捉多维触觉信息。该传感器的设计不仅提升了触觉感知的精度&#xff0c;还为机器人、医疗设备和制造业的智…...

echarts使用graphic强行给图增加一个边框(边框根据自己的图形大小设置)- 适用于无法使用dom的样式

pdf-lib https://blog.csdn.net/Shi_haoliu/article/details/148157624?spm1001.2014.3001.5501 为了完成在pdf中导出echarts图&#xff0c;如果边框加在dom上面&#xff0c;pdf-lib导出svg的时候并不会导出边框&#xff0c;所以只能在echarts图上面加边框 grid的边框是在图里…...

Qt的学习(二)

1. 创建Hello Word 两种方式&#xff0c;实现helloworld&#xff1a; 1.通过图形化的方式&#xff0c;在界面上创建出一个控件&#xff0c;显示helloworld 2.通过纯代码的方式&#xff0c;通过编写代码&#xff0c;在界面上创建控件&#xff0c; 显示hello world&#xff1b; …...

零基础在实践中学习网络安全-皮卡丘靶场(第十一期-目录遍历模块)

经过前面几期的内容我们学习了很多网络安全的知识&#xff0c;而这期内容就涉及到了前面的第六期-RCE模块&#xff0c;第七期-File inclusion模块&#xff0c;第八期-Unsafe Filedownload模块。 什么是"遍历"呢&#xff1a;对学过一些开发语言的朋友来说应该知道&…...