Amazon Elasticsearch Service 도메인에서 Kibana가 빨간색 상태인 이유는 무엇입니까?

최종 업데이트 날짜: 2020년 8월 11일

Kibana가 Amazon Elasticsearch Service(Amazon ES) 도메인에 계속 빨간색 상태로 표시됩니다. 이런 문제가 발생하는 이유는 무엇이며, 이 문제를 해결하려면 어떻게 해야 합니까?

간략한 설명

모든 상태 확인이 Elasticsearch 클러스터의 모든 노드에서 전달되면 Kibana는 녹색 상태로 표시됩니다. 상태 확인이 실패하면 Kibana가 빨간색 상태로 전환됩니다. Amazon ES가 빨간색 클러스터 상태인 경우에도 Kibana가 빨간색 상태로 표시됩니다. 다음과 같은 이유로 Kibana의 상태가 빨간색으로 바뀔 수 있습니다.

해결 방법

다음 방법 중 하나 이상을 사용하여 Amazon ES 도메인에서 Kibana 빨간색 상태를 확인합니다.

참고: Elasticsearch 클러스터에 회로 차단기 예외가 표시되는 경우 회로 차단기 한도를 먼저 늘리십시오. 회로 차단기 예외가 없는 경우 회로 차단기 한도를 늘리기 전에 다른 방법을 시도해 보십시오.

쿼리 튜닝

방대한 집계와 같은 복잡한 쿼리를 실행하는 경우 성능을 극대화하기 위해 쿼리를 튜닝하십시오. 힙 메모리 소비의 갑작스러운 스파이크는 집계 쿼리에 사용되는 필드 데이터 또는 데이터 구조로 인해 발생할 수 있습니다.

다음 API 호출을 검토하여 스파이크의 원인을 파악합니다. es-endpoint는 Amazon ES 도메인 엔드포인트로 바꿉니다.

$curl es-endpoint/_nodes/stats/breaker?pretty
$curl "es-endpoint/_nodes/stats/indices/fielddata?level=indices&fields=*"

메모리 사용량 관리에 대한 자세한 내용은 Elasticsearch 웹 사이트에서 검색 속도 튜닝메모리 사용량 제한을 참조하십시오.

전용 리더 노드 사용

Amazon ES 도메인마다 전용 리더 노드 3개를 할당하는 것이 모범 사례입니다. 클러스터 안정성 개선에 대한 자세한 내용은 Amazon Elasticsearch Service 시작하기: 전용 리더 인스턴스를 사용하여 클러스터 안정성 개선을 참조하십시오.

확장

Amazon ES 도메인을 확장하려면 노드 수를 늘리거나 메모리가 더 많은 Amazon EC2 인스턴스 유형을 선택합니다. 확장에 대한 자세한 내용은 Amazon Elasticsearch Service 도메인을 확장하려면 어떻게 해야 합니까?를 참조하십시오.

샤드 배포 확인

샤드가 수집되는 인덱스를 점검하여 샤드가 모든 데이터 노드에 고르게 분산되어 있는지 확인합니다. 샤드가 고르게 분산되지 않으면 하나 이상의 데이터 노드에 스토리지 공간이 부족한 것일 수 있습니다.

다음 공식을 사용하여 샤드가 고르게 분산되어 있는지 확인합니다.

Total number of shards = shards per node * number of data nodes

예를 들어 인덱스에 24개의 샤드가 있고 8개의 데이터 노드가 있는 경우 노드당 3개의 샤드가 있어야 합니다. 필요한 샤드 수에 대한 자세한 내용은 Amazon Elasticsearch Service 시작하기: 얼마나 많은 샤드가 필요합니까?를 참조하십시오.

버전 확인

중요: Kibana와 Amazon ES의 버전이 호환되어야 합니다.

다음 API 호출을 실행하여 버전이 호환되는지 확인합니다. es-endpoint는 Amazon ES 도메인 엔드포인트로 바꿉니다.

$curl es-endpoint/.kibana/config/_search?pretty

참고: 명령이 실패하면 Kibana와 지원되는 Elasticsearch 버전 간의 호환성 문제가 있는 것일 수 있습니다. 호환되는 Kibana 및 Elasticsearch 버전에 대한 자세한 내용은 Elasticsearch 웹 사이트에서 Kibana 설정을 참조하십시오.

리소스 모니터링

리소스가 특정 임계값을 초과하여 사용될 때 알려주는 Amazon CloudWatch 경보를 설정합니다. 예를 들어 JVM 메모리 압력에 대한 경보를 설정하면 압력 100%에 도달하기 전에 조치를 취합니다. CloudWatch 경보에 대한 자세한 내용은 권장 CloudWatch 경보Amazon CloudWatch를 사용한 자동 경보를 통해 Amazon Elasticsearch Service 도메인의 운영 효율성 개선을 참조하십시오.

회로 차단기 한도 증가

클러스터의 메모리 부족을 방지하려면 상위 또는 필드 데이터 회로 차단기 한도를 늘려 보십시오. 필드 데이터 회로 차단기 한도에 대한 자세한 내용은 Elasticsearch 웹 사이트에서 회로 차단기를 참조하십시오.