elasticsearch 최적화

[toc]

1. 히스토리 인덱스 삭제


모든 인덱스 내보내기

 curl  -u   USER:PASSWORD   http://IP:9200/_cat/indices?v > indices.20140127

내보내기 기반 인덱스 삭제

 curl  -XDELETE  -u USER:PASSWORD   http://IP:9200/nginx-access-2018.01.*

2. 콜드 인덱스 닫기

 curl  -XPOST -u USER:PASSWORD  http://IP:9200/nginx-access-2018.01.*/_close 

3. 콜드 인덱스 열기

 curl  -XPOST -u USER:PASSWORD  http://IP:9200/nginx-access-2018.01.*/_open 

4. Searchguard 복구 속도 최적화

 curl -u USER:PASSWORD   http://IP:9200/searchguard/_settings| python -m json.tool
 curl -XPUT -u  USER:PASSWORD   http://ip:9200/searchguard/_settings -d '{"index.priority": 10}'

모든 색인 보기

curl -u USER:PASS http://IP:9200/_cat/indices?v > indices.copy

모든 항목 보기, 항목 하루 색인


인덱스 app-app1-com-production-2018.07.28 이런 형식의 명령은 필터됩니다.kibana,searchguard,wather 세 가지 색인
sort -k3 indices.copy | awk '{print $3}'| cut -d "." -f1| awk -F"-"  'OFS="-"{$NF="";print}' |sed 's@\-$@@g'| uniq

gb 크기의 인덱스를 보고 정렬을 내립니다.

grep "gb$" indices.copy |sort -k10nr| less

스팸 데이터 삭제:

curl  -XDELETE  -u "USER:PASS"   http://IP:9200/%25%7B%5B%40metadata%5D%5Bes_index%5D%7D-2018.06.*
curl  -XDELETE  -u "USER:PASS"   http://IP:9200/%25%7B%5B%40metadata%5D%5Bes_index%5D%7D-2018.07.*

%{[@metadata][es_index]}-2018.07.27 -> %25%7B%5B%40metadata%5D%5Bes_index%5D%7D-2018.07.27

백업 보기:

curl  'http://IP:9200/_snapshot/backup_repository/backup- ?pretty'

1g 이상의 인덱스 조회

curl  -u "USER:PASS"  http://IP:9200/_cat/indices?v > indices #  

sort -k3 indices > indices.sort 

grep "gb$" indices.sort > 1g_indices

sort -k3 1g_indices | awk '{print $3}'| cut -d "." -f1| awk -F"-"  'OFS="-"{$NF="";print}'  |uniq| grep -v "^$" > index.txt #  

15일 전에 1g 이상의 인덱스를 닫고 일주일에 한 번 실행합니다

#!/bin/bash

cat index.txt|while read line
do
    for i in `seq 17 30`;
    do
      echo  curl  -XPOST -u USER:PASS  http://IP:9220/$line`date -d "$i days ago"  +%Y.%m.%d`/_close
      curl  -XPOST -u USER:PASS http://IP:9220/$line`date -d "$i days ago"  +%Y.%m.%d`/_close
       sleep 10
   done

done

좋은 웹페이지 즐겨찾기