Elasticsearch5.x版本的索引定时自动清理和检测进程状态自动启动

Posted by Yancy on 2016-01-30

elasticsearch的索引定时自动清理

之前用 logstash来做日志收集 并用 elasticsearch来搜索,因为日志没有进行过滤,没几天就发现elasticsearch的索引文件大的吓人,之前还真没清理过。其实要说清理也简单,直接到 elasticsearch data文件夹里删掉就行了,写个脚本定期清理集群es的日志数据。

这里我清理1月7号的。

这里后面是索引名称。
app_error-2017.01.07

1
2
[root@es_01 sh]# curl -XDELETE 'http://10.47.88.206:9200/app_error-2017.01.07'
{"acknowledged":true}[root@es_01 sh]#

shell 7天清理一次数据写在计划任务里面:

1
2
3
4
5
6
7
8
#!/bin/bash
now=`date +%Y%m%d`
echo $now
days_07_before=`date -d "$now 7 days ago" +%Y.%m.%d`
echo $days_07_before
curl -XDELETE "http://$(hostname):9200/log-spm-product-$days_07_before" > /dev/null 2>&1
curl -XDELETE "http://$(hostname):9200/log-dataexport-product-$days_07_before" > /dev/null 2>&1

计划任务:

1
10 0 * * * /opt/sh/logstash-null.sh

官网:检查状态是否存在

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
检查文档是否存在编辑
如果只想检查一个文档是否存在 --根本不想关心内容--那么用 HEAD 方法来代替 GET 方法。 HEAD 请求没有返回体,只返回一个 HTTP 请求报头:
curl -i -XHEAD http://localhost:9200/website/blog/123
如果文档存在, Elasticsearch 将返回一个 200 ok 的状态码:
HTTP/1.1 200 OK
Content-Type: text/plain; charset=UTF-8
Content-Length: 0
若文档不存在, Elasticsearch 将返回一个 404 Not Found 的状态码:
curl -i -XHEAD http://localhost:9200/website/blog/124
HTTP/1.1 404 Not Found
Content-Type: text/plain; charset=UTF-8
Content-Length: 0
当然,一个文档仅仅是在检查的时候不存在,并不意味着一毫秒之后它也不存在:也许同时正好另一个进程就创建了该文档。

自动检测es端口状态如何不存在启动

1
2
3
4
5
vim /bin/whole51/es_poss.sh
#!/bin/bash
source /etc/profile
curl -Is "10.11.10.26:9200" | grep -q 'HTTP/1.1 200 OK' || su - elasticsearch -c "/usr/local/elasticsearch-5.5.2/bin/elasticsearch -d"
curl -Is "10.11.10.26:5601" | grep -q 'HTTP/1.1 200 OK' || /usr/local/kibana-5.5.2/bin/kibana &
1
*/2 * * * * /bin/whole51/es.sh

Communicative learning:

🐧 Linux shell_ senior operation and maintenance faction: QQ group 459096184 circle (system operation and maintenance - application operation and maintenance - automation operation and maintenance - virtualization technology research, welcome to join)
🐧 BigData-Exchange School:QQ group 521621407 circles (big data Yun Wei) (Hadoop developer) (big data research enthusiasts) welcome to join

Bidata have internal WeChat exchange group, learn from each other, join QQ group has links.