ELK的ElasticStack概念

目录

  • 传送门
  • 前言
  • 一、ElasticStack是什么
  • 二、ElasticStack数据格式
    • 1、Elasticsearch的概述
    • 2、Elasticsearch核心概念
      • (1)接近实时(NRT)
      • (2)集群(cluster)
      • (3)节点(node)
      • (4)索引(type)
    • 3、类型相对于关系型数据库的表
  • 三、Elasticsearch分片和副本
    • 分片和副本的概念理解:
    • 倒排索引:
    • 路由计算:
    • 分片控制:

传送门

SpringMVC的源码解析(精品)
Spring6的源码解析(精品)
SpringBoot3框架(精品)
MyBatis框架(精品)
MyBatis-Plus
SpringDataJPA
SpringCloudNetflix
SpringCloudAlibaba(精品)
Shiro
SpringSecurity
java的LOG日志框架
Activiti(敬请期待)
JDK8新特性
JDK9新特性
JDK10新特性
JDK11新特性
JDK12新特性
JDK13新特性
JDK14新特性
JDK15新特性
JDK16新特性
JDK17新特性
JDK18新特性
JDK19新特性
JDK20新特性
JDK21新特性
其他技术文章传送门入口

前言

ELK设置后抓日志非常好用,当然也不只是用于抓日志。功能强大,全文检索等等。

以下文章不定时更新。

ELK的ElasticStack概念
ELK的ElasticStack语法
ELK的ElasticStack安装
ELK的Logstash
ELK的Kibana
ELK的Filebeat

一、ElasticStack是什么

在这里插入图片描述
es是一个开源的高扩展的分布式全文搜索引擎;数据存储;旧叫法为ELK(es+logstash+kibana),由于logstash是收集+转化数据两个功能太重了 ,所以在新叫法elastic stack中,出现了beats,收集数据变为beats了,比如filebeat等,很多个beat。logstash就更偏向于转化和处理收集了。

Elastic Stack(也称为ELK Stack)是一个开源的数据分析和可视化平台,主要用于搜索、分析和可视化各种数据。它通常由以下四个核心组件组成:

Elasticsearch:一个分布式的搜索和分析引擎,能够处理大量的结构化和非结构化数据。它提供了强大的搜索功能,支持实时数据查询和分析。

Logstash:一个服务器端数据处理管道,能够接收、处理和转发数据。Logstash支持多种输入源和输出目标,可以对数据进行过滤和转换,以便更好地适应后续的分析。

Kibana:一个可视化界面工具,用于数据的可视化和仪表板创建。用户可以通过Kibana创建各种图表、图形和仪表板,以便直观地展示分析结果。

Beats:一组轻量级的数据发送器,能够从各种数据源收集数据并将其发送到Elasticsearch或Logstash。Beats可以收集系统和服务的日志、性能指标等信息。

主要用途
日志管理:Elastic Stack常用于集中化日志管理,帮助用户收集和分析来自不同系统和应用程序的日志数据。
监控:可以实时监控应用程序和基础设施的性能,及时发现并解决问题。
安全分析:用于安全事件的监测和响应,通过分析日志数据检测潜在的安全威胁。
业务分析:帮助企业分析用户行为、市场趋势等,以支持业务决策。
总结
Elastic Stack提供了强大的搜索和分析能力,结合实时数据处理和可视化,使得用户能够更高效地管理和利用数据
在这里插入图片描述

二、ElasticStack数据格式

在这里插入图片描述

在这里插入图片描述

1、Elasticsearch的概述

提供了一个分布式多用户能力的全文搜索引擎

2、Elasticsearch核心概念

(1)接近实时(NRT)

elasticsearch是一个接近实时的搜索平台,这意味着,从索引一个文档直到这个文档能够被搜索到有一个轻微的延迟(通常是1秒)

(2)集群(cluster)

一个集群就是由一个或多个节点组织在一起,它们共同持有你整个的数据,并一起提供索引和搜索功能。其中一个节点为主节点,这个主节点是可以通过选举产生的,并提供跨节点的联合索引和搜索的功能。集群有一个唯一性标示的名字,默认是elasticsearch,集群名字很重要,每个节点是基于集群名字加入到其集群中的。因此,确保在不同环境中使用不同的集群名字。

