Computer >> 컴퓨터 >  >> 프로그래밍 >> 데이터베이스

Elasticsearch 활용 사례 TOP 5: 로그 분석부터 데이터 시각화까지

이 글은 2017년 5월 16일 ObjectRocket.com/blog에 처음 게시되었습니다.

"검색을 위해서"라는 익숙한 문구를 넘어, Elasticsearch®의 활용 범위는 시간이 지날수록 계속 확장되고 변화하고 있습니다. ObjectRocket은 오랫동안 플랫폼에서 호스팅 Elasticsearch 서비스를 제공해 왔으며, 그 과정에서 고객들이 이 제품을 어떻게 사용하는지 뚜렷한 트렌드를 파악할 수 있었습니다. 이번 글에서는 ObjectRocket 플랫폼에서 가장 많이 볼 수 있는 Elasticsearch의 대표적인 활용 사례 다섯 가지를 소개합니다.

Elasticsearch 활용 사례 TOP 5: 로그 분석부터 데이터 시각화까지

1. 로깅 및 로그 분석

Elasticsearch에 익숙한 사람이라면 전혀 놀랍지 않은 첫 번째 사례입니다. Elasticsearch를 중심으로 형성된 생태계 덕분에 로깅 솔루션을 구축하고 확장하기가 무척 쉬워졌습니다. 실제로 플랫폼의 많은 사용자가 주요 업무 외에 로깅 기능까지 이를 통해 해결하고 있습니다. Beats부터 Logstash®, Ingest Node까지, Elasticsearch는 데이터가 어디에 있든 이를 수집하고 인덱싱할 수 있는 다양한 옵션을 제공합니다. 여기에 Kibana®를 더하면 풍부한 대시보드와 분석 환경을 손쉽게 구축할 수 있고, Curator를 활용하면 로그 보존 기간 관리까지 자동화할 수 있습니다.

2. 공개 데이터 수집 및 통합

로그 데이터와 마찬가지로 Elastic Stack에는 원격 데이터를 손쉽게 가져와 인덱싱할 수 있는 도구가 풍부합니다. 또한 대부분의 문서 저장소와 같이 엄격한 스키마가 없기 때문에, 서로 다른 여러 데이터 소스를 유연하게 수용하면서도 모든 데이터를 관리 가능하고 검색 가능한 상태로 유지할 수 있습니다. 흥미로운 예로 Twitter 커넥터를 들 수 있습니다. 이 도구를 사용하면 Twitter에서 특정 해시태그를 지정해 모니터링하고, 해당 해시태그가 포함된 모든 트윗을 수집한 뒤 Kibana에서 분석할 수 있습니다. 저희는 이 제품을 Elastic Stack의 핵심 구성 요소 위에 구축하고, 확장성을 높이기 위해 몇 가지 기능을 추가했습니다.

3. 전문(Full-text) 검색

Elasticsearch의 핵심 기능인 전문 검색이 목록 상위권에 오른 것도 당연합니다. 다만 놀라운 점은 고객들이 이 기능을 활용하는 방식입니다. 그 용도는 기업 검색이나 전자상거래를 훨씬 넘어섭니다. 사기 탐지와 보안부터 협업 도구에 이르기까지, 사용자들은 Elasticsearch의 검색 기능이 강력하고 유연하며 검색을 더욱 쉽게 만들어 주는 다양한 도구를 갖추고 있다는 점을 잘 알고 있습니다. Elasticsearch는 자체 쿼리 DSL(Domain Specific Language)을 제공할 뿐만 아니라 자동 완성, "이것을 찾으셨나요(Did you mean)" 추천 등의 기능도 기본적으로 내장하고 있습니다.

4. 이벤트 데이터 및 메트릭

Elasticsearch는 메트릭이나 애플리케이션 이벤트처럼 시간 순서에 따라 생성되는 시계열 데이터 처리에도 매우 뛰어난 성능을 발휘합니다. 방대한 Beats 생태계 덕분에 일반적인 애플리케이션의 데이터를 손쉽게 수집할 수 있다는 점도 큰 장점입니다. 어떤 기술 스택을 사용하든 Elasticsearch가 기본적으로 제공하는 구성 요소만으로 메트릭과 이벤트를 수집할 수 있을 가능성이 높으며, 드물게 지원하지 않는 경우에도 필요한 기능을 추가하기가 쉽습니다.

5. 데이터 시각화

Kibana는 다양한 차트 옵션, 지리 데이터를 위한 타일 서비스, 시계열 데이터를 위한 TimeLion까지 갖춘 강력하면서도 사용하기 쉬운 시각화 도구입니다. 이번 글에서 소개한 모든 사용 사례를 Kibana의 시각화 구성 요소로 처리할 수 있습니다. 다양한 데이터 수집 도구에 익숙해지면, 복잡한 데이터를 이해하고자 할 때 Elasticsearch + Kibana 조합이 최고의 선택지가 된다는 사실을 깨닫게 될 것입니다.

결론

이것이 Elasticsearch의 모든 사용 사례는 아니지만, ObjectRocket 서비스에서 가장 두드러지게 나타나는 핵심 활용 패턴들입니다. Elasticsearch와 Elastic Stack의 다른 구성 요소들은 그 뛰어난 범용성이 이미 입증된 바 있습니다. 보시다시피 지금 진행 중인 프로젝트에 Elasticsearch를 통합하면 다양한 방식으로 추가적인 인사이트를 얻을 수 있습니다. 개인적으로 이것이 Elasticsearch의 가장 매력적인 부분이라고 생각합니다. 단순히 데이터를 저장할 또 하나의 데이터베이스를 추가하는 것이 아니라, 이미 사용 중인 기술을 한 단계 더 발전시킬 수 있다는 점입니다.

의견이나 질문이 있다면 피드백 탭을 이용해 주세요. 언제든지 대화를 시작할 수 있습니다.