스프링 로그를 효율적으로 관리(?) 통계를 내기 위해 Spring Boot 와 ELK(Elasticsearch, Logstash, Kibana)를 통해서
로그를 수집하기로 했습니다.
로그 수집하는 플로우는
Spring Boot ---> Logstash ---> Elasticsearch ---> Kibana를 통해 통계 확인 입니다.
우선은 Spring Boot는 기존에 있는 프로젝트 그대로 사용하기로 하고 ELK 를 먼저 셋팅해 보겠습니다.
먼저 ELK를 아래의 사이트에서 각 OS와 bit 에 맞게 다운로드를 해서 설치를 합니다.
(저는 윈도우10에서 진행하였습니다.)
Elasticsearch 다운로드: https://www.elastic.co/kr/downloads/elasticsearch
Kibans 다운로드: https://www.elastic.co/kr/downloads/kibana
Logstash 다운로드: https://www.elastic.co/kr/downloads/logstash
다운로드를 하고 설치까지 마쳤으면 Logstash 설정을 먼저 진행합니다.
Logstash 설정파일은 설치한 위치에서 Config 폴더 안에 보면 logstash-sample.conf 파일이 있습니다.
이 파일을 하나 복사해서 logstash.conf 라고 파일을 하나 생성합니다.
생성이 완료 되면 logstash.conf 파일을 열어서 설정파일을 수정합니다.
input 설정은 Spring Boot 와 Logstash 와 통신하기위해 TCP를 사용하였고 포트는 4560을 사용합니다.
그리고 코덱은 json을 라인별로 읽을 수 있게 설정하였습니다.
output은 Logstash에서 받은 로그를 Elasticsearch로 전송하기 위한 설정입니다.
설치한 Elasticsearch의 host 기본정보는 localhost:9200 이고 Index는 Elasticsearch에서 검색할 수 있게 패턴을
설정할 수 있습니다. Index를 logstash-오늘날짜로 변경하였습니다.
그리고 Spring Boot logback 을 설정합니다.
기존에 작성되어있는 Spring Boot logback 설정에서 아래의 부분을 추가합니다.
<!-- Log Stash 사용시 사용할 TCP 통신 정보 -->
<appender name="stash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>127.0.0.1:4560</destination>
<encoder class="net.logstash.logback.encoder.LogstashEncoder"></encoder>
</appender>
<root level="INFO">
<appender-ref ref="dailyRollingFileAppender" />
<appender-ref ref="stash" />
</root>
이 두 부분을 추가합니다.
로그가 쌓일때 Logstash 에서 설정한 TCP Port 4560에 동일한 서버에 있으니 127.0.0.1 로 설정하였습니다.
그리고 실제로 로그가 동작하기 위해 root 태그 아래 부분에 설정하였습니다.
이렇게 설정을 완료 한 후 Logstash를 실행하고 Spring Boot를 실행하면 됩니다.
Logstash 실행방법은 CMD 에서 Logstash 설치한 폴더에 bin폴더로 이동후 logstash -f ../config/logstash.conf 를 입력하면 실행이 됩니다.
그리고 Elasticsearch 실행방법 입니다.
Elasticsearch 실행 방법은 Elasticsearch 설치한 폴더에서 bin 폴더로 이동 후 CMD 에서 elasticsearch 를 입력하면 실행이 됩니다.
만약 포트 정보나 그외의 Elasticsearch 정보를 변경하고 싶으면 Elasticsearch 설치 폴더에서 config 폴더로 이동 후 elasticsearch.yml 파일에서 수정하시면
됩니다.
실행이 정상적으로 됐는지 확인하려면 브라우저에서 http://localhost:9200/ 를 입력하면 아래와 같은 화면이 나오면 정상적으로 실행이 된것입니다.
마지막으로 Kibans 실행방법입니다.
Kibana도 Elasticsearchd와 마찬가지로 Kibana 설치한 폴더에서 bin 폴더로 이동 후 CMD 에서 kibana 를 입력하면 실행이 됩니다.
Kibana또한 실행이 되었는지 확인을 하려면 브라우저에서 http://localhost:5601 를 입력하면 아래와 같은 화면이 나오면 정상적으로 실행이 된것입니다.
'Server' 카테고리의 다른 글
[ELK] Elasticsearch 에 Security를 적용하려했더니?! (0) | 2018.12.20 |
---|---|
[ELK] Elasticsearch 와 Kibana 모니터링 하기 (0) | 2018.12.20 |
[Redis] 윈도우에 Redis 설치하기 (0) | 2018.12.19 |
웹서버 트래픽 폭주 대비하기 (0) | 2018.11.02 |
Ucloud 디스크 마운트 (0) | 2018.10.30 |