본문 바로가기
DevOps

[ELK Stack 로그 수집 4/4] Kibana 로그 확인

by 헬로월드 2021. 9. 22.
반응형

이전글

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

 

Kibana Query Language | Kibana Guide [7.10] | Elastic

Terms without fields are matched against the default field in your index settings. If a default field is not set, terms are matched against all fields. For example, a query for response:200 searches for the value 200 in the response field, but a query for

www.elastic.co

 


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}

블러처리한 곳에 IAM정보가 표시됩니다.

Security > Roles > all_access 에 IAM 사용자를 추가해줍니다.

728x90