[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