ELK Stack 현재 상태

이준섭·2023년 3월 3일

ELK Stack이란?

Elasticsearch, Logstash, Kibana 의 오픈소스의 이니셜이다.
Elasticsearch - 로그 저장 및 검색
Logstash - 로그 수집 엔진
Kibana - 로그 시각화 및 관리

위 그림을 유통플랫폼에서 생각해보면

  1. 각 Application에서 발생한 로그를 LogbackConfig파일을 통해 Logstash가 로그를 수집한다.
    ※ 전에는 logback-spring.xml파일을 사용했는데 현재는 Java Config파일로 변경했다.
  2. Logstash가 Elasticsearch로 수집한 로그를 전송한다.
  3. Elasticsearch에서 저장하고 분석 및 관리한다.
  4. Kibana의 Dashboard 및 Discover을 통해 로그를 확인 할 수 있다.

현재 구축한 ELK의 문제점

Kibana에서 Slack으로 에러 알림이 오긴 하지만
정확히 어디서 에러가 나고 어떤 시점에서 에러가 나는지 확인하기 어렵다.
알림을 확인하고 Discover에서 정확한 로그 메세지를 봐야 확인이 가능하다.

TO-BE

현재 유통플랫폼 서비스에서 Spring cloud sleuth를 사용하여 로그의 traceId 를 부여하고 있는데
이 traceId를 이용해서 에러가 났을때 traceId로 Index를 조회 한 다음 시점별로 sort 하여
해당 담당자에게 에러가 난 시점을 알림 할 수 있는 서비스 구축 필요

우선 Elasticsearch의 이해 및 elasticsearch queryDsl의 syntax를 익히고
Java에서 Elasticsearch client를 활용하여 Index를 가져와 가공 하는 방법을 익혀야 한다.

그리고 Spring Boot Batch를 활용하여 주기적으로 에러 체크를 할 수 있어야 한다.

0개의 댓글