콘텐츠로 건너뛰기

엘라스틱서치와 키바나 로그인 문제 해결 과정



엘라스틱서치와 키바나 로그인 문제 해결 과정

최근 엘라스틱서치와 키바나에서 로그인 문제가 발생한 사례를 공유하겠습니다. 이 문제는 퇴근 시간 즈음에 발생하였으며, 초기에는 단순한 에러로 여겼으나 점차 심각성을 느끼게 되었습니다.

 

👉 ✅ 상세 정보 바로 확인 👈

 

문제 증상

엘라스틱서치와 키바나 실행 환경

엘라스틱서치와 키바나는 쿠버네티스 환경에서 실행되고 있었습니다. probe 검사를 통과하여 겉보기에는 정상으로 보였지만, 로그인 과정에서 문제가 발생하였습니다. 흥미롭게도 엘라스틱서치는 로그인이 가능했으나, 키바나는 로그인 실패로 이어졌습니다. 같은 계정과 비밀번호를 사용하고 있음에도 불구하고 키바나에서만 실패하는 상황이었습니다.



초기 장애복구 시도

로그인 실패의 원인이 계정/비밀번호 불일치가 아니라는 것을 빠르게 파악했습니다. 계정/비밀번호가 틀릴 경우 “invalid username/password”라는 에러 메시지가 나타나는데, 실제로는 “Oops. Error”라는 메시지가 표시되었습니다.

처음에는 키바나와 엘라스틱서치의 로그를 조회했지만, 눈에 띄는 에러는 발견되지 않았습니다. 따라서 키바나를 재부팅하기로 결정했습니다. 그러나 재부팅 후에도 로그인 오류는 해결되지 않았습니다.

 

👉 ✅ 상세 정보 바로 확인 👈

 

2차 장애복구 시도

키바나의 로그인이 되지 않는 상황 속에서, 이전에는 보이지 않던 유의미한 로그가 나타났습니다. “index allocation is failed”라는 메시지를 발견한 것입니다. 이를 통해 엘라스틱서치 pod 쉘에 접속하여 shard 상태를 확인했으며, unassigned된 shard가 존재함을 알게 되었습니다.

엘라스틱서치의 troubleshooting 경험이 부족하여 어려움을 겪었지만, 관리자의 도움을 받아 allocation failed 메시지를 확인할 수 있는 API를 사용하기로 했습니다. 아래의 명령어를 통해 상세한 에러 내용을 확인했습니다.

curl -X GET _cluster/allocation/explain

이 API를 통해 확인한 결과, 엘라스틱서치가 저장장치 용량을 85%로 제한하고 있었으며, 이로 인해 추가 shard 할당이 불가능한 상황임을 알게 되었습니다. 즉, 현재 사용 중인 저장장치 용량이 85%를 초과하여 문제를 일으킨 것입니다.

에러 메시지

the low watermark cluster.setting cluster.routing.allocation.disk.watermark.low=85%

이러한 상황에서 더 이상 저장장치의 크기를 늘릴 수 없기 때문에, 다음 날 엘라스틱서치 사용자에게 용량을 줄여달라는 요청을 하는 방향으로 결론을 내렸습니다. 다행히 엘라스틱서치 API는 정상적으로 실행되고 있었습니다.

재발 방지 방안

이 문제를 통해 두 가지 재발 방지 방안을 모색하게 되었습니다.

  1. 특정 기준치 초과 시 알림 메시지 전달: 저장장치 사용량이 특정 기준치를 초과할 경우 즉시 알림을 통해 관리자가 문제를 사전에 인지할 수 있도록 합니다.
  2. 현재 저장장치 사용 현황 표기: 대시보드에서 실시간으로 저장장치 사용 현황을 표시하여, 관리자가 쉽게 모니터링할 수 있도록 개선합니다.

이러한 방안들이 향후 유사한 문제를 예방하는 데 도움이 되기를 바랍니다.

이전 글: 2015 호주 오픈 슈퍼시리즈 배드민턴 남자복식 우승