ES 색인 에 있 는 데이터 삭제
하지만 현재 모든 인터페이스 로 그 는 색인 에 기록 되 어 있 습 니 다.나 는 200 일 전의 데 이 터 를 삭제 하고 싶 어서 오랫동안 연구 했다.
다음 스 크 립 트 는 이틀 동안 찾 았 고 인터넷 문서 에 따라 이틀 동안 수정 되 었 습 니 다.마침 최근 세 번 째 로 셸 을 배우 기 시 작 했 는데 셸 지식 과 결합 해 문 제 를 해결 하 는 것 이 효과 적 이라는 것 을 발견 했다.
아래 스 크 립 트 는 200 일 전의 ES 데 이 터 를 삭제 할 수 있 습 니 다.
[root@iZ23ejm6lkdZ ~]# cat /yqd/sh/Clean_Elasticsearch_Yqdlog.sh
#!/bin/bash
curl -X POST "10.253.40.87:9200/yqdlog/_delete_by_query?pretty" -H 'Content-Type:application/json' -d '
{
"query": {
"range": {
"bank_interfacelog_createTime": {
"gte": "now-200d",
"lte": "now",
"format": "epoch_millis"
}
}
}
}'
# echo " $index 200 ~"
세 번 째 열의 "10.253.40.87: 9200": ES 주소
세 번 째 열의 "yqdlog": 색인 이름
일곱 번 째 열의 "bank interfacelog createTime": 삭 제 된 시간 필드 를 지정 합 니 다.
8 열의 "now - 200 d": 데 이 터 를 삭제 하 는 시간 범위, "- 200 d"는 200 전의 데 이 터 를 삭제 하 는 것 입 니 다.
열 번 째 열: 기본 값 으로 사용자 정의 할 수 있 습 니 다.
스 크 립 트 실행:
[root@iZ23ejm6lkdZ ~]# sh /yqd/sh/Clean_Elasticsearch_Yqdlog.sh
{
"took" : 2382512,
"timed_out" : false,
"total" : 8817667,
"deleted" : 8817667,
"batches" : 8818,
"version_conflicts" : 0,
"noops" : 0,
"retries" : {
"bulk" : 0,
"search" : 0
},
"throttled_millis" : 0,
"requests_per_second" : -1.0,
"throttled_until_millis" : 0,
"failures" : [ ]
}
스 크 립 트 를 실행 하 는 과정 에서 ES 의 head 플러그 인 은 'yqdlog' 색인 데이터 가 현저히 감소 하 는 추 세 를 보 였 으 나, zabbix 가 감시 하 는 디스크 공간 은 오히려 더 큰 점용 을 보 였 습 니 다.
인터넷 의 문 서 는 ES 의 삭 제 는 즉각 효력 이 발생 하지 않 고 후기 에는 자동 으로 삭 제 될 것 이 라 고 말 했다.이 문 제 는 연구 할 필요 가 있다.
다음날 zabbix 를 보 니 디스크 공간 이 떨 어 진 것 같 습 니 다.
참고 문서:
https://www.cnblogs.com/abkn/p/10302883.html- es 정기 적 으로 데이터 삭제
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.