loki删除日志

简介

今天发现有一个硬盘满了,一看原来是loki的数据差不多把磁盘写满了

操作

找了下loki怎么删除日志

https://grafana.com/docs/loki/latest/operations/storage/logs-deletion/

第一行就说了

日志条目删除是实验性的。它仅支持 BoltDB Shipper 索引存储。

首先loki的配置文件中compactor需要开启

retention_enabled

之后重启才会有删除日志的那几个接口

默认如果你没有配置

delete_request_cancel_period

那么日志会在24h之后才会启动删除

你可以在这个时间段随时取消删除日志的请求

下面是我的配置

1
2
3
4
5
6
compactor:
  shared_store: filesystem
  working_directory: /data/loki/boltdb-shipper-compactor
  retention_enabled: true
  retention_delete_delay: 1m
  delete_request_cancel_period: 1m

配置完成之后调用下面几个接口就好了

创建你要删除的日志范围

curl -g -X POST 'http://127.0.0.1:49832/loki/api/admin/delete?match[]={}&end=1640971368' -H 'x-scope-orgid: 1'

比如说上面就是我想要删除2022-01-01 01:22:48之前的所有日志

查看请求是不是创建成功

curl -X GET http://127.0.0.1:49832/loki/api/admin/delete

退出删除请求

curl -X PUT http://127.0.0.1:49832/loki/api/admin/cancel_delete_request?request_id=9c902dde -H 'x-scope-orgid: 1'

一般来说没有多大问题的话日志就没了

欢迎关注我的博客 www.bboy.app

Have Fun