티스토리 뷰
반응형
ELK (Elastic Stack) 구성, 버전
- jdk 11
- ElasticSearch 7.2.0
- Kibana 7.2.0
- Logstash 7.2.0
Logstash 설치 및 테스트
설치 - Logstash URL
(1) 테스트 파일 작성
$ vi 설치경로/config/logstash-example.conf
logstash-example.conf 파일을 만들고 아래 내용을 입력한다.
input {
stdin {}
}
output {
stdout {}
}
(2) 테스트
$ cd 설치경로/bin
$ ./logstash -f ../config/logstash-example.conf
위 명령어를 입력하면 아래와 같은 화면을 볼 수 있다. (테스트 성공)
Logstash와 Spring Boot 연동
(1) logstash-example.conf 파일 수정
$ vi 설치경로/config/logstash-example.conf
input {
tcp {
port => 4560
codec => json_lines
}
}
output {
stdout {}
}
(2) build.gradle
dependencies에 아래와 같이 한 줄을 추가한다.
(3) logback.xml 파일 생성 및 작성
src/main/resources 경로에 logback.xml 파일을 만들고 아래 코드를 작성한다.
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>127.0.0.1:4560</destination>
<encoder class="net.logstash.logback.encoder.LogstashEncoder"></encoder>
</appender>
<root>
<level value="INFO"/>
<appender-ref ref="LOGSTASH"/>
</root>
</configuration>
(4) Logstash와 Spring Boot 실행 후 확인
Logstash를 실행하고 Spring Boot를 실행하면 아래와 같은 Json 형태의 로그를 확인할 수 있다.
ElasticSearch 설치
설치 - ElasticSearch URL
(1) ElasticSeach 설치 후 실행
$ cd 설치경로/bin
$ ./elasticsearch
(2) localhost:9200으로 접속하여 확인
{
"name" : "",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "fRaOBBX0TQmhYzo5oY9NbQ",
"version" : {
"number" : "7.2.0",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "508c38a",
"build_date" : "2019-06-20T15:54:18.811730Z",
"build_snapshot" : false,
"lucene_version" : "8.0.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
Kibana 설치
설치 - Kibana URL
(1) Kibana 설치 후 실행
$ cd 설치경로/bin
$ ./kibana
(2) localhost:5601으로 접속하여 확인
ElasticSearch와 연동
(1) Index Patterns -> Create Index pattern을 클릭한다.
(2) 아래와 같이 내용을 채워넣고 선택하며 Index를 생성한다.
(3) 확인
Reference
반응형
'Spring' 카테고리의 다른 글
Spring MVC (Model, View, Controller) (0) | 2022.04.15 |
---|---|
스프링의 읽기 전용 조회시 성능 향상 (스칼라 타입, org.hibernate.readOnly, @Transactional(readOnly = true)) (0) | 2021.08.13 |
스프링 의존성 주입 방식 종류와 차이 (1) | 2021.08.08 |
댓글