一个集群可以只有一个节点。强烈建议在配置elasticsearch时,配置成集群模式。

(3)节点(node)

节点就是一台单一的服务器,是集群的一部分,存储数据并参与集群的索引和搜索功能。像集群一样,节点也是通过名字来标识,默认是在节点启动时随机分配的字符名。当然,你可以自己定义。该名字也很重要,在集群中用于识别服务器对应的节点。

节点可以通过指定集群名字来加入到集群中。默认情况,每个节点被设置成加入到elasticsearch集群。如果启动了多个节点,假设能自动发现对方,他们将会自动组建一个名为elasticsearch的集群。

(4)索引(type)

在一个索引中,你可以定义一种或多种类型。一个类型是你的索引的一个逻辑上的分类/分区,其语义完全由你来定。通常,会为具有一组共同字段的文档定义一个类型。比如说,我们假设你运营一个博客平台并且将你所有的数据存储到一个索引中。在这个索引中,你可以为用户数据定义一个类型,为博客数据定义另一个类型,当然,也可以为评论数据定义另一个类型。

3、类型相对于关系型数据库的表

索引(库)–》类型(表)–》文档(记录)

三、Elasticsearch分片和副本

分片和副本(shards & replicas)

在实际情况下,索引存储的数据可能超过单个节点的硬件限制。如一个10亿文档需1TB空间可能不适合存储在单个节点的磁盘上,或者从单个节点搜索请求太慢了。为了解决这个问题,elasticsearch提供将索引分成多个分片的功能。当在创建索引时,可以定义想要分片的数量。每一个分片就是一个全功能的独立的索引,可以位于集群中任何节点上。

每个索引可以被分成多个分片。一个索引也可以被复制0次(意思是没有复制)或多次。一旦复制了,每个索引就有了主分片(作为复制源的原来的分片)和复制分片(主分片的拷贝)之别。分片和副本的数量可以在索引创建的时候指定。

在索引创建之后,你可以在任何时候动态地改变副本的数量,但是你事后不能改变分片的数量。默认情况下,Elasticsearch中的每个索引被分片5个主分片和1个副本,这意味着,如果你的集群中至少有两个节点,你的索引将会有5个主分片和另外5个副本分片(1个完全拷贝),这样的话每个索引总共就有10个分片。

核心对比(分片类比分表)(副本就是分片的备份)(创建时默认的5分片1副本,分片不能修改,副本数量可以修改,就是5分片和5个副本,一共10个。不能修改分片是因为hash计算公式,改了分片会导致计算后读取不到任何分片的情况。副本数量要小于集群数量,等于都不行? 1台的时候1个副本,副本是没有工作起来的,所以es是黄色,主分片和自己的副本是不能在一台的。多台的时候同理)(分片就是主分片,可以读写,副本不能写只能读)(副本是可以不要的,比如5分片0副本是可以的)

分片和副本的概念理解:

分片类似MySQL中的分表,不同分片在不同的机器上可以分布式协同工作,比如 用户,男的在分片1,女的在分片2,放到两台机器上就比原先男女都在一个分片一台机器上性能好太多了。两个机器扩展了硬件容量,分片1和分片2的不同访问提升了分布式的并发性能和负载均衡。
副本都是分片的备份,当分片挂了,副本就能工作,是故障转移机制。一个分片可以有一个副本或者多个副本。

映射:就像MySQL中的字段是varchar、int等字段类型,es中存的也有这种类型判断,可以主动设置,也可以由es自己识别,比如存了一个数据是123,那么es自己会识别成int。因为es是java开发的,所以识别出来的字段类型大部分和java的字段类型一样。

在这里插入图片描述

倒排索引:

第12行开始,是es的逻辑。keyword为关键字,es搜索比如name=zhang的,就会找到对应的id(普通数据库表里面content含zhang的id都会找出来,es的基本功能就是按这种逻辑存这些,然后通过倒排索引这种逆向逻辑来查询),然后通过所有符合的id就能拿出整个列表信息。
在这里插入图片描述
分片副本概念。最上面绿色表示健康。黄色表示副本没有工作。单节点一般都是黄色。红色表示有问题,es可能都没弄好。
在这里插入图片描述
分片和副本都不会在一台机器上,最大的保证故障机制转移。主分片数量创建以后不能修改,但是副本数量可以修改。
在这里插入图片描述

