logstash

시훈·2023년 4월 8일
0

ElasticSearch

목록 보기
2/4
post-thumbnail

elasticsearch를 사용해 검색기능을 구현하다보면 자연스럽게 ELK스택에 대하여 알게 된다.

ELK란

  • Elasticsearch : 인덱스한 데이터를 기반으로 검색
  • Logstash : input,filter,ourter로 구성되며 실시간 파이프라인 기능을 가진 오픈소스 데이터 수집
  • Kibana : Elasticsearch 데이터를 시각화
    를 묶어서 말하는 것이다.

검색과정

검색 기능은 다음과 같은 과정을 거친다.
1 - logstash를 활용한 실시간 파이프라인을 구성하고, elasticsearch에 인덱싱 과정
2- elasticsearch 인덱스 기반으로 데이터 검색

굉장히 심플한 과정이다.

이번 글에서 소개할 내용은 1번과정인 실시간 파이프라인을 구성하여 elasticsearch에 인덱싱 하는 과정을 소개하려고 한다.

작업하려는 방식은 logstash plugin을 사용해 mongodb의 input을 elasticsearch output에 넣어주려고 한다.

사용하는 플러그인

logstash-plugin install logstash-input-mongodb
logstash-plugin install logstash-output-elasticsearch

//logstash 구성파일
input {
  mongodb {
    uri => "mongodb://디비:비번@외부ip:27017/Source=디비"
    collection => "컬렉션이름"
    batch_size => 5000
    placeholder_db_dir => "/usr/share/logstash/data"
  }
}

output {
  elasticsearch {
    hosts => ["http://localhost:9200"]
    index => "myindex이름"
    document_id => "%{[_id]}"
    document_type => "_doc"
  }
}

하지만 여기서 문제가 발생했다.
프로젝트에서 사용하는 logstash의 버전은 7.17.0버전

https://www.elastic.co/guide/en/logstash/7.17/output-plugins.html을 확인하면 지원하는 플러그인을 볼 수 있다.

logstash-plugin install logstash-input-mongodb플러그인은 더이상 정식지원하는 플러그인이 아니다. (6버전 까지만 지원한다)

다음 포스트에서는
logstash-plugin install logstash-input-mongodb플러그인을 사용하지 않고 파이프라인을 구성하는법을 올려야겠다.

정리

  • logstash를 사용하여 파이프라인을 구성하면 elasticsearch 인덱싱 과정을 자동으로 할 수 있다.
  • logstash-plugin install logstash-input-mongodb플러그인은 더이상 정식 플러그인이 아니다.
profile
생산성을 높이고, 집중을 즐기는 개발자

0개의 댓글