Wie man Cloudwatch-Alarme für eine DynamoDB-Tabelle auf AWS erstellt

Zur Überwachung von DynamoDB-Tabellen werden Metrikdaten automatisch an CloudWatch gesendet. Im Folgenden sind die in einminütigen Intervallen aggregierten Metriken für DynamoDB-Tabellen aufgeführt.

  1. ConditionalCheckFailedRequests: Gibt die Anzahl der fehlgeschlagenen Versuche zurück, bedingte Schreibvorgänge durchzuführen.
  2. ConsumedReadCapacityUnits: Gibt die Anzahl der verbrauchten Lesekapazitätseinheiten zurück, um zu verfolgen, wie viel des bereitgestellten Durchsatzes über den angegebenen Zeitraum verwendet wurde.
  3. ConsumedWriteCapacityUnits: Dies ist die Anzahl der verbrauchten Schreibkapazitätseinheiten, um zu verfolgen, wie viel des bereitgestellten Durchsatzes über den angegebenen Zeitraum genutzt wurde.
  4. ReadThrottleEvents: Gibt die Anzahl der Anfragen an DynamoDB an, die die bereitgestellten Lesekapazitätseinheiten für eine Tabelle überschreiten.
  5. ZurückgegebeneBytes: Dies gibt die Anzahl der von GetRecords-Operationen zurückgegebenen Bytes während des angegebenen Zeitraums an.
  6. ReturnedItemCount: Gibt die Anzahl der Elemente zurück, die während des angegebenen Zeitraums von Query-, Scan- oder ExecuteStatement-Operationen zurückgegeben wurden.
  7. ReturnedRecordsCount: Dies ist die Anzahl der Stream-Datensätze während des angegebenen Zeitraums, die von GetRecords-Vorgängen zurückgegeben werden.
  8. SuccessfulRequestLatency: Dies ist die Anzahl der erfolgreichen Anfragen an Amazon DynamoDB Streams oder DynamoDB während des angegebenen Zeitraums.
  9. SystemFehler: Dies gibt die Anzahl der Anforderungen an Amazon DynamoDB Streams oder DynamoDB während des angegebenen Zeitraums an, die einen HTTP 500-Statuscode erzeugen.
  10. TimeToLiveDeletedItemCount: Dies gibt die Anzahl der durch Time to Live gelöschten Elemente während des angegebenen Zeitraums an, um Ihnen zu helfen, die Rate der Time to Live-Löschungen in Ihrer Tabelle zu überwachen.
  11. ThrottledRequests: Hier wird die Anzahl der Anfragen an DynamoDB angegeben, die die bereitgestellten Durchsatzgrenzen überschreiten.
  12. TransactionConflict (Transaktionskonflikt): Dies gibt die Anzahl der abgelehnten Anforderungen auf Elementebene aufgrund von Transaktionskonflikten an.
  13. BenutzerFehler: Dies gibt die Anzahl der Anforderungen an Amazon DynamoDB Streams oder DynamoDB während des angegebenen Zeitraums an, die einen HTTP 400-Statuscode erzeugen.
  14. WriteThrottleEvents: Dies gibt die Anzahl der Anforderungen an DynamoDB an, die die bereitgestellten Schreibkapazitätseinheiten für eine Tabelle überschreiten.

Es gibt weitere Metriken mit einer Aggregationsgranularität von fünf Minuten. Um mehr über die für die DynamoDB-Tabelle verfügbaren Metriken zu erfahren, besuchen Sie die offizielle Dokumentation hier.

In diesem Artikel werden wir einen Alarm für eine DynamoDB-Tabelle erstellen, um „ConsumedWriteCapacityUnits“ zu überwachen und eine Benachrichtigung an das SNS-Thema zu senden. Bevor wir fortfahren, wird vorausgesetzt, dass Sie mit der DynamoDB-Tabelle und SNS-Themen vertraut sind. Außerdem wird davon ausgegangen, dass Sie mindestens eine DynamoDB-Tabelle und ein SNS-Thema haben.

Vorraussetzungen

  1. AWS-Konto(Erstellen Sie es, wenn Sie noch keines haben).
  2. DynamoDB-Tabelle (Klicken Sie hier, um zu erfahren, wie Sie eine DynamoDB-Tabelle mit Terraform erstellen).
  3. SNS-Topic (Klicken Sie hier, um zu erfahren, wie Sie ein SNS-Topic mit Cloudformation erstellen)

