ES配置生命周期策略(二)

上篇,ES配置生命周期策略(一)只是根据官网验证了demo,

本篇给出实际工作中的使用,供参考

步骤是四步(前三步相同):

1、配置策略(policy)

复制代码
PUT _ilm/policy/ehr_prod_log_policy
{
  "policy": {
    "phases": {
      "hot": {                     
        "actions": {
          "rollover": {
            "max_size": "30gb"
          }
        }
      },
      "delete": {
        "min_age": "30d",
        "actions": {
          "delete": {}
        }
      }
    }
  }
}
复制代码

两个阶段,hot和delete;

索引超过30G,则执滚动;

delete阶段,超过30天执行删除动作。

2、索引模版(template)

复制代码
PUT _template/ehr_prod_log_template
{
  "index_patterns": ["ehr-prod-log-rollover-*"],                 
  "settings": {
    "number_of_shards": 1,
    "number_of_replicas": 1,
    "index.lifecycle.name": "ehr_prod_log_policy",      
    "index.lifecycle.rollover_alias": "ehr-prod-log-rollover"    
  }
}
复制代码

kafka中topic名称ehr-prod-log,这里对应定义别名“ehr-prod-log-rollover”,logstash配置会用到。

3、索引(index)

PUT ehr-prod-log-rollover-00000001
{
  "aliases": {
    "ehr-prod-log-rollover": {
      "is_write_index": true
    }
  }
}

4、Logstash配置

output {
  elasticsearch {
    hosts => ["**"]
    index => "ehr-prod-log-rollover"
    user => "ehr-prod"
    password => "***"
  }
}

实战中,通过logstash将日志从kafka采集到es,index => "ehr-prod-log-rollover",这里使用别名,与之对应。

则在es中对应生成对应索引,ehr-prod-log-rollover-0000000n,而对外使用别名即可。

posted @   小诸葛先生  阅读(1037)  评论(0编辑  收藏  举报
编辑推荐:
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
阅读排行:
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(四):结合BotSharp
· 一个基于 .NET 开源免费的异地组网和内网穿透工具
· 《HelloGitHub》第 108 期
· Windows桌面应用自动更新解决方案SharpUpdater5发布
· 我的家庭实验室服务器集群硬件清单
点击右上角即可分享
微信分享提示