Read from OpenSearch
출처: 문서
본문
OpenSearch에서 읽기
OpenSearch output plugin을 사용해서 Logstash 이벤트를 OpenSearch 클러스터로 보낼 수 있는 것처럼, OpenSearch input plugin을 사용하면 OpenSearch 클러스터에서 읽기 작업을 수행하고 데이터를 Logstash로 불러올 수도 있어요.
OpenSearch input plugin은 OpenSearch 클러스터에서 수행한 검색 쿼리 결과를 읽어서 Logstash로 불러와요. 이를 통해 불러온 데이터를 기반으로 테스트 로그를 재생하거나, reindex하거나, 그 밖의 다른 작업을 수행할 수 있어요. ingest 작업을 주기적으로 실행되도록 예약하려면 cron expressions을 사용하면 되고, 쿼리를 한 번만 실행해서 데이터를 Logstash에 수동으로 불러올 수도 있어요.
OpenSearch input plugin
OpenSearch input plugin을 실행하려면 Logstash의 config 폴더 안에 있는 pipeline.conf 파일에 설정을 추가해요. 다음 예제는 match_all 쿼리 필터를 실행하고 데이터를 한 번 불러와요.
input {
opensearch {
hosts => "https://hostname:port"
user => "admin"
password => "admin"
index => "logstash-logs-%{+YYYY.MM.dd}"
query => '{ "query": { "match_all": {}} }'
}
}
filter {
}
output {
}
일정에 따라 데이터를 ingest하려면 원하는 일정을 지정하는 cron 표현식을 사용해요. 예를 들어 매 분마다 데이터를 불러오려면 pipeline.conf 파일의 input 섹션에 schedule => "* * * * *"를 추가하면 돼요.
output plugin과 마찬가지로, pipeline.conf 파일에 설정을 추가한 다음에는 이 파일의 경로를 지정해서 Logstash를 시작해요:
$ bin/logstash -f config/pipeline.conf --config.reload.automatic
config/pipeline.conf는 pipeline.conf 파일의 상대 경로예요. 절대 경로를 사용할 수도 있어요.
pipeline.conf 파일의 output{} 섹션에 stdout{}을 추가하면 쿼리 결과가 콘솔에 출력돼요.
데이터를 OpenSearch 도메인으로 reindex하려면 여기에 나온 것처럼 output{} 섹션에 대상 도메인 설정을 추가해요.