我正在使用ELK堆栈来分析日志。因此,按照默认配置,ES会通过"logsatash-YYYY-MM-DD"
创建新索引。
因此,如果我将logstash配置为如下所示:
/var/log/rsyslog/**/2014-12-0[1-7]/auditd.log
因此,它正在读取旧日志,并且创建的索引名称将为
"logstash-2015-03-20"
,因此该索引将具有先前日期的文档(日志)。当我必须删除索引时,会发生我的问题。如果我只需要保留最后一周的数据并清除较旧的指标。当我删除除最近7天之外的索引名称时,我无法跟踪哪些日志名称保留在哪几天。例如:2014-12-07日期的日志可以保存在名为
logstash-2015-03-19
或logstash-2015-03-20
的任何索引中。那么我应该如何删除索引呢?
最佳答案
日志消息根据@timestamp字段的值(使用UTC时间)存储在索引中。如果您的2014-12-07日志以2015-03-19结尾,则此时间戳解析不正确。
通过添加grok和/或date过滤器更正此问题,您的2014-12-07日志将最终显示在logstash-2014.12.07索引中,清理旧日志将非常简单。
关于elasticsearch - 删除旧索引elasticsearch?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29159833/