带你读《Elastic Stack 实战手册》之44:——3.5.3.Rollup (2)

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 带你读《Elastic Stack 实战手册》之44:——3.5.3.Rollup (2)

《Elastic Stack 实战手册》——三、产品能力——3.5 进阶篇——3.5.3.Rollup (1) https://developer.aliyun.com/article/1228772


基础 API

 

创建汇总任务

 

请求:PUT _rollup/job/


image.png

image.png


PUT _rollup/job/es-slowlog-agg-id
{
  "index_pattern": "es-slowlog*", #索引pattern名称
  "rollup_index": "rollup-es-slowlog-agg", #目标索引,rollup-开头必须明确指定
  "cron": "0 * * * * ?",  #定时任务执行周期,与汇总数据的时间间隔无关。
  "groups": {
    "date_histogram": { #定义 日期直方图聚合
      "calendar_interval": "1m",  # 时间桶大小,一分钟一个桶
      "field": "timestamp_local", #聚合的时间字段
      "delay": "1m", #汇总延时,多久之前的数据可以进行汇总,因为部分数据写入可能会有延时,汇总任务前要将数据全部写入并且可查询
      "time_zone": "UTC" # 时区 eg: GMT+8
    },
    "terms": {
      "fields": [  #汇总字段
        "cluster", # 集群的名称
        "elasticsearch.index.name", #索引名称
        "host.name" #主机名
      ]
    }
  },
  "metrics": [], #默认是count数,可以指定min、max、sum、average、value count
  "timeout": "20s", #超时时间
  "page_size": 10000 #单页数量,较大的值会更快地汇总,但也会耗费更多内存
}

查询所有汇总任务

GET _rollup/job/*


获取单个汇总任务详情

请求:GET _rollup/job/


GET _rollup/job/es-slowlog-agg-id
{
  "jobs": [
    {
      "config": {
        "id": "es-slowlog-agg-id",
        "index_pattern": "es-slowlog*",
        "rollup_index": "rollup-es-slowlog-agg",
        "cron": "0 * * * * ?",
        "groups": {
          "date_histogram": {
            "calendar_interval": "1m",
            "field": "timestamp_local",
            "delay": "1m",
            "time_zone": "UTC"
          },
          "terms": {
            "fields": [
              "cluster",
              "elasticsearch.index.name",
              "host.name"
            ]
          }
        },
        "metrics": [
        ],
        "timeout": "20s",
        "page_size": 10000
      },
      "status": {
        "job_state": "stopped",
        "upgraded_doc_id": true
      },
      "stats": {
        "pages_processed": 0,
        "documents_processed": 0,
        "rollups_indexed": 0,
        "trigger_count": 0,
        "index_time_in_ms": 0,
        "index_total": 0,
        "index_failures": 0,
        "search_time_in_ms": 0,
        "search_total": 0,
        "search_failures": 0,
        "processing_time_in_ms": 0,
        "processing_total": 0
      }
    }
  ]
}

开始汇总任务

 

请求:POST _rollup/job//_start


POST _rollup/job/es-slowlog-agg-id/_start
#执行后获取当前任务状态,关注下status、stats
GET _rollup/job/es-slowlog-agg-id
{
  "jobs": [
{
     "config": {
        "id": "es-slowlog-agg-id",
        "index_pattern": "es-slowlog*",
        "rollup_index": "rollup-es-slowlog-agg",
        "cron": "0 * * * * ?",
        "groups": {
          "date_histogram": {
            "calendar_interval": "1m",
            "field": "timestamp_local",
            "delay": "1m",
            "time_zone": "UTC"
          },
          "terms": {
            "fields": [
              "cluster",
              "elasticsearch.index.name",
              "host.name"
            ]
          }
        },
        "metrics": [
        ],
        "timeout": "20s",
        "page_size": 10000
      },
      "status": {
        "job_state": "started",  #如果停止的任务,此处显示stopped 
        "current_position": { #当前rollup任务执行的位置,及term结果
          "cluster.terms": "clustername-demo",
          "elasticsearch.index.name.terms": "basiclog-slowlog_2021-04-02",
          "host.name.terms": "host_name-demo",
          "timestamp_local.date_histogram": 1618984980000      },
        "upgraded_doc_id": true
      },
      "stats": { #执行状态
        "pages_processed": 2,
        "documents_processed": 1,
        "rollups_indexed": 1,
        "trigger_count": 1,
        "index_time_in_ms": 103,
        "index_total": 1,
        "index_failures": 0,
        "search_time_in_ms": 6,
        "search_total": 2,
        "search_failures": 0,
        "processing_time_in_ms": 0,
        "processing_total": 2
      }
    }
  ]
}

《Elastic Stack 实战手册》——三、产品能力——3.5 进阶篇——3.5.3.Rollup (3) https://developer.aliyun.com/article/1228768

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
12月前
|
存储 索引
带你读《Elastic Stack 实战手册》之44:——3.5.3.Rollup (4)
带你读《Elastic Stack 实战手册》之44:——3.5.3.Rollup (4)
|
12月前
|
API 索引
带你读《Elastic Stack 实战手册》之44:——3.5.3.Rollup (1)
带你读《Elastic Stack 实战手册》之44:——3.5.3.Rollup (1)
|
12月前
|
API 索引
带你读《Elastic Stack 实战手册》之44:——3.5.3.Rollup (3)
带你读《Elastic Stack 实战手册》之44:——3.5.3.Rollup (3)
|
12月前
|
消息中间件 NoSQL 中间件
带你读《Elastic Stack 实战手册》之44:——3.5.3.Rollup (5)
带你读《Elastic Stack 实战手册》之44:——3.5.3.Rollup (5)
|
12月前
|
存储 项目管理 微服务
带你读《Elastic Stack 实战手册》之21:——3.4.2.6.Join数据类型
带你读《Elastic Stack 实战手册》之21:——3.4.2.6.Join数据类型
|
12月前
|
存储 运维 监控
带你读《Elastic Stack 实战手册》之2:——二、导读(下)
带你读《Elastic Stack 实战手册》之2:——二、导读(下)
254 0
|
12月前
|
自然语言处理 索引
带你读《Elastic Stack 实战手册》之33:——3.4.2.17.2.Schemaless(上)
带你读《Elastic Stack 实战手册》之33:——3.4.2.17.2.Schemaless(上)
102 0
|
12月前
|
JSON Java 数据格式
带你读《Elastic Stack 实战手册》之33:——3.4.2.17.2.Schemaless(下)
带你读《Elastic Stack 实战手册》之33:——3.4.2.17.2.Schemaless(下)
|
12月前
|
SQL 自然语言处理 监控
带你读《Elastic Stack 实战手册》之2:——二、导读(上)
带你读《Elastic Stack 实战手册》之2:——二、导读(上)
327 0
|
12月前
带你读《Elastic Stack 实战手册》之18:——3.4.2.3.Search通过Kibana(11)
带你读《Elastic Stack 实战手册》之18:——3.4.2.3.Search通过Kibana(11)