Loki | 数据过期自动删除策略设计

news2024/11/24 1:16:39

最近使用 Loki 碰到一个比较蛋疼问题,配置日志过期时间,配置这种事情,自然是要参照官方文档了,当时就找到了这个文档,地址:

https://github.com/grafana/loki/blob/v1.5.0/docs/operations/storage/retention.md

当我配置完成之后,启动 Loki 的时候直接提示:

Retention period should now be a multiple of periodic table duration

大概中文意思是说保留时间段必须是周期表的倍数,脑海里不禁打了一个大大问号,我是按照你的 demo 来的。于是,跑到 issue 里面进行了一番搜索,后来就发现了这个,如下是作者的回复 大概意思是说呢,默认情况下 168 小时一张表,日志保留时间应该是 168 的倍数,比如:168x4。

在这里插入图片描述
于是有人认为 Loki 官方给出的实例具有一定的迷惑性,当然我就是这样被绊倒了。(能不能职业一点,这样的错误对于初级用户,不知道要浪费多少时间,所以啊,出了问题,强烈建议到官方 issue 去查找原因)

在这里插入图片描述

那么 Loki 数据保留策略是如何设计的呢?

Loki 支持在基于表的数据存储中存储索引和块。使用这种存储类型时,会在一段时间内创建多个表:每个表(也称为周期表)都包含特定时间范围内的数据。这样做可以带来两个明显的好处:

每个表都绑定一个配置模式和版本,随着时间的推移修改了 Loki 的配置和版本信息,这样就可以做到多个模式和版本数据共存。在 schema_config 可以存在一个或者多个 config,每个 config 中都存在一个 from 字段,这样的话,就可以在不同 from 时间段内使用不同模式配置信息,出现版本升级或者 Loki 架构修改的时候,这个功能显得尤为重要。

在这里插入图片描述

通过这种配置当需要删除某个时间段之间的数据,就可以快速删除。数据存储系统中通常存在过期策略,而对于 Loki 是保留策略,可以在 Loki 中配置保留多少天的数据,那么之前数据会被清除,Loki 中默认保留所有数据,如果想要开启保留策略,必须在 loki.yaml 配置文件中添加如下配置:

table_manager:
  retention_deletes_enabled: true
  retention_period: 336h

超出这个保留时间的表数据将被自动清理,具体保留数据策略如下图所示:

在这里插入图片描述

那么保留的表数量公式为:number_of_tables_to_keep = floor(retention_period / table_period) + 1 注意:Loki 的保留数据时间最小单位是 24 小时,所以这个保留参数的配置应该为 24 小时的倍数。另外一点需要注意的是 Loki 虽然在设计中声明自己是多租户的,而且每个租户之间数据隔离,但在过期策略这部分却不支持按照租户设置过期策略,所以就目前来说 Loki 的多租户并不是特别完善,如下图所示:

在这里插入图片描述

选择使用 Loki 做日志存储和查询工具的原因其一节省资源、其二能够跟 Grafana 监控平台无缝集成、社区非常活跃、发展速度非常快。就目前而说,它是一个轻量级的日志存储和查询工具(支持简单的日志统计),如果需要使用复杂数据分析和统计,那么建议使用 EFK。以上就是本人在使用 Loki 的过程碰到一些问题,希望能够帮助到大家,谢谢!如有问题,关注公众号、加我微信,拉你进讨论群。

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

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

相关文章

手写txt模拟数据库简易框架

一.前言 之前学校让我们写控制台饿了么项目,当时进度没有到数据库,所以用的文本文件txt,来模拟数据库的实现,其实本质上就是一个文件读写,但是简单文件读写并不能包含我们想要的功能,例如条件查询&#xff…

【算法秘籍】藏在0和1之间的秘密,助你码出优秀人生

《算法秘籍》双十一 5折购书,就在京东商城 数据结构和算法是计算机科学的基石,是计算机的灵魂,要想成为计算机专业人员,学习和掌握算法是十分必要的。不懂数据结构和算法的人不可能写出效率更高的代码。计算机科学的很多新行业都离…

Discord将切换到临时文件链接以阻止恶意软件传播

导语 Discord是一个广受欢迎的社交平台,但其服务器长期以来一直是恶意活动的温床。为了解决这个问题,Discord决定采取行动,将切换到临时文件链接,以阻止恶意软件的传播。本文将介绍Discord的最新举措,并探讨其对用户安…

C盘清理指南(三)——文件目录更改

各位小伙伴你们好,今天的推送是C盘清理系列的第三期——文件路径更改,分为文件夹路径和软件默认路径两个模块。 一.文件夹路径更改 点击进入C盘,依次点击上方“查看——隐藏的项目”,可以看到C盘中各种隐藏目录。 单击…

kafka微服务学习

消息中间件对比: 1、吞吐、可靠性、性能 Kafka安装 Kafka对于zookeeper是强依赖,保存kafka相关的节点数据,所以安装Kafka之前必须先安装zookeeper Docker安装zookeeper 下载镜像: docker pull zookeeper:3.4.14创建容器 do…

Linux 下最主流的文件系统格式——ext

