SpringBoot 로깅시스템 ELK 설정

devdo·2022년 10월 23일
0

SpringBoot

목록 보기
31/34

ELK란?

ELK는 위 그림과 같이, 분석 및 저장 기능을 담당하는 ElasticSearch, 수집 기능을 하는 Logstash, 이를 시각화하는 도구인 Kibana의 앞글자만 딴 단어이다.

ELK는 접근성과 용이성이 좋아 최근 가장 핫한 Log 및 데이터 분석 도구들이다.


1) ElasticSearch

  • ElasticSearch는 Lucene 기반으로 개발한 분산 검색엔진으로, Logstash를 통해 수신된 데이터를 저장소에 저장하는 역할을 담당

  • 데이터를 중심부에 저장하여 예상되는 항목을 검색하고 예상치 못한 항목을 밝혀낼 수 있다.

  • 정형, 비정형, 위치정보, 메트릭 등 원하는 방법으로 다양한 유형의 검색을 수행하고 결합할 수 있다.

2) Logstash

  • 오픈소스 서버측 데이터 처리 파이프라인으로, 다양한 소스에서 동시에 데이터를 수집하고 변환하여 stash 보관소로 보낸다.

  • 수집할 로그를 선정해서, 지정된 대상 서버(ElasticSearch)에 인덱싱하여 전송하는 역할을 담당하는 소프트웨어

3) Kibana

  • 데이터를 시각적으로 탐색하고 실시간으로 분석할 수 있다.

  • 시각화를 담당하는 HTML + Javascript 엔진이라고 보면 된다.


윈도우 설치

다운로드

https://www.elastic.co/kr/elasticsearch/ 홈페이지에서 본인 PC 버전에 맞게 다운로드하시면 된다.
이 글을 포스팅하는 시점에선 7.6.2 버전을 사용하였다.

bat 실행

각각 bin 폴더에 bat파일이 있을 것이다. 더블 클릭하면 cmd창이 뜨면서 실행이 된다.
ex. elasticsearch.bat

  • 엘라스틱서치
    localhost:9200
  • 키바나
    localhost:5601
  • 로그스태시
# logstash.bat파일이 있는 cmd창에 작성
logstash.bat -f logstash.conf

로그스태시는 conf 파일을 만들어주어야 한다.

logstash.conf

input {
  file {
    path => "{지정한 log파일}"
    
    start_position => "beginning"
  }
}

output {
  
  stdout {
    codec => rubydebug
  }
  
  elasticsearch {
    hosts => ["localhost:9200"]
    index => "wardstudylog"
  }
}

주의

  • path => "{지정한 log파일}"
    지정한 log파일 경로를 \ => / 로 바꿔주어야 한다!
  • index index의 문제가 생기면, index => "wardstudylog" 이름을 새로 지정해주면 해결된다.

확인

1) elasticSearch
이렇게 지정한 이후에 elasticSearch url에서 _cat/indices로 확인할 수 있다.

2) Kibana

  • menagment > create index > index => "wardstudylog" 에서 wardstudylog로 인덱스 등록

  • Discover로 확인

위 사진처럼 logstash.conf에서 path설정에서 연동한 log파일이 보여진다!

여기서 쉽게 search도 되서 키워드를 찾아 검색할 수 있다!

실제 어플리케이션이 런할 때 콘솔 로그와 비교해보았다. 같은 시간대의 그 로그와 같다!



참고

profile
배운 것을 기록합니다.

0개의 댓글