실시간 데이터 분석이 강점…엘라스틱 스택과 엑스팩 (Elastic Stack with X-Pack)

[컴퓨터월드] 엘라스틱 스택(Elastic Stack)은 전세계 10만명 이상의 커뮤니티 회원과 4500개 이상의 유료 고객을 확보하고 있는 실시간 데이터 분석에 강한 글로벌 데이터 플랫폼이다. 지난 12월 서울 코엑스 인터컨티넨탈에서 개최된 ‘서울 엘라스틱 온 투어’에는 500여명이 참석하고 3700여명이 커뮤니티 활동을 하는 등 국내 시장에서 이미 솔루션에 대한 시장의 관심이 높다. 디리아(대표 배현기)는 지난 6월 엘라스틱서치 코리아(Elasticsearch Korea)와 금융부문 전략적 리셀러 협약을 맺고 본격적으로 엘라스틱 제품의 시장 확대에 나서고 있다.

엘라스틱 스택(Elastic Stack)은 오픈소스 기반의 솔루션이다. 다양한 DB 플랫폼이 있지만 그 중에서도 엘라스틱 스택(Elastic Stack)이 주목받고 있는 것은 그 쿼리속도 때문이다. 엘라스틱 스택은 text, number, date, IP address 및 다양하게 추상화 된 모든 유형의 데이터를 인덱싱(indexing)하는 방법을 채택함으로써 타사 제품 대비 엄청난 실시간 쿼리속도 향상을 보여준다.

또한 출시 예정인 엘라스틱서치(Elasticsearch) 6.4버전에는 한글형태소분석기 ‘NORI’가 포함됨으로써 한국 사용자들에게 더욱 활용도가 높아질 전망이다. 엘라스틱 스택(Elastic Stack)은 데이터를 수집하는 Beats, 데이터를 수집·변환하는 Logstash, 검색 및 분석엔진 Elasticsearch와 데이터를 시각화하고 모든 기능을 관리하는 Kibana로 구성된다.


엘라스틱 스택의 기본 구성

▲ 엘라스틱 스택의 기본 구성

경량 데이터수집기 Beats
Beats는 특정 목적을 위한 데이터 수집용 플랫폼이다. 경량 에이전트로 설치되어 로그 파일, 메트릭, 네트워크 데이터, windows 이벤트 로그, 감사 데이터, 가동시간 데이터 등 다양한 유형의 수백 개 또는 수천 개의 데이터를 수집하여 Logstash 또는 Elasticsearch로 전송한다.

동적 데이터 수집 파이프라인 Logstash
Logstash는 포맷이나 스키마에 관계없이 모든 데이터를 수집하고 강화 및 통합하기 위한 Elastic Stack의 중앙 데이터 플로우 엔진이다. 확장 가능한 플러그인 에코시스템으로 구성되어 다양한 시스템에 산발적으로 보관된 여러 유형의 데이터들을 연속 스트리밍 형태로 간편하게 수집한다. 200개 이상의 플러그인을 제공하는 프레임워크를 제공하며 API와 플러그인 생성기를 통해 고유한 플러그인을 생성할 수도 있다. Logstash 필터는 IP주소에서 위치 좌표를 해독하거나 PII데이터를 익명화하고 민감한 정보 필드를 완전히 제외하는 등 입력된 데이터들을 통합된 형식으로 변환하여 분석이 용이하도록 만들어준다. 이 후 저장소를 선택하여 데이터를 전송하게되며 Elasticsearch 뿐만 아니라 다양한 저장소로 다운스트림이 가능하다.

분산형 RESTful 검색 및 분석 엔진 Elasticsearch
Elasticsearch는 정형, 비정형, 위치정보, 메트릭 등 원하는 방법으로 다양한 유형의 검색을 수행하고 결합할 수 있다. 텍스트는 역인덱스로 색인하고 숫자 및 위치 데이터는 BKD tree로, 기타 데이터들은 분석을 위해 columnar store로 저장하며 항목들을 인덱싱해 모든 데이터에 빠른 속도로 액세스할 수 있다. Elasticsearch는 표준 REST API와 JSON을 사용하며 Java, Python, .NET 및 PHP와 같은 다양한 언어로도 클라이언트 구축 및 유지 관리가 가능하기 때문에 작업이 용이하다. 300개의 노드던 단일 노드던 실행되는 Elasticsearch 클러스터는 모두 동일한 방식으로 대화하며 원활한 작업을 위해 클러스터에서 인덱스와 쿼리 배포 방법을 자동으로 관리하면서 초당 엄청난 양의 이벤트를 처리할 수 있도록 수평적 확장이 가능하다.

▲ Kibana 화면 예시

Elasticsearch 데이터를 시각화하는 Kibana
Kibana는 사용자들이 단순히 클릭과 드래그만으로도 데이터의 심층 분석이 가능하도록 개발되었다. 기본적으로 히스토그램, 라인 그래프, 파이 차트, 선버스트와 같은 형태로 데이터를 시각화할 뿐만 아니라 Elastic Map 서비스를 활용해 위치정보 데이터를 시각화하기도 하고 Time Series UI를 통한 시계열 분석, 데이터간 관계 탐색 등의 기능을 제공한다.


엔터프라이즈 기능의 X-Pack
X-Pack은 엘라스틱 스택(Elastic Stack)의 확장 패키지이다. 기본기능을 충실하게 제공해주는 엘라스틱 스택(Elastic Stack)만으로도 많은 기능을 활용할 수 있다. 하지만 확실한 보안, 효율적인 모니터링, 그리고 용이한 보고서 작성 기능과 같이 엔터프라이즈 운영환경을 갖추기 위해서 확장 기능을 제공하는 패키지 X-Pack의 도입은 필수적이다. X-Pack이 제공하는 주요 기능은 다음과 같다.

