elastic-kibana删除空间后处理
elk的日志系统占用空间,新手可能直接删除文件,但这样并不能释放空间,并且会引起elk的各种错误,包括权限错误等, 如果已经处理需要进行如下修复
物理删除文件后的权限处理
- 清除被占用空间
lsof -n|grep deleted
- 停止elasticsearch
- 停止kibana
- 注释
elasticsearch.yml
中的xpack配置 - 启动elasticsearch
- 删除
.security-7
1curl -XDELETE http://127.0.0.1:9200/.security-7
- 取消
elasticsearch.yml
的xpack配置的注释 - 修改elasticsearch密码,
elasticsearch-setup-passwords interactive
- 请求测试
1curl -u elastic:elastic http://127.0.0.1:9200/
- 删除kibana管理器
1curl -u elastic:elastic -XDELETE http://127.0.0.1:9200/.kibana_task_manager_1
- 请求删除kibana内容
1curl -u elastic:elastic -XDELETE http://127.0.0.1:9200/.kibana*
- 登录kibana重建索引
正确删除空间方式
正确删除空间的方式是定时通过接口删除索引, 具体如下
- 获取所有索引
1curl -u elastic:elastic -s -XGET http://127.0.0.1:9200/_cat/indices?v
- 按照名字删除30天以前的所有索引
1curl -u elastic:elastic -XDELETE http://127.0.0.1:9200/test-index-2021.01.01
- 创建脚本
1#!/bin/bash
2
3#删除ELK30天前的日志
4
5DATE=`date -d "30 days ago" +%Y.%m.%d`
6
7curl -u elastic:elastic -s -XGET http://127.0.0.1:9200/_cat/indices?v| grep ${DATE} | awk -F '[ ]+' '{print $3}' >/tmp/elk.log
8
9for elk in `cat /tmp/elk.log`
10
11do
12
13 curl -u elastic:ealstic -XDELETE "http://127.0.0.1:9200/$elk"
14
15done
- 创建cron表达式
1crontab -e
20 1 * * * del_30.sh