elk存储日志你需要知道一些冷知识

elk存储日志你需要知道一些冷知识

名称解释

index template 索引模板是一种复用机制,当建立一个索引,自动匹配模板完成索引的基础部分搭建。

index pattern 索引模式 通过index模式进行匹配、把匹配到所有index定义一个组,在kibana中都是以index pattern为基本查询单位

index alias 索引别名 通过给index添加一个相同的别名,可以让不同名称的index使用相同的别名进行查询。类似 kibana中的 index pattern

index lifecycle policies 索引生命周期策略 把一个策略添加到索引模板,响应的索引就应用了生命周期策略。

综合练习示例

//索引模板基本结构
{
    "priority": 0, //模板优先级
    "index_patterns": "log-messge-*", //模板匹配的名称方式
    "template":{
        "settings": {...}, //索引设置
        "mappings": {...}, //索引中字段的映射定义
        "aliase":   {...}, //索引别名
    }
}
//创建一个索引模板
PUT _index_template/log_message_template
{
 "index_patterns": "log_message_*", //索引名称匹配模式
 "priority": 0, //0优先级最低
 "template":{ 
    //索引分片副本设置
    "settings": {
       "number_of_shards": 1, 
       "number_of_replicas": 1
     },
     //索引字段映射
     "mappings": {
       "properties": {
         "china_id":{
           "type": "keyword"
         },
         "create_at":{
            "type":"date",
            "format":"yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
         }
       }
     },
     "aliases": { 
        //设置索引别名
       "log_messge": {} 
     } 
 },
 "version": 0 //索引版本不会自动增加
}

添加索引

POST log_message_20210820/_doc
{
   "china_id":"454535345",
   "create_at": "2021-08-09 14:20:30"
}
POST log_message_20210819/_doc
{
   "china_id":"899888888",
   "create_at": "2021-08-09 13:15:18"
}

查看创建的索引的别名 (自动创建为模板设置的 log_message 好神奇)
GET log_message_20210820/_alias
elk存储日志你需要知道一些冷知识

通过别名查询索引的结果 (客户端使用log_message这个别名就可以查询按日期创建的索引,so easy)
GET log_messge/_search
elk存储日志你需要知道一些冷知识

//创建生命周期策略

 PUT _ilm/policy/log_message_policy
 {
   "policy": {
     "phases": {
       "delete": {
         "min_age": "3d", //设置三天后删除
         "actions": {
           "delete": {}
         }
       }
     }
   }
 }

最后把策略应用到 log_message_template上,通过模板创建的索引在三天后就被删除了腾出空间迎接新日志。

elk存储日志你需要知道一些冷知识

上一篇:安装dropbear替代ssh


下一篇:常见的垃圾回收器