Wie überwache ich meine Amazon-OpenSearch-Service-Cluster mithilfe von CloudWatch-Alarmen?

Letzte Aktualisierung: 30.09.2021

Ich möchte meinen Amazon-OpenSearch-Service-Cluster (Nachfolger von Amazon Elasticsearch Service) auf Stabilitätsprobleme untersuchen. Wie kann ich meinen Cluster effektiv überwachen?

Lösung

Wichtig: Verschiedene Versionen von Elasticsearch verwenden unterschiedliche Thread-Pools, um Aufrufe der _index API zu verarbeiten.

  • Elasticsearch Versionen 1.5 und 2.3 verwenden den Index-Thread-Pool.
  • Elasticsearch Versionen 5.x, 6.0 und 6.2 verwenden den Bulk-Thread-Pool. (Derzeit enthält die OpenSearch-Service-Konsole kein Diagramm für den Bulk-Thread-Pool.)
  • Elasticsearch Versionen 6.3 und höher verwenden den Schreib-Thread-Pool.

Um den Zustand Ihres OpenSearch-Service-Clusters zu überwachen, legen Sie die empfohlenen Amazon-CloudWatch-Alarme und die folgenden OpenSearch-Service-Cluster-Metrik-Alarme fest:

  • MasterReachableFromNode
  • KibanaHealthyNodes
  • DiskQueueDepth
  • ThreadpoolIndexQueue
  • ThreadpoolSearchQueue

Sie können die OpenSearch-Service-Metrik-Alarme wie folgt konfigurieren:

MasterReachableFromNode:
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: Indicates that the kibana index 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.

Führen Sie die folgenden Schritte aus, um einen Amazon-CloudWatch-Alarm für Ihren OpenSearch-Service-Cluster einzurichten:

1.    Öffnen Sie die Amazon-CloudWatch-Konsole.

2.    Wechseln Sie zur Registerkarte Alarm.

3.    Wählen Sie Create Alarm (Alarm erstellen) aus.

4.    Wählen Sie Select Metric (Metrik auswählen) aus.

5.    Wählen Sie ES für Ihre Metrik aus.

6.    Wählen Sie Per-Domain (Pro Domäne) und Per-Client Metrics (Pro Clientmetriken) aus.

7.    Wählen Sie eine Metrik und dann Next (Weiter) aus.

8.    Konfigurieren Sie die folgenden Einstellungen für Ihren Amazon-CloudWatch-Alarm:

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

9.    Wählen Sie die Registerkarte Additional configuration (Zusätzliche Konfiguration) aus.

10.    Aktualisieren Sie die folgenden Konfigurationseinstellungen:

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

11.    Wählen Sie Next (Weiter) aus.

12.    Geben Sie an, welche Aktion Ihr Alarm ausführen soll, und wählen Sie dann Next (Weiter) aus.

13.    Legen Sie einen Namen für den Alarm fest und wählen Sie dann Next (Weiter) aus.

14.    Wählen Sie Create Alarm (Alarm erstellen) aus.

Hinweis: Wenn der Alarm durch CPUUtilization oder JVMMemoryPressure ausgelöst wird, überprüfen Sie Ihre Amazon-CloudWatch-Metriken, um zu ermitteln, ob es zu Spitzen kommt, die mit den eingehenden Anfragen zusammenfallen. Überwachen Sie insbesondere folgende Amazon-CloudWatch-Metriken: IndexingRate, SearchRate und OpenSearchRequests.


War dieser Artikel hilfreich?


Benötigen Sie Hilfe zur Fakturierung oder technischen Support?