路由计算:

这种节点集群,存的时候有路由计算,计算到存到那个分片了。
在这里插入图片描述

分片控制:

存的时候有路由计算,取的时候要用到分片控制,基本策略是轮询,比如到轮询访问到R2的时候,R2要看情况,有数据的时候但是自己很忙,就转给P2,然后P2处理后给你返回了。R2没数据的时候个,更得转给其他副本或者分片来给你返回,这种就是分片控制。这个轮询的节点也叫做协调节点,基本上每个集群中的主机都可以当协调节点。集群的成员就是节点。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/902796.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

从零开始docker-compose入门教程,快速上手多容器管理!

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 docker-compose 📒📝 Docker Compose的作用📝 Docker Compose的安装1. 在Linux或macOS上安装2. 在Windows上安装3. 在Linux或macOS上卸载4. 在Windows上卸载📝 Docker Compose基本语法📝 示例:使用Docker Compose部署…

聚水潭到畅捷通T+的数据高效集成方案解析

聚水潭到畅捷通T的数据高效集成方案解析 聚水潭销售出库单到畅捷通销货单的高效数据集成方案 在企业日常运营中,数据的高效流转和准确对接是提升业务效率的关键。本文将分享一个实际案例,展示如何通过轻易云数据集成平台,将聚水潭奇门系统中…

Flink(一)

目录 架构处理有界与无界数据部署应用到任意地方运行任意规模应用利用内存性能 流应用流处理应用的基本组件流状态时间 应用场景事件驱动应用事件驱动应用的优势Flink如何支持事件驱动应用? 典型的事件驱动示例 数据分析应用流式分析应用的优势?Flink 如…

word怎么压缩文件大小?这几种压缩word文件方法超级好用!

word怎么压缩文件大小?在当今快节奏的工作环境中,Word文档已成为我们日常工作的得力助手,然而,随着文档数量的不断增加,文档体积的膨胀成为了一个亟待解决的问题,这不仅导致了存储空间的紧张,也…

【grafana+Prometheus(普罗米修斯)实现监控功能】

一、背景: 在性能测试的时候经常需要观察对应服务器的cpu、内存等指标,或者有些性能测试需要监控数据库的一些信息 二、监控服务器工具: 1、使用jmeter时可以自带监控服务的功能 缺点:只能在运行jmeter的时候才能实现监控功能 2、使用li…

WPF+MVVM案例实战(八)- 自定义开关控件封装实现

文章目录 1、案例运行效果2、项目准备2、功能实现1、控件模板实现2、控件封装1、目录与文件创建2、各文件功能实现 3、开关界面与主窗体菜单实现1、开关界面实现2、主窗体菜单实现 4、源代码获取 1、案例运行效果 2、项目准备 打开项目 Wpf_Examples,新建ToggleBut…

无法启动此程序win10玩游戏找不到d3dx9_43.dll缺失的五种常用有效解决方法

d3dx9_43.dll 是 DirectX 9 的一个关键组件,属于动态链接库(DLL)文件,由微软公司开发。DirectX 是一组用于多媒体应用的 API,包括 d3dx9_43.dll 在内的组件对游戏和图形应用程序至关重要。该文件主要负责提供3D图形渲染…

手机折叠屏贴膜应用

折叠手机贴膜的主要难点在于其独特的可折叠设计。折叠屏的弯曲部分对贴膜材料提出了更高要求,需要材料具备足够的柔韧性和耐折痕性,以避免在折叠过程中产生裂痕或脱落。此外,贴膜过程中需要确保无气泡、无褶皱,且能完美贴合屏幕的…

GPU 与 GPU 服务器:科技璀璨之星,开启无限未来

今天咱们要来聊聊在科技领域中闪闪发光的 GPU 和 GPU 服务器。这可真是一对厉害的 “科技搭档”,正以其卓越的性能成为众多行业发展的强大动力源。 先来说说 GPU 吧。它呀,一开始是为了满足图形处理的高要求而诞生的。但随着科技不断进步,人…

