Kibana

Kibana index lifecycle 적용

babbeolicoding 2023. 6. 29. 22:18

lifecycle에 대해서 간단하게 설명을 하자면

특정 조건(기간,  용량)에 해당되면  index를 분할하거나
특정기간에 해당되면 삭제하는 기능이 있다.
물론 분할 + 삭제 같이 사용도 가능하다.
이번 포스팅은 분할(rollover)보단 삭제를 중점적으로  진행했다.


이미 index가 생성된 상태에서 정책을 새로 만들면 index 설정을 수정하는 추가 작업이 필요하고
정책 적용 후 생기는 index는 추가 작업이 필요 없다.

 

1. 정책생성

 

- index Lifecycle Polices 선택

 

2. Create policy 선택

- 내용 입력


Hot, Warn, cold phase가 있는데 쉽게 생각하면 빈도가 높은 index일수록
온도가 뜨겁다고 생각하면 된다.
보통 자주 쓰는 Hot phase에 rollover를 적용하고 사용한다.

Hot phase에서 Maximum index size or Maximum age를 선택하면 
index 특정 사이즈를 넘거나 특정기간이 지나면 새로운 index를 만든다.
(해당 부분은 추후 자세하게 포스팅을 진행하도록 할 예정이다)

 

만약 분할 없이( rollover) 특정기간이  지난 index를 삭제만 하려면 

Delete phase 부분만 적용하면 된다.
Delete phase는 일정기간이 지나면

자동으로 index를 삭제한다.

 

 

이제 생성한 정책을 index에 적용을 하기 위해선 index Management를 만들어야 한다.
 

2. index Management 생성

 
- index Management 선택

 

- Create a template

- Logistics 입력

name, patterns 입력
만약 index 이름이 kubernetest-log로 시작하면 

pattern을 kubernetest-* , kubernetes-log 등으로 입력하면 된다

 

 

2. Index settings 입력

 

기본적으로 index settings 부분에 lifecycle이름을 넣어서 생성한다.
{
  "index": {
    "lifecycle": {
      "name": "{lifecycle 이름}"
    },
    "number_of_shards": "1",
    "refresh_interval": "5s"
  }
}

 

그러면 template이 완성된다.

하지만 맨 앞에 말한 것처럼 이미 index가 생성된 상태에선

정책과 template을 만들면 아래 이미지처럼 정책이 미적용된 상태다.

 

이런 경우는 Edit setting에서 "index.lifecycle.name": "{lifecycle 이름}"을 직접 추가해줘야 한다.

 

그럼 아래 이미지처럼 lifecycle이 적용된다.

 

참고로 이미 생성되어 있던 index 말고 
정책이 있는 상태에서 새로 생성되는 index는 자동으로 정책이 적용된다

'Kibana' 카테고리의 다른 글

kibana Alerts and Actions 기능 사용하기 - 1  (0) 2023.07.19