使用热冻结数据层生命周期优化在 Elastic Cloud 中存储日志的成本

作者:来自 Elastic Jonathan Simon

收集数据对于可观察性和安全性至关重要,而确保数据能够快速搜索且获得低延迟结果对于有效管理和保护应用程序和基础设施至关重要。但是,存储所有这些数据会产生持续的存储成本,这为节省成本创造了一个关键机会。在 Elastic Cloud 中,你可以通过设置索引生命周期策略来优化存储费用。此策略允许你的数据从热(hot)数据层(提供超快搜索结果且存储成本较高)移动到具有成本效益的冻结(frozen)层(仍可搜索且获得相当快的结果)。

例如,在具有单个热层的部署中存储 90 天的日志将为你提供最佳性能,正如你对 Elasticsearch 所期望的那样。但在很多情况下,你不需要所有数据都具有超快的性能。有时,你只需要第一天的速度快;过去的日志检索速度可能会慢一点。这种方法将显著降低你的总拥有成本,因为冻结层可以以相同的成本存储高达热层 20 倍的数据量。

让我们开始吧。按照本分步指南为你的日志数据创建热冻结索引生命周期策略。

先决条件

  • 具有冻结数据层的 Elastic Cloud 部署
  • 在云中运行的本地计算机或虚拟机 (VM),我们将从中通过系统集成提取日志数据流 - Elastic 的 400 多个内置集成之一

创建 Elastic Cloud 部署

从创建 Elastic Cloud 部署开始,我们将在 Google Cloud 中运行的虚拟机上安装系统集成,以收集虚拟机的日志。然后,我们将逐步介绍如何配置存储在 Elastic Cloud 中的虚拟机日志以使用热数据层和冻结数据层。登录 Elastic Cloud 开始。

单击 Create deployment

输入你的部署名称并展开 Advanced 部分。

单击 +Add capacity 为冻结数据层添加容量”。

单击 Create deployment

收集日志

现在你已经拥有启用了冻结数据层的 Elastic Cloud 部署,让我们来收集一些日志。我们可以使用系统集成来执行此操作。在你的部署中,单击顶级菜单并选择 Add integrations 按钮。

在这里,在集成页面上,你可以看到我已经搜索了 System 集成。

选择 System 集成将显示其概览页面。要将此集成添加到客户端主机,你可以单击 Add System

单击 Install Elastic Agent

复制代理安装代码。我们将复制 Linux Tar 选项卡下的代码,因为我们的云 VM 运行的是 Linux 版本。

在连接到虚拟机的 SSH Cloud Shell 中,粘贴并运行刚刚复制的命令。

返回 Elastic Cloud 的系统集成页面,你应该会看到代理已成功安装的确认信息。单击 Add the integration

在 “Set up System integration” 页面上,单击 “Advanced options”,然后输入你选择的 Namespace。对于这篇博文,我们将输入“vm_logs” 作为命名空间。单击 “Confirm incoming data”。

你将看到一个确认页面,其中预览了由虚拟机上运行的 Elastic Agent 发送的传入数据。

现在,单击顶层菜单并选择 Discover,以便我们可以看到现在正在收集的日志。

在 Discover 页面上,单击 data stream selector,从 metrics-* 更改为 logs-*。

展开其中一个日志条目以查看其详细信息。

复制日志条目的索引名称,该名称显示为日志条目详细信息中 _index 的值。

创建索引生命周期策略

单击顶层菜单并 Stack Management

从左侧导航菜单中选择 Index Management

在 “Index Management” 页面的 “Indices” 选项卡上,单击 “Include hidden indices”。

从 Discover 页面的日志条目详细信息中搜索你在上一步中复制的索引名称。复制 Data stream,我们将在下一步中使用该值创建热冻结索引策略。

从左侧导航菜单中选择 Index Lifecycle Policies

单击 Create policy

在 Create policy 页面上,单击热阶段部分下的 Advanced settings

单击 “ Use recommended defaults” 切换按钮以编辑自定义选项。热阶段的默认持续时间为 30 天。

启用 “Frozen phase” 阶段,并在 “Move data into phase when” 输入框中输入数字零,以便值为 “0 days old.”。这意味着在 30 天的热(hot)阶段之后,受此策略控制的数据将立即移至冻结阶段。你的 “Create policy” 表单应类似于以下已完成的表单。单击 “Save policy” 以创建新的索引生命周期策略。