从零到一:打造你的专属待办事项应用,探索 Windows 11 开发新境界

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

7、基于爬虫+Flask+Echarts+MySQL的网易云评论可视化大屏

基于爬虫FlaskEchartsMySQL的网易云评论可视化大屏 1、前言2、实现2.1 挑选想要采集的歌曲评论2.2 构建爬虫2.2.1 采集歌曲评论2.2.2 清洗数据入库 2.3 搭建flask框架2.4 数据传值2.5 完整代码&数据集获取 1、前言 本项目是基于requests爬虫flaskecharts搭建的网易云评论的…

WASM 使用说明23事(RUST实现)

文章目录 1. wasm是什么1.1 chatgpt定义如下:1.2 wasm关键特性: 2. wasm demo2.1 cargo 创建项目2.2 编写code2.3 安装wasm-pack2.4 编译 3.1 html页面引用wasm代码(js引用)3.2 访问页面4 导入js function4.1 编写lib.rs文件,内容…

应用案例 | Panorama SCADA助力巴黎奥运会:保障赛事协调与安全

谈到2024年最受关注的体育盛事,巴黎奥运会无疑是焦点之一。作为全球瞩目的顶级赛事,它不仅汇集了来自世界各地的精英运动员,还点燃了全球观众的热情。然而,组织如此大规模的活动绝非易事。从大量游客通过公共交通涌入,…

基于SSM的宠物猫狗商业系统设计与实现

前言 当今社会已经步入了科学技术进步和经济社会快速发展的新时期,国际信息和学术交流也不断加强,计算机技术对经济社会发展和人民生活改善的影响也日益突出,人类的生存和思考方式也产生了变化。传统宠物猫狗商业采取了人工的管理方法&#…

mfc之tab标签控件的使用--附TabSheet源码

TabSheet源码 TabSheet.h #if !defined(AFX_TABSHEET_H__42EE262D_D15F_46D5_8F26_28FD049E99F4__INCLUDED_) #define AFX_TABSHEET_H__42EE262D_D15F_46D5_8F26_28FD049E99F4__INCLUDED_#if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 // TabSheet.h : …

华为云低代码Astro Zero技巧教学7:打造实时更新的动态数据表

数字化经营的浪潮中,数据管理的高效与准确成为企业持续成长的关键。Astro Zero高级页面功能通过创新的表格视图编辑模式,实现了前端操作与后台数据的无缝同步,极大地提升了数据处理的效率和可靠性。 本次技巧内容:使用Astro Zero制…

【亲测】mini版centos7.9配置网络基础ssh等直接使用

1,安装好系统: 默认安装好 CentOS-7-x86_64-Minimal-2009.iso2,配置静态或动态ip: 保持root登陆操作 先配置成动态ip: vi /etc/sysconfig/network-scripts/ifcfg-eth0 重启网卡 systemctl restart network 测试网络畅通 3,配置国内yum镜像源: 先备份: cp /etc/y…

Python | Leetcode Python题解之第503题下一个更大元素II

题目&#xff1a; 题解&#xff1a; class Solution:def nextGreaterElements(self, nums: List[int]) -> List[int]:n len(nums)ret [-1] * nstk list()for i in range(n * 2 - 1):while stk and nums[stk[-1]] < nums[i % n]:ret[stk.pop()] nums[i % n]stk.appen…

排查PHP服务器CPU占用率高的问题

排查PHP服务器CPU占用率高的问题通常可以通过以下步骤进行&#xff1a; 使用top或htop命令&#xff1a;这些命令可以实时显示服务器上各个进程的CPU和内存使用情况。找到CPU使用率高的进程。 查看进程日志&#xff1a;如果PHP-FPM或Apache等服务器进程的日志记录了具体的请求…

中国书法、绘画

孙溟㠭浅析“篆刻” 什么是篆刻&#xff0c;治印一般采用篆书&#xff0c;先写后刻&#xff0c;所以称&#xff02;篆刻&#xff02;&#xff0c;也是镌刻印章的统称。博物馆常见的金属印章&#xff0c;多数是先刻印模&#xff0c;然后再浇铸&#xff0c;也有提前做好金属印坯…