硬盘分成相同大小的单元,我们称为块(Block)。一块的大小是扇区大小的整数倍,默认是 4K。在格式化的时候,这个值是可以设定的。 一大块硬盘被分成了一个个小的块,用来存放文件的数据部分。这样一来&#xf…

操作系统 day06(进程控制、原语)

进程控制的概念 原语 怎么实现进程控制—用原语实现 如果不能一气呵成,那么会出现操作系统中的某些关键数据结构信息不统一的情况,这会影响操作系统进行别的管理工作,如下图所示: 原语的原子性怎么实现 正常情况下&#xff…

Source insight 创建工程研读库源码

下载库文件解压 创建工程添加路径 添加文件到工程 同步文件 下载库文件解压 创建工程添加路径 添加文件到工程 同步文件 数据库更新 强制重新分析所有文件仅同步当前源文件 添加和删除文件 自动添加新文件从项目中删除丢失的文件

程序员想要网上接单?那这几点注意事项你可要记好了!不看后悔!

相信网上接单对于程序员来说并不陌生,甚至有些程序员还以此为主业,靠网上接单来增加收入,维持生计,但是你真的确定你懂网上接单的套路吗?你知道网上接单的注意事项吗?这期文章就来盘点一下,无论…

跟着森老师学React Hooks(1)——使用Vite构建React项目

Vite是一款构建工具,对ts有很好的支持,最近也是在前端越来越流行。 以往的React项目的初始化方式大多是通过脚手架create-react-app(本质是webpack),其实比起Vite来构建,启动会慢一些。 所以这次跟着B站的一个教程,使用…

JavaWeb Day05 前后端请求响应与分层解耦

目录 一、请求与响应 (一)请求的参数接收 ①数组参数 ②集合参数 ③日期参数 ④json参数 ⑤路径参数 总结 (二)响应 ①简单文本text ②数组 ③列表 ④同一响应数据格式 ⑤总结 二、三层架构与分层解耦 &#xff0…

Windows下MSYS2下载与安装

下载地址: 官网下载地址 https://www.msys2.org/阿里云镜像下载 https://mirrors.aliyun.com/msys2/distrib/x86_64/https://mirrors.aliyun.com/msys2/distrib/x86_64/msys2-x86_64-20231026.exe?spma2c6h.25603864.0.0.12b92551XW5OSM官网下载 ![官网下载](htt…

程序员怎样才能学好算法,推荐好书送给大家

前言 数据结构和算法是计算机科学的基石,是计算机的灵魂 要想成为计算机专业人员,学习和掌握算法是十分必要的。不懂数据结构和算法的人不可能写出效率更高的代码。计算机科学的很多新行业都离不开数据结构和算法作为基石,比如大数据、人工…

【AICFD案例教程】轴流风扇仿真分析

AICFD是由天洑软件自主研发的通用智能热流体仿真软件,用于高效解决能源动力、船舶海洋、电子设备和车辆运载等领域复杂的流动和传热问题。软件涵盖了从建模、仿真到结果处理完整仿真分析流程,帮助工业企业建立设计、仿真和优化相结合的一体化流程&#x…

Jmeter接口自动化测试操作流程

在企业使用jmeter开展实际的接口自动化测试工具,建议按如下操作流程, 可以使整个接口测试过程更规范,更有效。 接口自动化的流程: 1、获取到接口文档:swagger、word、excel ... 2、熟悉接口文档然后设计测试用例&am…

QT第2课-GUI程序实例分析

GUI程序开发概述 不同的操作系统GUI开发原理相同不同的操作系统GUI SDK 不同 GUI 程序开发原理 GUI程序在运行时会创建一个消息队列系统内核将用户的键盘鼠标操作翻译成对应的程序消息程序在运行过程中需要实时处理队列中的消息当队列中没有消息时,程序将处于停滞…

第23章(上)_索引原理之索引与约束

文章目录 索引索引分类主键选择索引的代价 约束外键约束约束与索引的区别 索引使用场景不要使用索引的场景总结 索引 索引的概念:索引是一种有序的存储结构。索引按照单个或多个列的值进行排序。 索引的目的:提升搜索效率。 索引分类 按照数据结构分为…

通达OA V12版,引入thinkphp5.1框架,及获取session

通达OA V12版,引入thinkphp5.1框架 如下过程引入 如下过程引入 在D:/MYOA/webroot目录下,通过composer安装thinkphp5.1框架。在tp框架下,找到文件:thinkphp\library\think下的Error.php。方案1:截断异常输出 代码如…

js处理赎金信

给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。 如果可以,返回 true ;否则返回 false 。 magazine 中的每个字符只能在 ransomNote 中使用一次。 示例 1: 输入&…

栈的应用:表达式求值(中缀表达式,后缀表达式,前缀表达式)

目录 1.三种算术表达式1.中缀表达式2.后缀表达式3.前缀表达式 2.后缀表达式相关考点1.中缀表达式转后缀表达式1.手算方法2.例题3.机算 2.后缀表达式求值1.手算方法2.机算 3.前缀表达式相关考点1.中缀表达式转前缀表达式1.手算方法2.例题 2.前缀表达式求值 4.中缀表达式求值 1.三…