You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Elasticsearch ILM删除30天旧日志(AWS部署v8.5.3)

解决AWS Marketplace部署的Elasticsearch 8.5.3删除30天旧日志的方法

前提说明

针对特定部署实例操作,确保你拥有该实例的管理员权限,操作前建议备份重要数据。

操作步骤

1. 定位目标日志索引

登录对应部署的Kibana控制台,打开Dev Tools,执行以下命令查看所有索引,筛选出存储日志的索引(通常命名如logstash-*、filebeat-*等):

GET _cat/indices?v

2. 单索引内删除30天旧数据

如果目标是清理单个索引中30天前的日志,执行以下命令(替换your-log-index为实际索引名):

POST your-log-index/_delete_by_query
{
  "query": {
    "bool": {
      "filter": [
        {
          "range": {
            "@timestamp": {
              "lt": "now-30d/d"
            }
          }
        }
      ]
    }
  }
}
  • 若你的日志使用其他时间字段(如timestamp),替换@timestamp为对应字段名
  • now-30d/d表示当前时间往前推30天的凌晨,确保删除完整的30天前数据

3. 删除整批旧日期索引(适用于按日期分片的索引)

如果日志索引按日期命名(如filebeat-2024.01.01),可直接删除符合条件的旧索引:

  1. 先确认要删除的索引:
GET _cat/indices/filebeat-*?v&s=index
  1. 执行删除(示例:删除2024年1-4月的filebeat索引):
DELETE /filebeat-2024.0[1-4]*

4. 配置自动清理避免重复问题

为了不再手动清理,建议配置索引生命周期管理(ILM):

  • 在Kibana进入Stack Management > Index Lifecycle Policies
  • 创建新策略,设置Hot阶段保留活跃数据,添加Delete阶段并配置“30天后删除”规则
  • 将策略关联到日志索引的模板或现有索引

特殊情况处理

如果存储已完全占满导致无法执行删除,需先在AWS Marketplace的Elasticsearch部署控制台临时扩容存储,再执行上述清理操作。

内容的提问来源于stack exchange,提问作者vbala vbala

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 05:52:06