当前位置: 首页>数据库>正文

elk 索引生命周期管理 elk 索引更新

版本信息

  • Elasticsearch -7.3.1
  • Kibana - 7.3.1

 

以下是在 Kibana Console 中常用的一些操作

?v - 显示题头,?pretty

GET /_cat/indices?v
GET /_cat/thread_pool?pretty

 
 1.调整索引的间隔 - refresh_interval

  默认情况下 ElasticSearch 索引的 refresh_interval 为5秒,这意味着数据写入至少5秒后才可以被搜索到,因此 ElasticSearch 被称为近实时搜索引擎。
  如果需要调整数据刷新方案,则有三种途径: 

   (1)设置数据刷新间隔:refresh_interval
   (2)调用数据刷新接口:_refresh。
     刷新所有 index: POST /_refresh
     刷新指定 index: POST /order_logs/_refresh
   (3)设置数据刷新策略:RefreshPolicy.

# 调整所有index的刷新间隔为15s
PUT {
  "settings": {
    "refresh_interval": "15s"
  }
} 

# 调整指定index的刷新间隔为15秒
PUT /order_logs_2019.12.11 {
  "settings": {
    "refresh_interval": "15s"
  }
}

例如:现在需要将 MySQL 中的数据做一次 Elasticsearch 全量更新,或者初次导入大量数据时,此时可以先关闭自动刷新,全量更新完成之后再打开。

# 关闭全部index的数据刷新
PUT /mysql_logs_2019.12.11
{
  "settings": {
    "refresh_interval": -1
  }
}

# 调整指定index的刷新间隔为30秒
PUT /order_logs_2019.12.11
{
  "settings": {
    "refresh_interval": "30s"
  }
}

 

2.查看指定索引的 shards 和 replicas 数量

GET /order_logs_2019.12.11/_settings

 

3.新增一个 ilm policy (索引生命周期管理)模板

  indices lifecycle management,此例是从索引建立之后7天,自动删除索引,ilm policy 可以在索引模板中引用生效

PUT /_ilm/order_logs_ilm_policy
{
  "policy" : {
    "phase" : {
      "delete" : {
        "min_age" : "7d",
        "actions" : {
          "delete": {}
        }
      }
    }
  }
}

4.新建一个索引模板

template_order_logs

{
  "index_patterns" : ["order_logs_*"],
    "order" : 99,
    "settings": {
      "number_of_shares" : 1,
      "number_of_replicas" : 0,
      "refresh_interval": "30s",
      "index.lifecycle.name" : "odrer_logs_ilm_policy"
},
  "mapping" : {
    "dynamic" : "false",
    "properties" : {
      "@timestamp" : {
        "type" : "date",
      },
      "logtime" : {
        "type" : "text",
        "index" : "true"
      },
      "level" : {
        "type" : "text",
        "index" : "true"
      },      
      "component" : {
        "type" : "text",
        "index" : "true"
      },
      "threadId" : {
        "type" : "text",
        "index" : "true"
      },
      "host.name" : {
        "type" : "text",
        "index" : "true"
      },
      "log.file.path" : {
        "type" : "text",
        "index" : "true"
      },
      "logbody" : {
        "type" : "text",
        "index" : "true"
      }
    }
  }
}

 

5.条件筛选

GET /_cat/indices?v&health=yellow

 

6.结果排序

GET /_cat/indices?v&s=docs.count:desc

 

7.统计索引的doc行数

 统计以 “order_logs_2019.12“ 开头的索引的 doc 数量

GET /_cat/count/order_logs_2019.12*?v&format=json&pretty

 

8.查看指定索引的 setting

GET /order_logs_2019.12.11/_settings?pretty

 

9.擦看各个索引的 shards 配置和空间占用状态

GET /_cat/shards&s=index:desc

 

10.查看集群节点属性

GET /_cat/nodeattrs?v

 

11.查看jvm

GET /_nodes/stats/jvm

 

12.查看热点线程

GET /nodes/hot_threads

 

13.查看各个线程的状态,例如写入线程,查询线程

  6.0之后 bulk 被分拆了,可以通过观察 elasticsearch 后台日志或是通过使用 thread pool api 来观察内部线程池的使用情况,以及相应队列大小,判断是否还可以继续调整配置参数。

GET /_node/stats/thread_pool

 

14.查看集群在忙些啥

  正常情况一批 bulk 操作应该是毫秒级的,从 task_id、parent_task_id 可以看出,一个 bulk 操作下面分为写主分片的动作和写副本的动作,其中:
  indices:data/write/bulk[s][p]:s 表示分片,p 表示主分片。
  indices:data/write/bulk[s][r]:s 表示分片,r 表示副本。

GET /_cat/tasks?v

 

15.查看索引模板

GET /_template/template_order_logs

 

16.查看 ilm policy (索引生命周期管理)

GET /_ilm/policy

 

- 其他
  监控工具 - Cerebro
  监控工具 - Elasticsearch Head

 




https://www.xamrdz.com/database/6q61932736.html

相关文章: