菜单
文档breadcrumb arrow Grafana Lokibreadcrumb arrow 管理breadcrumb arrow 存储breadcrumb arrow 日志条目删除
开源

日志条目删除

Grafana Loki 支持删除指定流中的日志条目。将删除落在指定时间窗口内并匹配可选行过滤器条件的日志条目。

仅当配置了 TSDB 或 BoltDB shipper 作为索引存储时,才支持日志条目删除。

compactor 组件通过 REST 端点处理删除请求。调用该端点可指定流和时间窗口。日志条目的删除将在可配置的取消时间段到期后发生。

日志条目删除依赖于为 compactor 定义的自定义日志保留工作流程配置。compactor 查看已超出取消期且未处理的请求,以决定是否删除一个 chunk。

配置

通过将 compactor 配置中的 retention_enabled 设置为 true,并将运行时配置中的 deletion_mode 设置为 filter-onlyfilter-and-delete 来启用日志条目删除。启用保留功能时,还需要配置 delete_request_store 以处理删除请求,这指定了存储删除请求的对象存储桶。

警告

启用保留功能时请务必小心。强烈建议您同时在对象存储中启用对象版本控制,以便在误配置保留设置时能够恢复。如果您想启用删除功能但不强制执行保留策略,请将 retention_period 设置为 0s

由于它是运行时配置,如果需要,可以按租户设置 deletion_mode

使用 filter-only 时,查询 Loki 时会过滤掉与删除请求中查询匹配的日志行,但不会从存储中移除它们。使用 filter-and-delete 时,查询 Loki 时会过滤掉与删除请求中查询匹配的日志行,并且也会从存储中移除它们。

删除请求可以在可配置的取消期内取消。在 compactor 的 YAML 配置中或在调用 Loki 的命令行中设置 delete_request_cancel_period。其默认值为 24 小时。

只要 compactor.retention_enabled 设置为 true,API 端点就会可用。之后,可以通过 deletion_mode 租户覆盖设置来启用每个租户对删除 API 的访问权限。