尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

Grafana Loki 日志删除实操指南:从零配置到物理清理

发布时间:2026/9/29 3:11:39

资讯中心
01
ARTICLE

Grafana Loki 日志删除实操指南:从零配置到物理清理

Grafana Loki 日志删除实操指南:从零配置到物理清理
Grafana Loki 日志删除实操指南从零配置到物理清理【免费下载链接】lokiLike Prometheus, but for logs.项目地址: https://gitcode.com/GitHub_Trending/lok/loki用 Grafana Loki 日志删除清理指定流和时间窗口的日志配置 compactor、提交请求、跟踪进度、取消操作一次讲清。5 分钟跑通最小配置加一条 curl先让删除功能跑起来细节后面再补。在 Loki 配置文件中加入limits_config: # retention_period: 744h # 想强制执行 retention 再开启 deletion_mode: filter-and-delete compactor: working_directory: /var/loki/compactor retention_enabled: true delete_request_store: gcs://your-delete-request-bucket # delete_request_store_db_type: boltdb # 默认值可省略 # …其余字段保持默认重启后向 compactor 的 3100 端口提交一个删除请求curl -X POST -H X-Scope-OrgID: tenant1 \ http://loki-compactor:3100/loki/api/v1/delete?query%7Bcluster%3D%22prod%22%7Dstart1704067200end1704153600看到204 No Content、响应头里带X-Delete-Request-ID就说明删除请求已进入队列。注意数据不是立刻消失请求要走过取消保护期后才由 compactor 真正执行删除。配置项速查哪些字段和删除相关与 compactor 日志删除相关的全部配置项如下默认值来自pkg/compactor/config.go配置项默认值说明compactor.retention_enabledfalse总开关不开删除端点根本不注册compactor.delete_request_store空存放删除请求的对象存储桶开启 retention 后必填compactor.delete_request_store_key_prefixindex/删除请求在桶内的路径前缀compactor.delete_request_store_db_typeboltdb本地请求数据库引擎可选boltdb或sqlitecompactor.backup_delete_request_store_db_type空迁移数据库引擎时同步双写的备份库仅支持boltdbcompactor.delete_request_cancel_period24h取消保护期期内可取消期过后才真正执行删除compactor.delete_max_interval24h带行过滤器的请求分片上限默认每片 24hcompactor.delete_batch_size70每个周期最多处理的删除请求数compactor.apply_retention_interval0sretention 执行周期为 0 时对齐 compaction 周期并自动加最多 10 分钟抖动compactor.retention_delete_delay2h删除请求被处理前chunk 真正删除的额外缓冲compactor.retention_delete_worker_count150删除 chunk 的工作协程数三个最容易混淆的点delete_request_store是对象存储位置delete_request_store_db_type只是本地引擎两者不是一回事delete_request_cancel_period给你留的取消窗口retention_delete_delay是执行前的缓冲别配反retention 未启用时删除端点压根不存在返回的是 400 而不是 403。deletion_mode 三种模式怎么选deletion_mode是limits_config中的全局设置默认filter-and-delete也可通过运行时配置文件按租户覆盖。⚠️ 拼写错误比如写成filter_only会在配置校验时直接报错compactor 起不来。limits_config: deletion_mode: filter-and-delete # 全局默认 # 也可在运行时配置文件中按租户覆盖模式查询时行为存储行为disabled正常返回删除 API 返回 403不删不滤filter-only过滤掉匹配行数据保留在存储中filter-and-delete默认过滤掉匹配行同时从对象存储物理删除选型建议合规要求数据必须消失时最终一定要落到filter-and-delete但第一次删大流量、或者还没把握查询条件够不够精确时先切filter-only用 Grafana 查询对比过滤前后的行数确认命中范围符合预期再切物理删除。想彻底禁用某租户的删除能力用按租户覆盖把它设为disabled即可。操作实战提交、跟踪、取消的完整时序提交四个参数都要过校验提交时服务端会逐项校验不合法直接 400query必填流选择器可带行过滤器语法或正则错误在提交时就会被拒不会留到执行期才失败start/end必填Unix 秒或 RFC3339start 必须小于 end且不允许删未来时间max_interval可选只控制分片粒度最小 1s单位限s/m/h不能大于delete_max_interval也不能大于待删时间窗口本身分片规则只有带行过滤器的请求才会按delete_max_interval或max_interval拆成多个子请求且分片之间刻意保留少量时间重叠避免边界漏删不带过滤器的请求不拆分跟踪GET 回来的状态怎么读curl -H X-Scope-OrgID: tenant1 \ http://loki-compactor:3100/loki/api/v1/delete返回该租户全部删除请求的 JSON 数组按创建时间排序内部字段UserID、SequenceNum已隐藏。状态字段可能是Received、N% Complete或Processed——同一请求的多个子请求会被自动合并成一条展示百分比按已完成子请求比例计算。可选参数for_querytime_filteringtrue只看查询过滤相关的请求startend按时间重叠过滤。取消保护期内随时可反悔curl -X PUT -H X-Scope-OrgID: tenant1 \ http://loki-compactor:3100/loki/api/v1/delete?request_idREQUEST_ID取消窗口就是delete_request_cancel_period默认 24h。窗口内、状态还是Received的请求随时可取消一旦开始处理或已Processed普通取消会被拒必须加forcetrue强删对超过取消期的请求普通取消同样被拒。另有GET/POST /loki/api/v1/cache_generation_number两个缓存代数端点删除完成后缓存代代会自动更新一般不需要你手动碰。一张链路图看懂删除怎么落地周期扫描compactor 每个 retention 周期apply_retention_interval为 0 时等于 compaction 周期加抖动扫描所有未处理的删除请求取消期过滤只有创建时间已超过delete_request_cancel_period的请求才进入执行队列——这是给你留的反悔窗口批量执行每周期最多处理delete_batch_size默认 70个请求chunk 删除并发度由retention_delete_worker_count控制chunk 重建写回filter-and-delete模式下带行过滤器的 chunk 会被读出、剔除匹配行、重建后写回对象存储并更新索引纯选择器请求无行过滤器则直接删除整个 chunk缓存代数更新请求标记为Processed租户的 cache generation number 自动递增查询结果缓存随之失效不会再把已删数据缓存回来 记住一点带行过滤器的删除是 compactor 最重的活CPU 和 IO 都是密集型的。要在多个租户、大时间范围上做这类删除参考 compactor 横向扩展文档把工作分散到多个 compactor 实例上。避坑清单⚠️ 对象存储先开版本控制versioning——retention 配错时这是你唯一的后悔药只想删数据、不想真的执行 retention 策略把retention_period设为0s再开retention_enabled先用filter-only观察命中范围确认无误后再切filter-and-delete删大数据量时给提交请求带上max_interval控制分片粒度避免单个子请求跨度过大拖长执行时间盯住loki_compactor_deletion_*指标请求积压、处理进度、失败次数都能看必要时扩容 compactor删除请求本身也存放在对象存储里delete_request_store这个桶同样要有备份策略从boltdb迁到sqlite时配backup_delete_request_store_db_type: boltdb双写迁移完再摘掉备份租户级限制想封掉某租户的删除能力用运行时配置按租户覆盖deletion_mode: disabled而不是动全局配置配置上 retention配好 delete_request_storedeletion_mode 选对删除请求就会穿过取消保护期被 compactor 定期物理清理。更多细节可参考 docs/sources/operations/storage/retention.md。【免费下载链接】lokiLike Prometheus, but for logs.项目地址: https://gitcode.com/GitHub_Trending/lok/loki创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。