따로 커스텀해서 사용중인 esdump 관련 코드 일부를 업로드
[참고]
https://github.com/elasticsearch-dump/elasticsearch-dump
상수 값들 예시
{
"ELASTIC_URL": "http://<elastic 계정>:<elastic 패스워드>@<elastic 접속 IP>:<elastic 접속 PORT>",
"INDEX": "<백업하고자 하는 인덱스 명>",
"OUTPUT_FILE": "<백업될 output 파일 명>",
"LIMIT": "10000", # 백업할 Offset 양(단위)을 지정하는거다 MAX = 1만개
"CONCURRENCY": 2
}
FILTER_QUERY = {"query":{"term":{"<필터할 컬럼명>":""}}
esdump command
해당 인덱스 백업
command = f"""elasticdump\
--input={ELASTIC_URL}/{INDEX}\
--output={ES_BACKUP_FILE_PATH}/{OUTPUT_FILE}\
--limit={LIMIT}\
--concurreny={CONCURRENCY}
Elastic search에서 DSL을 활용해서 특정 필터 백업 하고 싶을 시,
command = f"""elasticdump\
--input={ELASTIC_URL}/{INDEX}\
--output={ES_BACKUP_FILE_PATH}/{OUTPUT_FILE}\
--limit={LIMIT}\
--concurreny={CONCURRENCY}\
--searchBody={repr(json.dumps(FILTER_QUERY))}
"""
반응형
'Tech > ELK' 카테고리의 다른 글
[Elastic Search, Logstash, Kafka] Log4J 취약점 조치 후기 (0) | 2022.02.04 |
---|---|
[Elastic Search] wsl에서 esdump시, no space left on device 에러 해결 (0) | 2021.12.09 |
[filebeat] 설정 파일 참고 (0) | 2021.12.03 |