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

Elasticsearch能否定期聚合数据存储至其他索引,实现登录统计数据持久化?

ES原生支持直接在内部完成聚合并持久化存储,不需要额外写crontab脚本拉取再写入,根据你使用的ES版本可以选两种方案:

方案1:使用Transform功能(ES 7.2及以上版本首选,最优解)

Transform是ES官方推出的专门做预聚合、数据降采样留存的内置功能,完全适配你的场景,不需要额外维护调度逻辑,稳定性远高于自定义crontab脚本:

  • 源索引匹配login-*全量登录明细索引,按天做日期直方图分组,分别聚合成功、失败的登录次数
  • 聚合结果直接写入独立的统计索引login_stats_daily,后续你用Curator清理原始login-*索引完全不会影响统计索引的数据
  • 配置为连续运行模式后,Transform会自动做增量聚合,新的日志产生后会自动同步到统计索引,内置重试、错误检查机制

创建Transform的示例请求如下:

PUT _transform/login-daily-stats
{
  "source": {
    "index": "login-*"
  },
  "dest": {
    "index": "login_stats_daily"
  },
  "pivot": {
    "group_by": {
      "date": {
        "date_histogram": {
          "field": "login_time",
          "calendar_interval": "day",
          "format": "yyyyMMdd"
        }
      }
    },
    "aggregations": {
      "success": {
        "filter": {
          "term": {
            "login_status": "success"
          }
        }
      },
      "fail": {
        "filter": {
          "term": {
            "login_status": "fail"
          }
        }
      }
    }
  },
  "sync": {
    "time": {
      "field": "login_time",
      "delay": "60m"
    }
  }
}

创建完成后执行启动请求即可:
POST _transform/login-daily-stats/_start

方案2:Ingest Pipeline + ILM/定时任务实现(ES 7.2以下版本可选)

如果你的ES版本较低没有Transform功能,也不用自己写脚本拉取数据,直接调用ES内置的_reindex接口完成聚合写入,全链路在ES内部执行,性能远高于外部拉取再写入:

  • 你现有的Curator清理原始索引的逻辑可以完全保留不用修改
  • 每天定时调用一次_reindex接口,把前一天的聚合结果写入统计索引即可,哪怕你还是用crontab调度这个请求,也比你自己解析聚合结果再写入要简单稳定很多

示例请求如下:

POST _reindex
{
  "source": {
    "index": "login-*",
    "query": {
      "range": {
        "login_time": {
          "gte": "now-1d/d",
          "lt": "now/d"
        }
      }
    },
    "aggs": {
      "daily_stats": {
        "date_histogram": {
          "field": "login_time",
          "calendar_interval": "day",
          "format": "yyyyMMdd"
        },
        "aggs": {
          "success": {"filter": {"term": {"login_status": "success"}}},
          "fail": {"filter": {"term": {"login_status": "fail"}}}
        }
      }
    },
    "size": 0
  },
  "dest": {
    "index": "login_stats_daily"
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 16:24:01