Was müssen wir tun?

  1. Melden Sie sich bei AWS an.
  2. Erstellen Sie einen Alarm für die bestehende DynamoDB-Tabelle.

Anmeldung bei AWS

Klicken Sie hier, um zur AWS-Anmeldeseite zu gelangen.

Wenn Sie auf den obigen Link klicken, sehen Sie die Anmeldeseite wie folgt. Geben Sie Ihre Anmeldedaten ein, um sich bei Ihrem AWS-Konto anzumelden.

Anmeldebildschirm

Sie sehen die AWS Management Console wie folgt, sobald Sie sich erfolgreich in Ihr Konto eingeloggt haben.

AWS-Verwaltungskonsole

Erstellen Sie einen Alarm für die bestehende DynamoDB-Tabelle.

Suchen Sie im Suchfeld oben auf dem Bildschirm nach „Cloudwatch“.

Cloudwatch durchsuchen

Sie sehen dann das Cloudwatch-Dashboard wie folgt. Klicken Sie auf „Alarme“ in der linken Leiste.

Cloudwatch Dashboard

Auf diesem Bildschirm sehen Sie die bestehenden Alarme in Ihrem Konto. Um einen neuen Alarm für die bestehende DynamoDB-Tabelle zu erstellen, klicken Sie auf die Schaltfläche „Alarm erstellen“.

Alarme Bildschirm

Sie erhalten einen Bildschirm zur Angabe von Metriken und Bedingungen für den zu erstellenden Alarm. Klicken Sie auf die Schaltfläche „Metrik auswählen“.

Geben Sie Metrik und Bedingungen an

Suchen Sie im Suchfeld nach „dynamodb“, um die Metriken zu filtern. Klicken Sie auf „DynamoDB > Tabellenmetriken“, um die verfügbaren Metriken für die vorhandenen DynamoDB-Tabellen anzuzeigen.

DynamoDB durchsuchen und Tabellenmetriken auswählen

Jetzt sehen Sie die verfügbaren Metriken für die vorhandenen DynamoDB-Tabellen, Sie können eine beliebige davon auswählen, um einen Alarm zu erstellen. Hier werde ich mit „ConsumedWriteCapacityUnits“ fortfahren. Klicken Sie auf die Schaltfläche „Select metrics“, um fortzufahren.

Metrik auswählen

Wählen Sie die gewünschte Statistik, den Schwellenwerttyp, die Alarmbedingung und den Schwellenwert aus. Hier wird der Alarm ausgelöst, wenn die Stichprobenzahl der „ConsumeWriteCapacityUnits“ 5 Minuten lang größer als 5 ist.

Geben Sie Metrik und Bedingungen an

Wählen Sie den Auslöser für den Alarmzustand und das SNS-Thema. Wenn der Alarm ausgelöst wird, geht er in den Zustand „In Alarm“ über und sendet eine Benachrichtigung an das angegebene SNS-Thema.

Aktionen konfigurieren

Fügen Sie dem zu erstellenden Alarm einen Namen und eine Beschreibung hinzu und klicken Sie auf die Schaltfläche „Weiter“.

Name und Beschreibung hinzufügen

Überprüfen Sie alle Konfigurationen, bevor Sie einen Alarm erstellen. Wenn die Konfigurationen gut aussehen, klicken Sie auf die Schaltfläche „Alarm erstellen“.

Vorschau und Erstellen

Sobald der Alarm erstellt ist, können Sie ihn unter der Konsole „Alarme“ sehen. Basierend auf dem Schwellenwert und der Bedingung ändert sich der Status des Alarms. Da die Bedingung bereits erfüllt ist, sehen Sie, dass sich der Alarm im Zustand „In Alarm“ befindet.

In Alarm

Dadurch wurde der Alarm ausgelöst und die Benachrichtigung wurde an das Abonnement des angegebenen SNS-Themas gesendet.

Alarm-Benachrichtigung

Fazit

In diesem Artikel haben wir einen Alarm für die Metrik „ConsumedWriteCapacityUnits“ erstellt. Dieser Alarm wird ausgelöst, wenn „Sample Count“ „größer“ als der Schwellenwert „5“ für den Zeitraum von „5 Minuten“ ist. Wir haben auch gesehen, dass eine Benachrichtigung an das SNS-Themenabonnement gesendet wird, wenn der Alarm ausgelöst wird. Sie können nun die gleichen Schritte verwenden und Alarme für verschiedene Metriken, Statistiken, Schwellenwerttypen/-werte erstellen.

Das könnte dich auch interessieren …