[Kibana] Kibana 에서 Index Alias 사용하기

Elastic/Kibana 2015. 8. 6. 18:38

보통 ELK 조합으로 처음 사용하시는 분들의 경우 index 수가 많아 질 수록 kibana chart 생성이 느려 지거나 shard failed  같은 메시지를 경험 하실수 있을 텐데요.


이유는 아주 가까운 곳에 있습니다.

이미 아시는 분들도 많을 테지만 첨 접하시는 분들에게는 유용할 수 있으니 올려 보겠습니다.


기본적으로 logstash를 사용하면 time based 로 index 가 생성 됩니다.

보통 아래와 같은 패턴으로 정의 됩니다.

logstash-%{+YYYY.MM.dd}


위와 같이 정의가 되어 있기 때문에 kibana 에서는 아래와 같이 설정이 되는데요.

logstash-*

- Settings -> Indices 에 있습니다.


즉, 이렇게 설정이 되기 때문에 생성된 모든 index 를 대상으로 질의를 하게 됩니다.

그럼 어떤 문제들이 발생 할지 예측 가능 하시겠죠.


전체 index를 대상으로 질의를 하기 때문에 search thread 가 생성되어 있는 shard 수 만큼 실행 되게 됩니다.

결국 시스템 리소스는 쭈욱 올라갈거고 이렇게 되다 보면 timeout 등이 발생을 하게 될 겁니다.

결국 shard failed 현상이 나오게 되는 것입니다.


이런 문제를 해결 하기 위해서는 index aliases 기능을 활용 하시면 됩니다.

어차피 보고 싶은 정보는 최신 정보이기 때문에 latest index 에 대해서만 alias 를 생성해 주시고 chart 및 dashboard 생성 시 생성한 alias 를 대상으로 만들어 주시면 됩니다.

하지만 하루가 지나면 alias 를 다시 latest index 를 바라 볼 수 있도록 바꿔 줘야 하기 때문에 이런 부분은 관리 기능을 만들어서 사용하시면 별 문제 없이 지속적으로 사용을 하실 수 있을 것입니다.


[Index Aliases]

https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html


: