Direkt zum Inhalt

Wie verwende ich die CloudWatch-Metriken, um den durchschnittlichen Durchsatz und die durchschnittliche Anzahl der IOPS zu berechnen, die mein EBS-Volume liefert?

Lesedauer: 4 Minute
0

Ich möchte Amazon CloudWatch-Metriken verwenden, um den durchschnittlichen Durchsatz und die Anzahl der Eingabe-/Ausgabevorgänge pro Sekunde (IOPS) meines Amazon Elastic Block Store (Amazon EBS)-Volumes zu berechnen.

Kurzbeschreibung

Verwende mathematische Ausdrücke mit CloudWatch-Metriken, um den durchschnittlichen Durchsatz und die Anzahl der IOPS des Volumes zu berechnen. Erstelle CloudWatch-Alarme, um die Daten in den EBS-Volumes zu überwachen.

Oder verwende das Automatisierungsdokument AWSSupport-CalculateEBSPerformanceMetrics. Die Automatisierung verwendet CloudWatch-Metriken, um den Gesamtdurchsatz, die Anzahl der IOPS und die E/A-Größe für EBS-Volumes zu berechnen. Du kannst Metriken für einzelne EBS-Volumes oder für alle EBS-Volumes berechnen, die an die Amazon Elastic Compute Cloud (Amazon EC2)-Instance angefügt sind.

Lösung

Durchsatz manuell berechnen

Führe die folgenden Schritte aus:

  1. Öffne die CloudWatch-Konsole.
  2. Wähle unter Metriken die Option Alle Metriken aus.
  3. Wähle EBS-Namespace und dann Metriken pro Volume aus.
  4. Wähle die folgenden Metriken für das EBS-Volume aus:
    Um die durchschnittlichen IOPS zu berechnen, wähle VolumeReadOps, VolumeWriteOps und VolumeIdleTime aus.
    Um den durchschnittlichen Durchsatz zu berechnen, wähle VolumeReadBytes, VolumeWriteBytes und VolumeIdleTime aus.
  5. Wähle die Registerkarte Grafisch dargestellte Metriken aus.
  6. Wähle für Statistik die Option Summe aus.
  7. Wähle unter Zeitraum den Zeitraum aus, den du anzeigen möchtest.
  8. Notiere dir die Metrik-IDs vor jeder grafisch dargestellten Metrik, z. B. m1, m2, m3 usw.
  9. Wähle für Math. hinzufügen die Option Mit leerem Ausdruck beginnen aus und gib dann die folgenden Ausdrücke ein, um den erwarteten Durchschnittswert zu berechnen.
    Berechne den durchschnittlichen IOPS-Wert in Ops pro Sekunde:
    (m1+m2)/(PERIOD(m1))
    Hinweis: Im vorherigen Ausdruck steht m1 für VolumeReadOps und m2 für VolumeWriteOps.
    Berechne den durchschnittlichen Durchsatz in Bytes pro Sekunde, wenn das Volume aktiv ist:
    (m1+m2)/(PERIOD(m1)-(IF(m3>59, 59, m3)))
    Hinweis: Im vorherigen Ausdruck steht m1 für VolumeReadBytes, m2 für VolumeWriteBytes und m3 für VolumeIdleTime.
    Berechne den durchschnittlichen Durchsatz in Bytes pro Sekunde:
    (m1+m2)/(PERIOD(m1))
    Hinweis: Im vorherigen Ausdruck steht m1 für VolumeReadBytes und m2 für VolumeWriteBytes.

Durchsatz und IOPS sind Messungen pro Sekunde. Wenn VolumeIdleTime also länger als 59 Sekunden ist, können metrische Datenpunkte, die auf der VolumeIdleTime-X-Periodenberechnung basieren, höhere Werte als erwartet generieren. Außerdem können der Durchschnittswert von Durchsatz und IOPS aufgrund von Mikrobursts vom tatsächlichen Durchschnittswert abweichen. CloudWatch aggregiert keine EBS-Volumenmetriken im Intervall pro Sekunde. Weitere Informationen findest du unter Wie erkenne ich, ob es sich bei meinem Amazon EBS-Volume um Micro-Bursting handelt, und stelle dann sicher, dass die Leistung dadurch nicht beeinträchtigt wird?

Verwendung der Automatisierung, um den Durchsatz zu berechnen

Bevor du beginnst, kopiere die Volume-ID oder die Instance-ID der Ressource, die du analysieren möchtest. Du benötigst eine Ressourcen-ID, um das Automatisierungsdokument ausführen zu können.

(Optional) Erstelle und spezifiziere eine AWS Identity and Access Management (IAM, Identitäts- und Management)-Rolle für die Automatisierung. Wenn du keine Rolle auswählst, verwendet Automation die Berechtigungen des Benutzers, der das Dokument ausführt.

Du kannst die Automatisierung mithilfe der AWS Systems Manager-Konsole oder der AWS CLI ausführen.

Systems Manager-Konsole

Führe die folgenden Schritte aus:

  1. Öffne das Dokument auf der Systems Manager-Konsole in der AWS-Region, in der sich deine Ressourcen befinden.
  2. Wähle im Abschnitt Automatisierungsdokument ausführen die Option Einfache Ausführung.
  3. Gib im Abschnitt Eingabeparameter die folgenden Parameter ein:
    Gib für ResourceId die ID des EBS-Volumes oder der EC2-Instance ein, die du analysieren möchtest.
    Gib für StartTime eine Uhrzeit im Format yyyy-mm-ddThh:mm:ss und in UTC ein. Gib beispielsweise 2021-06-09T13:30:10 ein.
    Gib für EndTime eine Uhrzeit im Format yyyy-mm-ddThh:mm:ss und in UTC ein. Gib beispielsweise 2021-06-16T13:30:10 ein.
    (Optional) Wähle für AutomationAssumeRole deine IAM-Rolle aus.
  4. Wähle Ausführen aus.

Die endgültige Ausgabe ist eine URL zu deinem Dashboard. Erweitere das Feld Ausgaben, um die URL anzuzeigen. Verwende das Dashboard, um die analysierten Metriken und ihre Kontingente anzuzeigen.

Hinweis: Um das Dashboard zu löschen, benötigst du cloudwatch:DeleteDashboards-IAM-Berechtigungen.

AWS CLI

Hinweis: Wenn du beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version der AWS CLI verwendest.

Führe den AWS-CLI-Befehl start-automation-execution aus:

aws ssm start-automation-execution --document-name "AWSSupport-CalculateEBSPerformanceMetrics" --document-version "\\$DEFAULT" --parameters '{"ResourceId":\["i-example12345"\], "StartTime":\["2021-06-09T13:30:10"\], "EndTime":\["2021-06-16T13:30:10"\], "Period":\["60"\], "AutomationAssumeRole":\[""\]}' --region us-east-1

Hinweis: Ersetze im vorherigen Befehl ResourceId durch die Ressourcen-ID, die du analysieren möchtest. Ersetze StartTime und EndTime durch die Start- und Endzeit, um die Daten in CloudWatch anzuzeigen. Ersetze us-east-1 durch die Region für deine Ressource. Wenn du eine IAM-Rolle für die Ausführung der Automatisierung erstellt hast, ersetze AutomationAssumeRole durch deine IAM-Rolle.