当前位置: 首页 > 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;将安装目录…...

河北对口计算机高考MySQL笔记(完结版)(2026高考)持续更新~~~~

MySQL 基础概念 数据&#xff08;Data&#xff09;&#xff1a;文本&#xff0c;数字&#xff0c;图片&#xff0c;视频&#xff0c;音频等多种表现形式&#xff0c;能够被计算机存储和处理。 **数据库&#xff08;Data Base—简称DB&#xff09;&#xff1a;**存储数据的仓库…...

20250607在荣品的PRO-RK3566开发板的Android13系统下实现长按开机之后出现插入适配器不会自动启动的问题的解决

20250607在荣品的PRO-RK3566开发板的Android13系统下实现长按开机之后出现插入适配器不会自动启动的问题的解决 2025/6/7 17:20 缘起&#xff1a; 1、根据RK809的DATASHEET&#xff0c;短按开机【100ms/500ms】/长按关机&#xff0c;长按关机。6s/8s/10s 我在网上找到的DATASHE…...

Prompt工程学习之思维树(TOT)

思维树 定义&#xff1a;思维树&#xff08;Tree of Thoughts, ToT&#xff09; 是一种先进的推理框架&#xff0c;它通过同时探索多条推理路径对思维链&#xff08;Chain of Thought&#xff09;** 进行了扩展。该技术将问题解决视为一个搜索过程 —— 模型生成不同的中间步骤…...

Spring Cloud Alibaba Seata安装+微服务实战

目录 介绍核心功能三层核心架构安装微服务实战创建三个业务数据库编写库存和账户两个Feign接口订单微服务 seata-order-service9701库存微服务 seata-store-service9702账户微服务 seata-account-service9703测试结果 总结 介绍 Spring Cloud Alibaba Seata 是一款开源的分布式…...

vue-14(使用 ‘router.push‘ 和 ‘router.replace‘ 进行编程导航)

使用 ‘router.push’ 和 ‘router.replace’ 进行编程导航 编程导航是使用 Vue Router 构建动态和交互式 Web 应用程序的一个重要方面。它允许您根据应用程序逻辑、用户作或特定条件控制用户的导航流。您可以使用 router.push 和 router.replace 方法以编程方式导航到不同的路…...

【笔记】解决MSYS2安装后cargo-install-update.exe-System Error

#工作记录 cargo-install-update.exe-System Error The code execution cannot proceed because libgit2-1.9.dll wasnot found. Reinstalling the program may fix this problem. …...

Redis 集群批量删除key报错 CROSSSLOT Keys in request don‘t hash to the same slot

Redis 集群报错 CROSSSLOT Keys in request dont hash to the same slot 的原因及解决方案 1. 错误原因 在 Redis 集群模式下&#xff0c;数据根据 哈希槽&#xff08;Slot&#xff09; 分散存储在不同的节点上&#xff08;默认 16384 个槽&#xff09;。当执行涉及多个 key …...

LabVIEW的MathScript Node 绘图功能

该VI 借助 LabVIEW 的 MathScript Node&#xff0c;结合事件监听机制&#xff0c;实现基于 MathScript 的绘图功能&#xff0c;并支持通过交互控件自定义绘图属性。利用 MathScript 编写脚本完成图形初始化&#xff0c;再通过LabVIEW 事件结构响应用户操作&#xff0c;动态修改…...

【Elasticsearch】映射:Join 类型、Flattened 类型、多表关联设计

映射&#xff1a;Join 类型、Flattened 类型、多表关联设计 1.Join 类型1.1 主要应用场景1.1.1 一对多关系建模1.1.2 多层级关系建模1.1.3 需要独立更新子文档的场景1.1.4 文档分离但需要关联查询 1.2 使用注意事项1.3 与 Nested 类型的区别 2.Flattened 类型2.1 实际运用场景和…...

MySql读写分离部署(一主一从,双主双从,Mycat)

参考资料: 参考视频 参考博客 视频参考资料及安装包: https://pan.baidu.com/s/1xT_WokN_xlRv0h06b6F3yg 提取码: aag3 Mysql主从复制部署指南(一主一从) NotePad++编辑Linux服务器文档 Mysql高版本(8.0及以后)Linux安装 Mysql分库分表(基于Mycat)的基本部署 …...