清理日志数据操作
更新时间: 2025-07-13 12:08:54
阅读 6
方案一:
如果客户不考虑保留es数据
注意只在主节点上操作
docker stack rm log #停止日志服务
cd /youdata/db/
rm -rf es filebeat #删除es以及filebeat目录
mkdir es filebeat #重新建立目录
chmod 777 es #赋权
chmod 777 filebeat
cd /youdata/installer
dsd docker-stack.log.yaml log #重拉日志服务
等待服务启动恢复
这是对日志数据没有保留要求,可以全部清理掉日志
方案二:
客户对日志数据有保留要求,只能手动进入es容器手动删除较大索引
dx log_es
bash
curl -XGET "http://localhost:9200/_cat/indices?v&s=store.size:desc"
手动删除较大索引
curl -XDELETE "http://localhost:9200/<index名称>"
删除成功后返回
{"acknowledged": true}
这个只能手动一条一条删除,每次执行删除一条索引
重新设置es保留策略
curl -X PUT "http://localhost:9200/_ilm/policy/youdatalog_policy" -H 'Content-Type: application/json' -d'
{
"policy": {
"phases": {
"hot": {
"actions": {
"rollover": {
"max_age": "24h"
}
}
},
"warm": {
"min_age": "2d",
"actions": {
"forcemerge": {
"max_num_segments": 1
}
}
},
"cold": {
"min_age": "3d",
"actions": {
"freeze": {}
}
},
"delete": {
"min_age": "5d",
"actions": {
"delete": {}
}
}
}
}
}'
根据所需设置各阶段的保留时间
curl 127.0.0.1:9200/_ilm/policy/youdatalog_policy
查看是否修改生效
文档反馈
以上内容对您是否有帮助?