在索引生命周期策略页面,找到新创建的 Hot-Frozen-Policy 索引生命周期策略,然后单击其 “Add policy to index template” 按钮。

对于 index template,输入“logs-system.syslog”,这是我们在前面的步骤中看到的提取 System integration 日志的数据流的前缀。单击 Add policy

让我们确认一下,现在我们已将索引生命周期策略设置为应用于日志数据流。从左侧导航菜单中选择 “Index Management”,在这里我们可以确认包含我们提取的日志的索引是否在新的热冻结索引生命周期策略下运行。

在索引管理页面上,单击 “Include hidden indices” 切换按钮以启用它,然后像之前一样再次搜索包含日志的索引名称。你应该在搜索结果中返回一个索引。单击其 Data stream 链接。

在 “Data Streams” 选项卡中,你应该看到此日志数据流由我们刚刚创建的热冻结(hot frozen policy)策略管理。做得好!

要查看每个数据层的总存储量及其当前状态的概览,请单击顶层菜单并选择 Manage this deployment

立即优化你的日志存储成本

现在,你已经了解了创建索引生命周期策略的过程,这将降低数据在 Elastic Cloud 中老化时的存储成本。亲自尝试一下。将你的日志放入 Elastic Cloud,在那里你可以为你的数据提供自定义的生命周期策略,该策略针对你喜欢的可用性和可负担性级别进行了优化。

要了解更多信息,请参阅导览或查看索引生命周期管理文档。

本文中描述的任何特性或功能的发布和时间均由 Elastic 自行决定。任何当前不可用的特性或功能可能无法按时交付或根本无法交付。

原文:Optimize the cost of logs storage in Elastic Cloud using hot and frozen data tiers | Elastic Blog

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

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

相关文章

Node.js事件循环:解锁异步编程的奥秘

Node.js的事件循环是实现高性能、异步编程的关键机制。了解Node.js事件循环的工作原理和使用方法对于开发高效的应用程序至关重要。本文将深入介绍Node.js事件循环的原理、阶段和最佳实践,帮助您充分利用这一强大功能。 Node.js事件循环概述 Node.js事件循环是Node…

Windows docker下载minio出现“Using default tag: latestError response from daemon”

