이전글
2021.09.10 - [DevOps] - [Spring Boot 로그 수집] AWS Elasticsearch Service 설치
2021.09.10 - [DevOps] - [Spring Boot 로그 수집] Logstash 설치
2021.09.15 - [DevOps] - [Spring Boot 로그 수집] Spring Boot 로그 설정
개요
Spring Boot 어플리케이션에서 발생하는 로그를 AWS Logstash 를 통해서 AWS Elasticsearch에 저장되는 로그를 Kibana를 통해서 확인해 보겠습니다.
Kibana 로그인
AWS ES 페이지에서 Kibana 접속 URL을 확인할 수 있습니다.
Kibana에 접속하면 Elasticsearch 생성시 작성했던 마스터 계정을 입력하면 됩니다.
인덱스 확인 및 패턴등록
인덱스 확인
Logstash에서 로그를 정상적으로 전달했다면 Kibana에서 인덱스를 확인할 수 있습니다.
메뉴에서 'Index Management'를 선택합니다.
Index Management 페이지에서 'Indices' 를 선택하면 전달된 로그를 통해서 생성된 인덱스 목록을 확인할 수 있습니다.
패턴 생성
인덱스의 내용을 확인하거나 검색을 하기 위해서 패턴을 등록해야 합니다.
메뉴에서 'Stack Management' > 'Index Patterns'를 통해서 생성합니다.
Index pattern은 Logstash config파일에 등록했던 패턴을 등록해 줍니다.
output {
elasticsearch {
hosts => ["AWS ES Endpoint"]
ssl => true
index => "logstash-%{+YYYY.MM.dd}"
user => "AWS ES 마스터 상용자명"
password => "AWS ES 마스터 비밀번호"
ilm_enabled => false
}
}
위와 같이 Logstash를 설정했다면 'logstash-*'와 같이 logstash로 시작하는 모든 인덱스를 검색할 수 있는 패턴을 만들어 주면 됩니다.
패턴 등록 후 '@timestamp'를 pirmary time field로 선택해주면 완료됩니다.
로그확인
메뉴에서 'Discover'를 선택합니다.
좌측 상단에서 등록한패턴을 선택하면 전송된 로그를 볼 수 있습니다.
상단에 로그의 기간과 쿼리로 상세히 검색할 수 있습니다.
쿼리 가이드는 해당 링크에서 확인 가능합니다.
https://www.elastic.co/guide/en/kibana/7.10/kuery-query.html
AWS ES 페이지 권한 오류
AWS ES페이지 에서도 다양한 정보를 확인할 수 있습니다.
그런데 권한이 없다는 오류가 발생하기도 합니다. 해당오류는 IAM사용자를 Kibana에 등록해주면 해결 됩니다.
/_cluster/health: {"error":{"root_cause":[{"type":"security_exception","reason":"no permissions for [cluster:monitor/health] and User [name=, backend_roles=[], requestedTenant=null]"}],"type":"security_exception","reason":"no permissions for [cluster:monitor/health] and User [name=, backend_roles=[], requestedTenant=null]"},"status":403}
Security > Roles > all_access 에 IAM 사용자를 추가해줍니다.
'DevOps' 카테고리의 다른 글
AWS Elasticsearch 10MB 제한 (1) | 2021.09.26 |
---|---|
Logstash output 분리 (0) | 2021.09.26 |
[ELK Stack 로그 수집 3/4] Spring Boot 로그 설정 (2) | 2021.09.15 |
[ELK Stack 로그 수집 2/4] Logstash 설치 (3) | 2021.09.10 |
[ELK Stack 로그 수집 1/4] AWS Elasticsearch Service 설치 (2) | 2021.09.10 |