본문 바로가기

etc

[error solved][Docker ELK Stack] Kibana server is not ready yet

에러 발생 환경

Windows 10 HOME

Docker Toolbox

 

docker-compose up -d 명령으로 docker-elk 실행

그리고

docker-compose down 명령으로 실행을 중지하고 컨테이너까지 삭제

그리고 모두 재실행하였다.

그런데

http://192.168.99.100:5601/로 kibana에 접속하려 했는데 문제가 일어났다.

=> Kibana server is not ready yet

 

에러 로그

$ docker logs <kibana CONTAINER ID>

...

{"type":"log","@timestamp":"2020-06-15T04:50:29Z","tags":["warning","savedobjects-service"],"pid":6,"message":"Unable to connect to Elasticsearch. Error: [resource_already_exists_exception] index [.kibana_1/BYPspC66RiKE4ncEfALX3Q] already exists, with { index_uuid=\"BYPspC66RiKE4ncEfALX3Q\" & index=\".kibana_1\" }"}
{"type":"log","@timestamp":"2020-06-15T04:50:29Z","tags":["warning","savedobjects-service"],"pid":6,"message":"Another Kibana instance appears to be migrating the index. Waiting for that migration to complete. If no other Kibana instance is attempting migrations, you can get past this message by deleting index .kibana_1 and restarting Kibana."}
{"type":"log","@timestamp":"2020-06-15T04:50:30Z","tags":["info","savedobjects-service"],"pid":6,"message":"Finished in 28900ms."}

 

에러 분석

즉, .kibana_1 이라는 이름으로 kibana instance가 이미 존재해서 생기는 문제인 것을 알 수 있다.

그래서 indices를 확인해보았다.

$ curl -XGET http://192.168.99.100:9200/_cat/indices

 

 

.kibana_task_manager_1과 .kibana_1이 존재하는 것을 알 수 있었다.

 

해결 방법

위의 로그에서 해결방안도 알려주고 있다. 삭제하고 재시작하면 된다.

$ curl -XDELETE http://192.168.99.100:9200/.kibana_1
$ curl -XDELETE http://192.168.99.100:9200/.kibana_task_manager_1

 

 

 

$ docker restart <kibana CONTAINER ID>

 

완전히 구동된 후 재접속하면 잘 실행되는 것을 볼 수 있다!

 

 

끝!