Elasticsearch 和数据架构:改进分析和存储的 4 个基本工具

news2024/9/20 6:22:50

作者:Emily McAlister

 

组织越来越依赖数据来做出有效的、基于证据的决策来推动业务成果。 无论是评估市场状况和改善客户体验、确保应用程序正常运行时间还是保护组织安全,来自多个来源(包括消费者和内部系统)的数据对于日常运营都至关重要。

这种数据驱动的方法要求组织快速收集、存储和分析大量数据,以便及时做出决策。 通常,这意味着大规模地跨多个来源和不同复杂程度的格式进行关联和分析。

Elasticsearch® 提供了摄取、存储和搜索这些数据集的可扩展性和灵活性,以便从业务、可观察性和安全角度找到相关且可操作的见解。 然而,随着越来越多的数据被摄取,如果不考虑利用 Elasticsearch 平台实现的数据架构和结构,它可能会变得笨重且昂贵。

使用 Elastic 解决常见数据挑战

作为一名 Elastic 顾问,我帮助许多客户加入多个数据源,这些数据源经过转换和关联,为业务决策、平台可用性和安全性提供支持。 以下是我帮助组织解决的一些挑战,特别是那些拥有多种数据源的挑战:

  • 按数据源对摄取量进行归因:如果没有适当的标签/标记策略和执行,这可能会很棘手。
  • 跨多个数据源的分析和关联:由于每个数据集中存在冲突的字段名称(例如,host_name、host.name、name),这通常很困难。
  • 存储成本:有时我会发现由于索引设计和对所摄取数据源的理解不周,导致无法利用存储分层。 有时我还发现客户不知道新的、节省成本的功能。

数据架构的开发和文档化通过组织内数据源的规划和设计来解决上述挑战。 数据架构详细介绍了如何收集、处理和存储数据以供组织内的系统和人员使用的策略和标准。 一旦定义完毕,以下四种工具可用于使用 Elastic Stack 在技术层解决这些挑战。

 

 

1. 标记和标签

Agent、Beats 和 Logstash® 等 Elastic Stack 摄取工具都提供添加自定义标记和标签的功能,使每个文档在存储在 Elasticsearch 中后可以轻松识别。 与组织的数据架构保持一致的标记或标签标准可以清晰地说明如何处理数据源。

通过过滤特定标签来快速分离数据源,可以准确、快速地识别数据源。 这减少了重要数据管理所需的时间,例如容量规划、分析摄取量或在索引之间迁移数据源。

对于在多个团队之间共享 Elastic 部署的某些客户,可以使用符合特定消费者群体的标准轻松报告退款/许可证消耗数据的归属。 在高级情况下,标记和标签还可用于支持基于角色的访问控制的文档级安全性。

使用标记和标签标准还可以减少为跨多个数据源的应用程序或系统开发可视化和执行调查活动的时间。

2. Elastic 通用模式

如果跨数据源的字段命名不一致,则跨数据集的关联会变得更加复杂。 这种不一致可能会导致跨多个字段的复杂查询,这些字段都表示相同的信息(例如,host.name: "serverA" 或 host_name: "serverA" 或 name: "serverA")。

Elastic Common Schema (ECS) 提供了在 Elasticsearch 中存储基于事件的数据的标准蓝图。 默认情况下,Elastic 的集成和摄取工具(Agent、Beats 和 Logstash)遵循此标准,以跨多个数据源提供一致的字段名称和数据类型。 这使得你可以轻松查询所有数据,从而使组织能够利用预构建的开箱即用仪表板和我们的一站式解决方案,例如 Elastic Observability 和 Elastic Security。

ECS 补充了组织的数据架构,并且可以作为基础层来协助捕获每个数据源的一组通用标准字段,从而回答 “这个源为我提供了哪些数据?” 的问题。

事实上,ECS 已被 OpenTelemetry 项目接受,使用户在日志记录、分布式跟踪、指标和安全事件方面受益。

了解有关 Elastic Common Schema 优势的更多信息。

3. 数据流约定

Elastic 在 7.9 版本中引入了数据流,作为管理可观测性和安全性用例的时间序列数据的改进方法。 作为此功能的一部分,引入了命名方案,通过引入以下内容来更好地管理索引层的数据集:

  1. type:描述数据的通用类型
  2. dataset:描述摄取的数据及其结构
  3. namespace:用户可配置的任意分组

这三个部分通过 “-” 组合在一起,产生像 logs-nginx.access-Production 这样的数据流。 这意味着所有数据流都按以下方式命名:

{type}-{dataset}-{namespace}

特别是,命名空间选项的使用为组织提供了一种灵活的方法,可以根据数据架构所需的方式组织和存储数据。

阅读有关数据流的更多信息。

4. 数据层

Elasticsearch 提供了跨不同硬件配置文件传播数据的能力,以平衡数据存储的保留和基础设施成本。 随着数据老化,可以使用更便宜且性能较低的层来降低存储成本,同时保留对数据的访问。 这是通过使用数据流和索引生命周期管理策略以及在不同数据层之间自动移动数据的工具来完成的。

数据架构提供了正在摄取的数据源以及如何将它们存储在 Elasticsearch 中的清晰总体图景。 这是一个关键输入,可用于在 Elasticsearch 集群中设计可扩展的分层存储结构,以满足组织内的各种数据源和用例。

例如,某些安全用例需要长期存储日志,在这种情况下,冷层或冻结层应被视为一种具有成本效益的解决方案,它不仅可以保留数据,而且可以在出现以下情况时轻松搜索数据: 一项调查。 然而,对于可观察性用例,许多代理和 APM 数据源需要快速的热层来进行立即调查,以快速解决或通知任何性能问题。

阅读有关使用数据层管理数据的更多信息。

总之

上述注意事项将帮助您避免一些常见陷阱并从 Elastic 部署中实现更多价值:

  1. 标签和标记以及数据流命名约定使组织能够轻松地按数据源保护、聚合和过滤数据,以进行分析和管理。
  2. Elastic Common Schema 合规性使组织能够利用统包解决方案,使跨多个源的数据关联变得简单、无缝。
  3. 可扩展的数据层提供了可扩展的解决方案,可优化存储成本以增加数据量,使组织能够在不牺牲速度的情况下存储所需的数据。

开始免费试用 Elastic Cloud 14 天,了解如何应用这些工具。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

开源URL短链接服务Shlink

最近一直有人在问,docker 查询注册表失败的问题,目前老苏验证可用的方法有 2 个: 方法一(可用): 看过老苏以前文章的读者都知道,在遇到发布到 ghcr.io 的镜像时,老苏都会推荐用 do…

MacOS Ventura 13.4.1 (22F82) 带 OC 引导双分区黑苹果镜像

苹果今日向 Mac 电脑用户推送了 macOS 13.4.1 更新(内部版本号:22F82),根据Apple的发布说明,该更新提供了重要的安全修复,并建议所有用户进行更新。Apple还为无法运行Ventura的用户发布了macOS 11.7.8和mac…

Git进阶系列 | 5. Rebase vs Merge

Git是最流行的代码版本控制系统,这一系列文章介绍了一些Git的高阶使用方式,从而帮助我们可以更好的利用Git的能力。本系列一共8篇文章,这是第5篇。原文:Rebase vs. Merge: Integrating Changes in Git[1] 大多数开发人员都理解在G…

【五子棋实战】第4章 部署五子棋计算接口到Window、Linux上

【五子棋实战】第4章 部署五子棋计算接口到Window、Linux上 python项目打包成exe可执行文件 ## 步骤一、安装pyinsatller ## 步骤二、使用pyinstaller打包Python程序 ## 操作演示 ## 注意事项!! python的Flask接口部署(Linux) ##…

二叉树-理论基础

文章目录 前言一、二叉搜索树平衡二叉搜索树 二、二叉树的存储方式二叉树的遍历方式二叉树的定义总结 前言 二叉树有两种主要的形式:满二叉树和完全二叉树。满二叉树:如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上…

16.vant Weapp

目录 1 使用npm 2 安装 vant 3 构建npm 4 去除 style:v2 5 使用 vant 6 样式变量 1 使用npm 微信小程序不支持下面三种包 不支持依赖 Node.js 内置库的包不支持依赖 浏览器内置对象 的包不支持依赖 C插件 的包 除去上面三种,能用的包就不多了&#…

面向AI的新编程范式

点击文末“阅读原文”即可参与节目互动 剪辑、音频 / 卷圈 运营 / SandLiu 卷圈 监制 / 姝琦 联合制作 / 声网 产品统筹 / bobo 录音间 / 声湃轩北京站 在这期播客节目中,我们将探讨AI与程序员如何共同进步。随着AI热潮席卷全球,许多程序员尝试着使…

python爬虫_python基础数据类型

