ELK详解(二十)——Elasticsearch索引管理

今天继续给大家介绍Linux运维相关知识,本文主要内容是Elasticsearch索引管理。
今天,我们来介绍几个用于Elasticsearch索引管理的命令,可以在没有安装Head插件的情况下查看我们的索引。

一、索引查看

首先,我们可以通过访问X.X.X.X:9200/_cat/indices?v的方式来查看索引。
例如,在Linux系统上,执行命令:

curl 192.168.136.101:9200/_cat/indices?v

结果如下:
在这里插入图片描述

二、索引删除

在查询出所有索引的基础上,我们还可以删除我们不需要的索引。

(一)删除指定索引

执行命令:

curl -XDELETE -u elasticsearch:changme http://X.X.X.X:9200/【索引名称】

可以删除指定的索引,如下所示:
在这里插入图片描述
如果我们想要删除多个索引,我们可以采用上述方式,用逗号间隔多个索引,这样就可以将这些索引全部删除了。

(二)索引模糊匹配删除

此外,我们在索引中添加星号(*),可以采用模糊匹配的方式,删除多个索引。
如执行命令:

curl -XDELETE -u elasticsearch:changeme http://192.168.136.101:9200/filebeat*

则会删除设备上所有以filebeat开头的索引,该命令执行结果如下:
在这里插入图片描述
以此类推,我们可以使用下面这条命令删除所有索引:

curl -XDELETE -u elasticsearch:changeme http://192.168.136.101:9200/*

实际上,Elasticsearch中提供了删除所有索引的命令,执行下面这条命令:

curl -XDELETE -u elasticsearch:changeme http://192.168.136.101:9200/_all

可以起到与上面那条命令完全相同的结果。

三、禁用索引通配符

尽管使用通配符可以快的删除索引,但是在通配符使用时,稍有不慎就会造成严重的后果,比如误删除有用的索引。因此,在生产环境中,我们通常都会禁用索引通配符,包括上面那个_all的删除所有索引的命令。
打开Elasticsearch配置文件/etc/elasticsearch/elasticsearch.yml,找到action.destructive_requires_name参数,该参数默认在注释中,并不会生效,我们取消掉该参数的注释,然后重启Elasticsearch,即可禁用通配符和删除所有索引的指令。
配置完成后的配置文件如下所示:
在这里插入图片描述
完成配置后,当我们想要使用通配符或者是_all命令时,就会报错,如下所示:
在这里插入图片描述

四、定时删除索引

由于日志量的不断增大,我们有时会设置定时删除索引的定时任务。加入我们要删除三天前的索引,那么我们可以根据索引的时间戳来删除索引。
如何生产三天前的时间戳呢?
我们可以使用date命令,如下:

date -d '3days' +'%Y.%m.%d'

在这里插入图片描述
因此,我们可以写定时任务如下:

30 3 * * * /usr/local/curl -XDELETE -u elasticsearch:changeme http://192.168.136.101:9200/*-$(date -d '-3days' +%Y.%m.%d) >/dev/null 2>&1

完成后的结果如下:
在这里插入图片描述
这样,在每天的三点半,该命令就会自动执行,删除三天前的索引了。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永远是少年啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值