链接追踪系列-00.es设置日志生存7天-番外篇

打印 上一主题 下一主题

主题 1805|帖子 1805|积分 5415

索引生命周期战略
ELK日志我们一样寻常都是按天存储,例如索引名为"zipkin-span-2023-03-24",由于日志量所占的存储黑白常大的,我们不能一直生存,而是要定期整理旧的,这里就以保留7天日志为例。
自动整理7天以前的日志可以用定时使命的方式,这样就必要加入多一个定时使命,大概不同服务记录的索引名又不一样,这样用定时使命配照旧没那么方便。
ES给我们提供了一个索引的生命周期战略(lifecycle),就可以对索引指定删除时间,能很好解决这个题目。
索引生命周期分为四个阶段:HOT(热)=>WARM(温)=》COLD(冷)=>DELETE(删除)
给索引设生命周期战略(ILM)
这里为ELK日志超过7天的自动删除,所以只必要用到DELETE(删除阶段)
创建一个自动删除战略(auto_delete_policy):
delete:删除阶段,7天执行删除索引动作
  1. PUT _ilm/policy/auto_delete_policy
  2. {
  3.   "policy": {
  4.     "phases": {
  5.       "delete": {
  6.         "min_age": "7d",
  7.         "actions": {
  8.           "delete": {}
  9.         }
  10.       }
  11.     }
  12.   }
  13. }
复制代码

查看战略:GET _ilm/policy/

  1. #创建索引模板:索引模板可以匹配索引名称,匹配到的索引名称按这个模板创建mapping
  2. PUT _template/elk_template
  3. {
  4.   "index_patterns": ["zipkin*"],
  5.   "settings": {
  6.     "index":{
  7.       "lifecycle":{
  8.         "name":"auto_delete_policy",
  9.         "indexing_complete":true
  10.       }
  11.     }
  12.   }
  13. }
复制代码

说明:创建索引模板(elk_template),index.lifecycle.name把上面的自动删除战略绑定到elk索引模板
创建zipkin开头的索引时就会应用这个模板。
indexing_complete:true,必须设为true,跳过HOT阶段的Rollover
#查看模板:
GET /_template/

测试效果:
为了立刻知道演示效果,这里测试时把DELETE的日期又7天"7d"改为1分钟"1m"
  1. PUT _ilm/policy/auto_delete_policy
  2. {
  3.   "policy": {
  4.     "phases": {
  5.       "delete": {
  6.         "min_age": "1m",
  7.         "actions": {
  8.           "delete": {}
  9.         }
  10.       }
  11.     }
  12.   }
  13. }
复制代码
  1. #生命周期策略默认10分钟检测一次,为了方便测试,这里设为30s
  2. PUT /_cluster/settings
  3. {
  4.   "transient": {
  5.     "indices.lifecycle.poll_interval":"30s"
  6.   }
  7. }
复制代码

启动相关项目:把链路追踪日志写入到es查看 演示zipkin 篇)


#查看zipkin开头索引的生命周期战略:
GET zipkin*/_ilm/explain

#也可以在es中搜刮到:

#经过一分钟后: 没有了(删除了)

#演示乐成!最后把过期时间重新改成7d
  1. PUT _ilm/policy/auto_delete_policy
  2. {
  3.   "policy": {
  4.     "phases": {
  5.       "delete": {
  6.         "min_age": "1m",
  7.         "actions": {
  8.           "delete": {}
  9.         }
  10.       }
  11.     }
  12.   }
  13. }
复制代码
#生命周期战略默认10分钟检测一次
  1. PUT /_cluster/settings
  2. {
  3.   "transient": {
  4.     "indices.lifecycle.poll_interval”:”10m”
  5.   }
  6. }
复制代码

通过kibana操作:





查看索引汇总:


自动给索引添加删除战略
由于索引是按照日期生成的,所以自动给它加上删除战略







免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

吴旭华

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表