文章目录 ⭐前言⭐python💖 Number💖 String💖 List💖 Tuple💖 Dict ⭐结束 ⭐前言 大家好,我是yma16,本文分享关于python的基础数据类型,作为python爬虫专栏的基石。 ⭐python 发…

【Note8】网络管理

文章目录 1.MII介绍2.BMC MAC3.MDIO&MDC4. 1.MII介绍 SOC内部没有网络MAC外设:缺:网络效率不高,一般芯片内置的MAC会网络加速引擎,如网络专用DMA,网络处理效率会很高。 SOC内部集成网络MAC外设:MII/RM…

【MySQL】不就是子查询

前言 今天我们来学习多表查询的下一个模块——子查询,子查询包括了标量子查询、列子查询、行子查询、表子查询,话不多说我们开始学习。 目录 前言 目录 一、子查询 1. 子查询的概念 2. 子查询语法格式 2.1 根据子查询结果不同可以分为:…

C++——内联函数

目录 1. 概念 2.特性 3. 经典面试题 1. 概念 以inline修饰的函数叫做内联函数,编译时C编译器会在调用内联函数的地方展开,没有函数压栈的开销,内联函数提升程序运行的效率。 以Add函数为例: int Add(int x, int y) {int z x…

RabbitMQ基础与实操复习

RabbitMQ基础复习 1、MQ引言1.1 什么是MQ1.2 MQ有哪些1.3 不同MQ特点 2、RabbitMQ引言2.1 RabbitMQ2.2 RabbitMQ安装 3、RabbitMQ配置3.1 RabbitMQ命令行3.2 Web管理界面3.2.1 overview概览3.2.2 Admin用户和虚拟主机管理 4、RabbitMQ常用消息模型测试4.1 RabbitMQ支持的消息模…

RabbitMQ应用场景和集群搭建复习

RabbitMQ应用场景和集群搭建 1. MQ的应用场景1.1 异步处理1.2 应用解耦1.3 流量削峰 2、RabbitMQ集群搭建2.1 普通集群(副本集群)2.1.1 架构图2.1.2 集群搭建1、集群规划:这里用三台虚拟机测试2、克隆三台机器主机名和ip映射3、 在其他两台节点上安装rabbitmq4、后台…

Neurophotonics | HyperOptoNet:用于fNIRS超扫描脑间神经同步分析的MATLAB工具箱

导读 意义:本研究开发了一个基于MATLAB的工具箱,用于脑间同步(IBS)分析,并进行了实验研究以验证其性能。据所知,这是第一个基于功能近红外光谱(fNIRS)超扫描数据的IBS工具箱,可在两个三维(3D)头部模型上直观地显示结果…

Elasticsearch:analyzer

前奏 es的chinese、english、standard等分词器对中文分词十分不友好,几乎都是逐字分词,对英文分词比较友好。 在kibana的dev tools中测试分词: POST /_analyze {"analyzer": "standard","text": "你太…

用OpenCV进行透视变换

1. 引言 欢迎回来!今天我们将焦点聚焦在我在图像处理中最喜欢的话题之一——透视变换。使用该技术,可以灵活方便的实现各种各样好玩的特效。 闲话少说,我们直接开始吧! 2. 单应矩阵 我们首先展开对单应矩阵的深入研究。作为图…

车载-惯性导航系统

概念 惯性导航系统是一种不受电磁波干扰,且不依靠外界信号即可完成自主定位的导航系统。 惯性导航系统的主要定位测量装置由加速度传感器和陀螺仪组成。其中,加速度传感器是用来测量载体所受到的惯性力,并通过牛顿第二加速度定律获取被测载…

OpenGL 面剔除

1.简介 OpenGL能够检查所有面向观察者的面,并渲染它们,而丢弃那些背向的面,节省我们很多的片段着色器调用(它们的开销很大!)。但我们仍要告诉OpenGL哪些面是正向面,哪些面是背向面。OpenGL使用…

Axure教程——走马灯

本文介绍用Axure中的动态面板制作走马灯效果 一、效果 预览地址:https://okjxsd.axshare.com 二、功能 1、图片自动播放并显示其状态 2、点击左右箭头,图片播放并显示其状态 三、制作 1、动态面板制作 拖进一个动态面板元件,设置尺寸&#…

RISC-V semi-hosting原理以及实践

嵌入式裸机调试需要在有限资源的目标硬件上尽可能挖掘更多的信息,比如打印寄存器等等,但是即便看似很简单的串口打印,在有的情况下也是奢望,针对这种情况,能够有效利用主机资源协同调试的semi-host(半主机&…