▲ X-Pack 주요 기능

Security
Elastic Stack에 유입되는 데이터를 허가되지 않는 사용자와 비의도적인 수정으로부터 보호하기 위해 인증기능을 제공한다. 멀티테넌시 지원기능을 통해 특정 Elasticsearch 인덱스에 대한 액세스 권한을 사용자에게 부여할 수 있다.

Alerting
데이터 변경 사항을 감지 하고 알람 기능을 제공한다. CPU 사용량의 갑작스런 증가, 어플리케이션 응답시간의 급증, Elasticsearch 인덱싱 속도의 급락과 같은 변화를 감지하고 알람을 주며 그 방법으로는 이메일, PagerDuty, Slack, HipChat등 다양한 옵션이 제공된다. 또한 기존 모니터링 인프라나 타사 시스템과 통합될 수 있는 강력한 Webhook도 제공한다.

Monitoring
Elastic Stack을 최적화하는 데 필요한 모든 정보를 제공하고 다양한 레벨에서 이들의 상태를 평가할 수 있는 대시보드를 제공한다. 대시보드를 통해 클러스터 상태를 한 눈에 볼 수 있으며 통합 모니터링 클러스터를 구성해서 서로 다른 위치에 배포된 여러 개의 Elastic Stack 시스템들의 작업을 쉽게 중앙으로 모아 기록하고, 추적하고 서로 비교해 볼 수 있다.

Reporting
클릭 한 번으로 Kibana에 시각화된 대시보드를 PDF 보고서로 생성한다. 정기적 일정 또는 특정 조건에 따라 자동으로 보고서를 생성 및 고객, 관리자, 경영자에게 전송이 가능하다. 또한 Ad-hoc 분석 결과를 CSV 파일로 빠르게 동료에게 보낼 수 있으며 CSV 내보내기와 알림(Alert) 기능을 결합하여 데이터 덤프를 정기적으로 예약하거나 특정 조건 충족 시 보낼 수 있다.

Graph
데이터간의 유사관계를 파악하는데 유용한 API 및 UI 기반도구이다. Elasticsearch의 연관도 분석 기능을 이용하여 데이터간 연계를 탐색하는 관계 지향적 접근법을 제공한다. 이 기술의 핵심은 인기도(Popularity)와 연관도(Relevance)간의 차이를 식별하는 것이다. Elasticsearch는 정보 검색에 대한 깊은 지식과 풍부한 통계 정보를 조합한 인덱싱을 통해 연관성을 계산하고 가장 유의미한 링크를 가장 먼저 제시한다.

▲ Graph 기능 활용 예시 화면

Machine Learning
X-Pack 머신 러닝은 Elasticsearch 데이터의 트렌드, 주기성 등을 자동으로 실시간 모델링하여 더 빠르게 문제를 식별하고 근본 원인을 분석, 간소화하여 해결한다. 이상 징후가 감지되면 심각한 영향을 받은 속성을 쉽게 식별할 수 있으며 머신러닝에 포함된 예측 기능을 이용하여 미래를 위한 더 나은 계획들을 준비하고, 개선 방향까지 도출할 수 있다.


금융권 적용 사례
Elastic Stack은 Goldman Sachs, Bank West. BNP Paribas 등 여러 글로벌 금융기관에 이미 도입된 사례를 가지고 있다. 일본의 소프트뱅크는 Elastic Stack을 데이터 디버깅 툴로 쓰고 머신러닝을 활용하여 Kibana 대시보드에 머신러닝 처리된 것을 가시화하여 보여준다. 신용카드 가맹점의 모든 트랜잭션 데이터를 Elasticsearch에 수집하고 머신러닝으로 가맹점간 거래 비교를 통해 이상현상을 실시간 탐지한다.

영국의 금융기업인 Barclays는 인터넷뱅킹, 모바일 뱅킹등의 사용이 늘어나며 불안해진 보안을 해결하기 위해 Elastic을 도입했다. 당시 보안과 관련된 50여개 이상의 툴을 가지고 있었으며 문제 발생 시 각각을 검색 해야 하는 어려움이 있었다. 이를 해결하기 위해 모든 로그를 한 곳으로 모으고 통합 대시보드를 만들어 다양한 머신러닝과 룰을 적용하여 관리한다.

해외 사례에서 볼 수 있듯이 Elastic Stack은 보안, 모니터링, 머신러닝 등 다양한 목적으로 금융기관에서 적용되어 활용되고 있다. 최근의 금융기관은 정보가 입력되는 채널이 다양해짐에 따라 산발적으로 발생하는 데이터들을 통합 관리하는 것이 시스템 운영의 중요 요소가 되었다. 결국 맥락있게 통합된 데이터가 비즈니스를 도울 수 있으며 그 역할을 위해 Elastic Stack과 X-Pack의 도입이 필요하다.

최근 국내 금융기관에서도 이러한 움직임이 나타나고 있으며, 이미 5개 이상의 은행/카드/보험사에서 엘라스틱 subscription을 도입하여 활용하고 있다

디리아는 앞으로 Elastic 제품의 금융권 확산을 위해 금융기관에 필요한 별도의 모듈을 개발·공급하고 Elastic Stack을 기반으로 하는 장애예측 솔루션을 개발하여 2019년 초 독자적인 솔루션을 런칭하는 것을 목표로 하고 있다.

저작권자 © 아이티데일리 무단전재 및 재배포 금지