Windows docker下载minio出现 Using default tag: latest Error response from daemon: Get "https://registry-1.docker.io/v2/": context deadline exceeded 此类情况,一般为镜像地址问题。 {"registry-mirrors": ["https://docker.re…

20241114软考架构-------软考案例16答案

每日打卡题案例16答案 16.【2017年真题】 难度:简单 阅读以下关于软件架构评估的叙述,在答题纸上回答问题1和问题2.(共25分) 【说明】 某单位为了建设健全的公路桥梁养护管理档案,拟开发一套公路桥梁在线管理系统。在系统的需求分析与架构设…

使用C语言进行信号处理:从理论到实践的全面指南

1. 引言 在现代操作系统中,信号是一种进程间通信机制,它允许操作系统或其他进程向一个进程发送消息。信号可以用来通知进程发生了一些重要事件,如用户请求终止进程、硬件异常、定时器超时等。掌握信号处理技术对于开发健壮、高效的系统程序至…

7天用Go从零实现分布式缓存GeeCache(学习)(2)

参考:https://geektutu.com/post/geecache-day2.html // Cache 是一个 LRU 缓存(最近最少使用缓存),它不是并发安全的。 type Cache struct { maxBytes int64 // 缓存的最大字节数 nbytes int64 …

【微服务】Docker 容器化

一、初识Docker 1. 为什么需要 Docker 大型项目组件较多,运行环境也较为复杂,部署时会遇到一些问题: 依赖关系复杂,容易出现兼容性的问题开发、测试、生产环境有差异 Docker 如何解决依赖的兼容问题 将应用的Libs(…

curl命令提交大json

有个客户需要提交一个4M左右的pdf,接口里传的是pdf字节流base64编码后的字符串。 直接curl -XPOST -d json串 api接口会报 参数过长报错Argument list too long 网上搜了下解决方案把json串放到文本里然后通过json.txt引入参数 这一试不要紧,差点儿导致…

websocket身份验证

websocket身份验证 前言 上一集我们就完成了websocket初始化的任务,那么我们完成这个内容之后就应该完成一个任务,当客户端与服务端连接成功之后,客户端应该主动发起一个身份认证的消息。 身份认证proto 我们看一眼proto文件的内容。 我…

Scala学习记录,case class,迭代器

case class case class创建的对象的属性是不可改的 创建对象,可以不用写new 自动重写:toString, equals, hashCode, copy 自动重写方法:toString,equals,hashCode,copy 小习一下 1.case class 的定义语法是什么 基本形式:case …

mysql中的EXISTS和NOT EXISTS使用详解

本文来编写一个实例说下mysql中的EXISTS和NOT EXISTS使用详解 文章目录 exists用法SQL中in, not in, exists, not exists的区别使用实例本文小结 exists用法 exists: 如果括号内子查询语句返回结果不为空,说明where条件成立,就会执行主SQL语句。如果括号…

HTB:Precious[WriteUP]

目录 连接至HTB服务器并启动靶机 使用nmap对靶机TCP端口进行开放扫描 使用curl访问靶机80端口 使用ffuf爆破一下子域 使用浏览器访问该域名 使用curl访问该域名响应头 使用exiftool工具查看该pdf信息 横向移动 USER_FLAG:adf5793a876a190f0c08b3b6247cec32…

【论文分享】三维景观格局如何影响城市居民的情绪

本次带来一篇SCI论文的全文翻译!该论文以上海LivingLine项目为例,探索利用时空Wi-Fi数据分析街道层面的城市活力。 【论文题目】Understanding street-level urban vibrancy via spatial-temporal Wi-Fi data analytics: Case LivingLine Shanghai 【题…

大数据面试题--kafka夺命连环问(前15问)

目录 1、kafka消息发送的流程? 2、Kafka 的设计架构你知道吗 3、Kafka 分区的目的? 4、你知道 Kafka 是如何做到消息的有序性? 5、ISR、OSR、AR 是什么? 6、Kafka 在什么情况下会出现消息丢失? 7、怎么尽可能保…

scala 迭代更新

在Scala中,迭代器(Iterator)是一种用于遍历集合(如数组、列表、集合等)的元素而不暴露其底层表示的对象。迭代器提供了一种统一的方法来访问集合中的元素,而无需关心集合的具体实现。 在Scala中&#xff0c…

比ChatGPT更酷的AI工具

相较于寻找比ChatGPT更酷的AI工具,这听起来似乎是个挑战,因为ChatGPT已经以它强大的综合性能在AI界大名鼎鼎。然而,每个工具都有其独特的优势,特别是在特定的应用场景下,其他AI工具可能会展现出与ChatGPT不同的魅力。接…

[极客大挑战 2019]Upload 1

[极客大挑战 2019]Upload 1 审题 看到是一个文件上传类题型。 知识点 一句话木马的注入 知识点详解 一句话木马的原理 eval()函数会将参数作为PHP代码进行执行,因此通过eval()函数中的参数v提交要执行的代码即可完成漏洞利用。语句中的符号作用是可以屏蔽函数…

Redis缓存雪崩、击穿、穿透技术解析及解决方案

在使用 Redis 缓存时,经常会遇到一些异常问题。 概括来说有 4 个方面: 缓存中的数据和数据库中的不一致;缓存雪崩;缓存击穿;缓存穿透。 关于第一个问题【缓存中的数据和数据库中的不一致】,在之前的文章…

[C++11] 包装器 : function 与 bind 的原理及使用

文章目录 functionstd::function 的基本语法使用 std::function 包装不同的可调用对象function包装普通成员函数为什么要传入 this 指针参数?传入对象指针与传入对象实例的区别 例题 :150. 逆波兰表达式求值 - ⼒扣(LeetCode) bin…

企业一站式管理系统odoo的研究——系统搭建

大纲 1. 环境准备1.1 安装操作系统1.2 更新操作系统1.3 配置用户组和用户1.3.1 创建用户组 odoo1.3.2. 创建用户 odoo1.3.3. 设置用户 odoo 的密码1.3.4. 验证用户和组1.3.5. 将用户 odoo 添加到添加sudo组:1.3.6. 切到odoo用户 2. 安装 Odoo1. 安装依赖项目2.2. 安…

今天给在家介绍一篇基于jsp的旅游网站设计与实现

项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下,你想解决的问…