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

3분 분량

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

해결 방법

중요: Elasticsearch의 버전에 따라 _index API에 대한 호출을 처리할 때 사용하는 스레드 풀이 다릅니다.

  • Elasticsearch 버전 1.5 및 2.3은 인덱스 스레드 풀을 사용합니다.
  • Elasticsearch 버전 5.x, 6.0 및 6.2는 대량 스레드 풀을 사용합니다. (현재 OpenSearch Service 콘솔에는 대량 스레드 풀에 대한 그래프가 포함되어 있지 않습니다.)
  • Elasticsearch 버전 6.3 이상은 쓰기 스레드 풀을 사용합니다.

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

  • MasterReachableFromNode
  • KibanaHealthyNodes
  • DiskQueueDepth
  • ThreadpoolIndexQueue
  • ThreadpoolSearchQueue

다음과 같이 OpenSearch Service 지표 경보를 구성할 수 있습니다.

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

Statistic = Average
Value = ‘=0’
Frequency = 1 period
Period = 1 minute
Issue: Indicates that the kibana index is unhealthy.

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.

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

1.    Amazon CloudWatch 콘솔을 엽니다.

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

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

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

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

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

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

8.    Amazon 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.    경보에서 수행할 작업을 선택하고 [다음(Next)]을 선택합니다.

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

14.    Create Alarm(경보 생성)을 선택합니다.

참고: CPUUtilization 또는 JVMMemoryPressure에 대해 경보가 트리거되는 경우 Amazon CloudWatch 지표를 확인하여 수신 요청과 일치하는 스파이크가 있는지 확인합니다. Amazon CloudWatch 지표 중 특히 IndexingRate, SearchRateOpenSearchRequests를 모니터링합니다.

관련 정보


Amazon CloudWatch 경보 사용

AWS 공식
AWS 공식업데이트됨 2년 전