Wie kann ich von Amazon CloudWatch Metriken erhalten, die den EBS-Durchsatz meiner EC2-Instance anzeigen, und dann einen Alarm einrichten, der mich benachrichtigt, wenn die EC2-Instance das Durchsatzlimit erreicht?

Lesedauer: 3 Minute
0

Wie kann ich Metriken von Amazon CloudWatch abrufen, die den gesamten Amazon Elastic Block Store (Amazon EBS)-Durchsatz meiner Amazon Elastic Compute Cloud (Amazon EC2)-Instance anzeigen? Wie kann ich außerdem einen Alarm einrichten, der mich benachrichtigt, wenn die EC2-Instance das Durchsatzlimit erreicht?

Kurzbeschreibung

Es gibt keine native Amazon-EBS-Metrik, die den EBS-Durchsatz einer Xen-basierten Amazon-EC2-Instance in CloudWatch verfolgt. Sie können jedoch das Skript EC2EBSThroughput/ebs-stats.sh verwenden, um den gesamten EBS-Durchsatz Ihrer EC2-Instance zu messen.

Das Skript erfasst die gesamten Lese-/Schreib-Bytes pro Sekunde auf allen verbundenen Volumes und leitet den Durchsatz dann als Metrik an Amazon CloudWatch weiter. Sie können diese Metriken in der Amazon-CloudWatch-Konsole einsehen und einen Alarm einrichten, der auf der Grundlage eines von Ihnen festgelegten Schwellenwerts ausgelöst wird.

Hinweis: Die auf AWS Nitro basierenden EC2-Instances, die mit der Amazon-EBS-optimierten Instance-Burst-Funktion erstellt wurden, beinhalten die CloudWatch-Metriken EBSIOBalance% und EBSByteBalance%. Diese Metriken sind für einige Instance-Größen verfügbar, die mindestens einmal alle 24 Stunden für 30 Minuten ihre maximale Leistung erreichen. Eine vollständige Liste der zutreffenden Instance-Typen finden Sie unter Unterstützte Instance-Typen.

Das Skript ebs-stats.sh ist für Xen-basierte EC2-Instances in CloudWatch vorgesehen. Das Skript ist nur mit Amazon-Linux-, Red-Hat-Enterprise-Linux- und CentOS-Instances kompatibel. Sie können das Skript jedoch für andere Linux-Distributionen anpassen.

Hinweis: Wenn Ihre Instance über ein Instance-Speichervolume verfügt, meldet das Skript den aggregierten Durchsatz, einschließlich des Durchsatzes des Instance-Speichervolumes. Das bedeutet, dass Sie mit diesem Skript möglicherweise keine genaue Messung des EBS-Durchsatzes erhalten.

Lösung

Hinweis: Wenn Sie beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehler erhalten, stellen Sie sicher, dass Sie die neueste AWS-CLI-Version verwenden.

1.Installieren Sie für RHEL-basierte Distributionen die AWS CLI, falls Sie dies noch nicht getan haben.

2.Laden Sie das Skript ebs-stats.sh herunter.

3.Platzieren Sie das Skript auf Ihrer Instance und machen Sie es dann ausführbar. Sie müssen das Skript als Root-Benutzer oder als Sudo ausführen. Andernfalls schlägt es fehl.

$sudo chmod +x ebs-stats.sh

4.Stellen Sie in der AWS CLI die gewünschte Laufzeitfrequenz von ebs-stats.sh ein, indem Sie den folgenden Befehl im Hintergrund ausführen:

$sudo nohup ./ebs-stats.sh example-sleep-interval &

Hinweis: Ersetzen Sie example-sleep-interval durch die gewünschte Anzahl von Sekunden zwischen den einzelnen Datenpunkten.

5.Erstellen Sie eine AWS Identity and Access Management (IAM)-Rolle.

6.Ordnen Sie der Rolle die folgende Richtlinie zu:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": [
        "cloudwatch:ListMetrics",
        "cloudwatch:GetMetricStatistics",
        "cloudwatch:PutMetricData",
        "autoscaling:DescribeAutoScalingInstances"
      ],
      "Effect": "Allow",
      "Resource": "*"
    }
  ]
}

7.Hängen Sie die IAM-Richtlinie an Ihre EC2-Instance an. Hierdurch kann das Skript die Metriken an Amazon CloudWatch übertragen.

8.Stellen Sie über die CloudWatch-Konsole einen Alarm für EBSThroughoutMB ein. Weitere Informationen finden Sie unter Erstellen eines CloudWatch-Alarms auf der Grundlage eines statischen Schwellenwerts oder unter Verwenden von Amazon-CloudWatch-Alarmen.

Stellen Sie sicher, dass Sie auf der Grundlage des von Ihnen verwendeten Arguments den richtigen Zeitraum wählen.


Ähnliche Informationen

Ihre Instances mit CloudWatch überwachen

Die verfügbaren CloudWatch-Metriken für Ihre Instances auflisten

Amazon-EBS-optimierte Instances

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren