1. ELK Stack 理论篇之什么是ELK Stack?
ELK Stack 理论篇之什么是ELK Stack?
- 1.1 什么是 ELK Stack?
- 1.2 ELK Stack的发展史
- 1.2.1 Elasticsearch
- 1.2.2 引入 Logstash 和 Kibana,产品更强大
- 1.2.3 社区越来越壮大,用例越来越丰富
- 1.2.4 然后我们向 ELK 中加入了 Beats
- 1.2.5 那么,ELK 需要怎么变化呢?
- 1.2.6 就这样,Elastic Stack 这个名字应运而生了
- 1.3 Elastic Stack 和ELK Stack之间的关系?
- 1.4 ELK Stack 都可以做什么?为我们解决哪些问题?
- 1.4.1 搜索领域
- 1.4.2 可观测日志领域
- 1.4 ELK Stack 下载地址
- 2. 参考资料
1.1 什么是 ELK Stack?
ELK Stack指的就是 Elastic Stack。
Elastic Stack 是 ELK Stack 的更新换代产品。

1.2 ELK Stack的发展史
那么, ELK 到底是什么呢?
“ELK”是三个开源项目的首字母缩写,这三个项目分别是:
Elasticsearch、Logstash和Kibana。
Elasticsearch是一个搜索和分析引擎。Logstash是服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到诸如 Elasticsearch 等“存储库”中。Kibana则可以让用户在 Elasticsearch 中使用图形和图表对数据进行可视化。
1.2.1 Elasticsearch
- 这个开源的分布式搜索引擎基于 JSON 开发而来,具有 RESTful风格。
- 它使用简单,可缩放规模,十分灵活,因此受到用户的热烈好评,而且如大家所知,围绕这一产品还形成了一家专门致力于搜索的公司。
1.2.2 引入 Logstash 和 Kibana,产品更强大
- Elasticsearch的核心是搜索引擎,所以用户开始将其用于日志用例,并希望能够轻松地对日志进行采集和可视化。
- 有鉴于此,我们引入了强大的采集管道 Logstash和灵活的可视化工具
Kibana。
1.2.3 社区越来越壮大,用例越来越丰富
- 无论是在混乱如麻的文本型文档中找到前 N 个结果,还是分析安全事件,再或是自由地对指标进行切片和切块,全球社区一直都在使用 ELK不断地拓展使用范围。
1.2.4 然后我们向 ELK 中加入了 Beats
- “我只想对某个文件进行 tail 操作,”用户表示。我们用心倾听。
- 在 2015 年,我们向 ELK Stack中加入了一系列轻量型的单一功能数据采集器,并把它们叫做 Beats。
- 其中,最著名的是FileBeats ,一个基于go语言编写的低消耗服务器资源的日志采集器。
1.2.5 那么,ELK 需要怎么变化呢?
- ELK 这个名称又要变了,的确如此。把它叫做BELK?BLEK?ELKB?
- 当时的确有过继续沿用首字母缩写的想法。
- 然而,对于扩展速度如此之快的堆栈而言,一直采用首字母缩写的确不是长久之计。
1.2.6 就这样,Elastic Stack 这个名字应运而生了
- 和用户一直以来熟知并喜爱的开源产品一模一样,只是集成程度更高了,功能更加强大了,入门也更加容易了,而且可以带来无限可能。
1.3 Elastic Stack 和ELK Stack之间的关系?
Elastic Stack 就是 ELK Stack,但是更加灵活,可以帮助人们出色完成各项事务。
1.4 ELK Stack 都可以做什么?为我们解决哪些问题?
ELK Stack 主要应用于两大领域。
1.4.1 搜索领域
- ELK Stack 可以快速为我们的网站、应用或者工作场所添加经过预先调优的搜索功能。
比如 ELK Stack 可以应用于电商商品信息的检索领域
因为ES 基于Lucence 支持搜索关键词自动分词,倒排索引等方式加快检索速度和有效命中。
1.4.2 可观测日志领域
- ELK Stack可以在单个堆栈中大规模一体化管理您的日志、指标和 APM 跟踪数据。
比如ELK 监控各个微服务的系统日志,是云原生时代必不可少的日志检索解决方案。
1.4 ELK Stack 下载地址
ELK Stack 官方下载地址:https://www.elastic.co/cn/downloads/
ELK Stack支持如下两种部署方式:
- 开源方式部署
关于如何在Centos7服务器安装ELK Stack ,请查看 Centos7 安装ELK/EFK 7.x集群搭建实战攻略
- 直接使用ELK Stack云服务
- ELK Stack官方云服务开通地址:https://cloud.elastic.co/registration?elektra=cn-what-is-elk-stack-page
- 当然除此之外,阿里云,腾讯云,华为云也有相对应的云服务。
2. 参考资料
https://www.elastic.co/cn/what-is/elk-stack
相关文章:
1. ELK Stack 理论篇之什么是ELK Stack?
ELK Stack 理论篇之什么是ELK Stack?1.1 什么是 ELK Stack?1.2 ELK Stack的发展史1.2.1 Elasticsearch1.2.2 引入 Logstash 和 Kibana,产品更强大1.2.3 社区越来越壮大,用例越来越丰富1.2.4 然后我们向 ELK 中加入了 Beats1.2.5 那么&#x…...
两道有关链表的练习
目录 一、分割链表 二、奇偶链表 一、分割链表 给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。 你不需要 保留 每个分区中各节点的初始相对位置。 示例 1: 输…...
Python uiautomator2安卓自动化测试
一、前言 uiautomator2是Python对Android设备进行UI自动化的库,支持USB和WIFI链接,可以实现获取屏幕上任意一个APP的任意一个控件属性,并对其进行任意操作。 重点是它可以实现安卓自动化采集,甚至是群控采集,且安装和…...
Leetcode. 160相交链表
文章目录指针解法指针解法 核心思路 : 先 分别求两个链表的长度 然后长的链表先走 差距步(长-短) 最后长链表和短链表同时走 ,第一地址相同的就是交点 ,注意一定是地址相同 不可能出现上图这种情况 ,因为C1…...
MDPs —— 马尔可夫决策定义与算法
文章目录MDPs 定义——由实例开始时序决策问题给游戏增点乐子*为什么要有折扣游戏的解——原则所以,什么是 MDPs?MDPs 的基本原理、表示光环原理效用的求解是反向传播的原则不变条件MDPs 的表示MDPs 求解效用迭代法缺点原则迭代法MDPs 定义——由实例开始…...
【C++】图
本文包含了图的基本概念 1.相关概念 1.1 无/有向 无向图:每一个顶点之间的连线没有方向 有向图:连线有方向(类似离散数学的二元关系 <A,B>代表从A到B的边,有方向) <A,B>中A为始点,B为终点在…...
尾递归优化
文章目录1. 前言2. 什么尾调用(Tail Call)?3. 尾调用优化4. Linux内核下的尾递归优化使用5. 参考资料1. 前言 限于作者能力水平,本文可能存在谬误,对此给读者带来的损失,作者不错任何承诺。 2. 什么尾调用…...
P1120 小木棍(搜索+剪枝)
题目链接:P1120 小木棍 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 样例输入: 9 5 2 1 5 2 1 5 2 1 样例输出: 6 分析:这道题一看数据范围就知道是搜索,但关键是需要剪枝。 首先我们求出所有木棍的长度和&am…...
【专项训练】动态规划-3
动态规划:状态转移方程、找重复性和最优子结构 分治 + 记忆化搜索,可以过度到动态规划(动态递推) function DP():# DP状态定义# 需要经验,需把现实问题定义为一个数组,一维、二维、三维……dp =[][] # 二维情况for i = 0...M:...
【Linux】信号+再谈进程地址空间
目录 一、Linux中的信号 1、Linux中的信号 2、进程对信号的处理 3、信号的释义 二、信号的捕捉 1、信号的捕捉signal() 2、信号的捕捉sigaction() 三、信号如何产生? 1、kill()用户调用kill向操作系统发送信号 通过命令行参数模仿写一个kill命令 2、rais…...
C++回顾(二十一)—— list容器
21.1 list概述 list是一个双向链表容器,可高效地进行插入删除元素。list不可以随机存取元素,所以不支持at.(pos)函数与[]操作符。It(ok) it5(err)需要添加头文件:#include <list> 21.2 list构造 (1)默认构造…...
爱国者一体机电脑蓝屏怎么U盘重装系统教学?
爱国者一体机电脑蓝屏怎么U盘重装系统教学?有用户使用的爱国者一体机电脑开机了之后突然变成了蓝屏的了。而且无法继续使用了,那么遇到这样的蓝屏问题怎么去进行系统的重装呢?一起来看看以下的U盘重装系统教学吧。 准备工作: 1、U…...
Vue学习笔记(9)
9.1 axios 9.1.1 概述 Axios是一个流行的基于Promise的HTTP客户端,用于在浏览器和Node中发送HTTP请求。它可以用于处理各种请求类型,例如GET,POST等。Axios可以很容易地与现代前端框架和库集成,例如React,Vue等。 A…...
中值滤波+Matlab仿真+频域响应分析
中值滤波 文章目录中值滤波理解中值滤波的过程Matlab 实现实际应用频域分析中值滤波是一种滤波算法,其目的是去除信号中的噪声,而不会对信号本身造成太大的影响。它的原理非常简单:对于一个给定的窗口大小,将窗口内的数值排序&…...
自然语言处理中数据增强(Data Augmentation)技术最全盘点
与“计算机视觉”中使用图像数据增强的标准做法不同,在NLP中,文本数据的增强非常少见。这是因为对图像的琐碎操作(例如将图像旋转几度或将其转换为灰度)不会改变其语义。语义上不变的转换的存在是使增强成为Computer Vision研究中…...
PINN解偏微分方程实例1
PINN解偏微分方程实例11. PINN简介2. 偏微分方程实例3. 基于pytorch实现代码4. 数值解参考资料1. PINN简介 PINN是一种利用神经网络求解偏微分方程的方法,其计算流程图如下图所示,这里以偏微分方程(1)为例。 ∂u∂tu∂u∂xv∂2u∂x2\begin{align} \frac{…...
【python 基础篇 十二】python的函数-------函数生成器
目录1.生成器基本概念2.生成器的创建方式3.生成器的输出方式4.send()方法5.关闭生成器6.注意事项1.生成器基本概念 是一个特色的迭代器(迭代器的抽象层级更高)所以拥有迭代器的特性 惰性计算数据 节省内存 ----就是不是立马生成所有数据,而是…...
elasticsearch全解 (待续)
目录elasticsearchELK技术栈Lucene与Elasticsearch关系为什么不是其他搜索技术?Elasticsearch核心概念Cluster:集群Node:节点Shard:分片Replia:副本全文检索倒排索引正向和倒排es的一些概念文档和字段索引和映射mysql与…...
springboot2集成knife4j
springboot2集成knife4j springboot2集成knife4j 环境说明集成knife4j 第一步:引入依赖第二步:编写配置类第三步:测试一下 第一小步:编写controller第二小步:启动项目,访问api文档 相关资料 环境说明 …...
Qt 性能优化:CPU占有率高的现象和解决办法
一、前言 在最近的项目中,发现执行 Qt 程序时,有些情况下的 CPU 占用率奇高,最高高达 100%。项目跑在嵌入式板子上,最开始使用 EGLFS 插件,但是由于板子没有单独的鼠标层,导致鼠标移动起来卡顿,…...
4G Cat.1内网穿透技术实现与优化
基于4G Cat.1的内网穿透技术实现1. 项目概述1.1 系统架构本项目实现了一个基于4G Cat.1通信模块的内网穿透解决方案,通过公网服务器中转,建立开发板与内网PC之间的TCP通信链路。系统由以下三个主要部分组成:4G终端设备:搭载Cat.1通…...
DataGrip安装使用全攻略 (DataGrip更改新建查询存储默认位置)
一、DataGrip安装 下载 DataGrip 安装包 访问 DataGrip 官网:https://www.jetbrains.com/datagrip/download ,下载 DataGrip 2025.3.5 版本的安装包: 我这里也有安装包 链接: https://pan.baidu.com/s/1g5aiHWsv9VyIhFD-7TBdEg?pwd=0908 提取码: 0908 --来自百度网盘超…...
Unity入门:从零开始认识Unity编辑器界面
Unity入门:从零开始认识Unity编辑器界面📚 本章学习目标:深入理解从零开始认识Unity编辑器界面的核心概念与实践方法,掌握关键技术要点,了解实际应用场景与最佳实践。本文属于《Unity工程师成长之路教程》Unity入门篇&…...
深入解析UniApp中的package.json:从基础配置到高级技巧
1. 初识UniApp中的package.json 第一次接触UniApp项目时,我盯着package.json文件看了半天,心想这不就是个管理npm包依赖的配置文件吗?直到踩了几个坑才发现,UniApp对这个文件做了特殊扩展,让它成为了项目配置的中枢神经…...
OCaml持续集成终极指南:从GitHub Actions到自动化部署的完整流程 [特殊字符]
OCaml持续集成终极指南:从GitHub Actions到自动化部署的完整流程 🚀 【免费下载链接】ocaml The core OCaml system: compilers, runtime system, base libraries 项目地址: https://gitcode.com/gh_mirrors/oc/ocaml OCaml作为功能强大的静态类型…...
如何高效将LocalSend打包为MSIX:完整Windows商店发布实战指南
如何高效将LocalSend打包为MSIX:完整Windows商店发布实战指南 【免费下载链接】localsend localsend - 一个开源应用程序,允许用户在本地网络中安全地共享文件和消息,无需互联网连接,适合需要离线文件传输和通信的开发人员。 项…...
EasyMQTT嵌入式MQTT轻量封装原理与实战
1. EasyMQTT 库深度解析:面向嵌入式工程师的 MQTT 轻量级封装实践EasyMQTT 并非一个通用型 MQTT 客户端抽象层,而是一个高度场景化、面向特定 IoT 生态闭环设计的固件级通信中间件。其核心价值不在于协议栈功能的完备性,而在于将 ESP32/ESP82…...
Simulink中卷积码编码硬判决、软判决译码BPSK系统误码率性能仿真的Matlab 201...
simulink 卷积码编码硬判决软判决译码BPSK系统误码率性能仿真 Matlab2015及以上版本可以运行。最近在折腾通信系统的误码率仿真,发现Simulink搞数字通信建模是真的方便。特别是卷积码这种自带状态记忆的编码方案,用模块拖拽比纯代码实现直观多了。今天咱…...
基于CosyVoice与Docker的语音处理系统实战:从部署到性能优化
最近在做一个语音处理相关的项目,遇到了一个挺典型的问题:模型推理服务部署起来总是很“重”,资源占用高,启动慢,扩展也不灵活。经过一番折腾,最终用 CosyVoice 和 Docker 这套组合拳解决了问题,…...
嵌入式开发问题复现与调试技巧
嵌入式开发常见问题及解决方法1. 问题复现方法稳定复现问题是解决嵌入式系统故障的首要步骤。根据问题特性,可采用以下三种复现方法:1.1 模拟复现条件对于依赖特定外部条件的问题,最直接的复现方式是精确还原问题发生时的环境参数。工程实践中…...
