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

如何在Elasticsearch Discover中按用户、应用、环境分组获取日志最值

在Elasticsearch Discover中实现分组聚合获取最早/最晚登录日志

操作步骤

1. 构建三级分组桶

在Discover界面开启左侧的聚合面板(点击顶部"聚合"按钮显示),按以下顺序添加嵌套的桶聚合:

  • 点击「添加聚合」→ 选择桶聚合-术语,字段选username,设置合适的大小(如1000,确保覆盖所有目标用户)
  • 在username桶下方点击「添加子聚合」→ 术语,字段选app.name(对应你的"app name"字段)
  • 在app.name桶下方点击「添加子聚合」→ 术语,字段选environment

2. 添加时间指标聚合

在聚合面板的最外层,添加两个指标聚合来获取时间范围:

  • 点击「添加指标聚合」→ 最小值,选择你的日志时间字段(如@timestamp),命名为最早登录时间
  • 再次点击「添加指标聚合」→ 最大值,同样选择时间字段,命名为最晚登录时间
    这两个指标会自动关联到每一组username+app.name+environment的结果中。

3. 获取对应日志文档(可选)

如果需要查看最早/最晚登录的具体日志内容,在三级分组桶的最内层(environment桶)添加子聚合:

  • 点击「添加子聚合」→ Top Hits,设置「大小」为1,在「排序」中添加规则:按时间字段升序,命名为最早登录日志
  • 再添加一个Top Hits聚合,大小设为1,排序规则改为降序,命名为最晚登录日志

注意事项

  • 确保你的时间字段是date类型,否则min/max聚合无法正确计算时间范围
  • 如果目标分组数量较多,调整术语聚合的「大小」参数,避免数据被截断
  • 你已设置的client name、caller class name等过滤器会自动作用于所有聚合逻辑,无需额外配置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 02:30:01