CloudWatch 경보를 사용하여 Amazon Elasticsearch Service 클러스터를 모니터링하려면 어떻게 해야 합니까?

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

Amazon ES(Amazon Elasticsearch Service) 클러스터에서 안정성 문제를 모니터링하려고 합니다. Elasticsearch 클러스터를 효과적으로 모니터링하려면 어떻게 해야 합니까?

​해결 방법

중요: Elasticsearch의 버전에 따라 _index API에 대한 호출을 처리할 때 사용되는 스레드 풀이 다릅니다. Elasticsearch 1.5 및 2.3은 인덱스 스레드 풀을 사용합니다. Elasticsearch 5.x, 6.0 및 6.2는 대량 스레드 풀을 사용합니다. Elasticsearch 버전 6.3 이상은 쓰기 스레드 풀을 사용합니다. 현재 Amazon ES 콘솔에는 대량 스레드 풀에 대한 그래프가 포함되어 있지 않습니다.

Elasticsearch 클러스터의 상태를 모니터링하려면 권장되는 Amazon CloudWatch 경보와 다음 경보를 설정합니다.

LeaderReachableFromNode:
Statistic = Maximum
Value = ‘=0’
Frequency = 1 period
Period = 1 minute
Issue: Leader node is down

KibanaHealthyNodes:
Statistic = Average
Value = ‘=0’
Frequency = 1 period
Period = 1 minute
Issue: kibana is unhealthy

DiskQueueDepth:
Statistic = Average
Value = ‘>=100'
Frequency = 1 period
Period = 5 minutes
Issue: Disk Queue Depth is the number of I/O requests that are queued at a time against the storage. This could indicate a surge in requests or Amazon EBS throttling, resulting in increased latency.

ThreadpoolIndexQueue and ThreadpoolSearchQueue:
Statistic = Maximum
Value = ‘>=20’
Frequency = 1 period
Period = 1 minute
Issue: Indicates that there are requests getting queued up, which can be rejected. To verify the request status, check the CPU Utilization and Threadpool Index or Search rejects.

Elasticsearch 클러스터에 대한 Amazon CloudWatch 경보를 설정하려면 다음 단계를 수행합니다.

1.    CloudWatch 콘솔을 엽니다.

2.    [경보] 탭으로 이동합니다.

3.    [경보 생성]을 선택합니다.

4.    [지표 선택]을 선택합니다.

5.    지표에 대해 [ES]를 선택합니다.

6.    [도메인별] 및 [클라이언트 지표별]을 선택합니다.

7.    지표를 선택하고 [다음]을 선택합니다.

8.    CloudWatch 경보에 대해 다음 설정을 구성합니다.

Statistic = Maximum
Period to 1 minute
Threshold type = Static
Alarm condition = Greater than or equal to
Threshold value = 1

9.    [추가 구성] 탭을 선택합니다.

10.    다음 구성 설정을 업데이트합니다.

Datapoints to alarm = Frequency stated above
Missing data treatment = Treat missing data as ignore (maintain the alarm state)

11.    [다음]을 선택합니다.

12.    경보에서 수행할 작업을 선택하고 [다음]을 선택합니다.

13.    경보 이름을 설정한 후 [다음]을 선택합니다.

14.    [경보 생성]을 선택합니다.

참고: CPUUtilization 또는 JVMMemoryPressure에 대해 경보가 트리거되는 경우 다음 지표를 확인하여 수신 요청과 일치하는 스파이크가 있는지 확인합니다.

IndexingRate

SearchRate

ElasticsearchRequests


이 문서가 도움이 되었습니까?


결제 또는 기술 지원이 필요합니까?