So verwaltest du AWS Cloudwatch mit aws-cli

In diesem Artikel zeige ich dir aws-cli Befehle, um Cloudwatch über das Terminal zu verwalten. Diese Anleitung wird dir helfen, aws-cli für die Erstellung und Verwaltung von Cloudwatch Alarmen zu nutzen. Wir werden Befehle sehen, um einen EC2 CPU Monitoring Alarm zu erstellen, zu verwalten und zu löschen. Es wird vorausgesetzt, dass du bereits mit AWS EC2, Cloudwatch Services vertraut bist.

Nachfolgend sind die aws-cli Befehle für Cloudwatch, die wir in diesem Artikel sehen werden.

  1. list-metrics: Dieser Befehl listet die angegebenen Metriken auf.
  2. put-metric-alarm: Mit diesem Befehl kannst du einen Alarm erstellen und aktualisieren.
  3. describe-alarms: Erhalte Details zu dem angegebenen Alarm.
  4. set-alarm-state: Ändere den Zustand des Alarms temporär zu Testzwecken mit diesem Befehl.
  5. describe-alarm-history: Überprüfe mit diesem Befehl die Historie des angegebenen Alarms.
  6. delete-alarms: Verwende diesen Befehl, um einen bestimmten Alarm zu löschen.

Besuche die offizielle Dokumentation hier, um zu erfahren, welche Befehle für die Verwaltung von Cloudwatch zur Verfügung stehen.

Vorraussetzungen

  1. AWS-Konto (Erstellen, wenn du noch keines hast).
  2. Grundlegendes Verständnis von EC2-Instanzen (Klicke hier, um zu lernen, wie man eine EC2-Instanz erstellt).
  3. Grundlegendes Verständnis von Cloudwatch (Klicke hier, umzu lernen, wie du Alarme für eine EC2-Instanz über die AWS-Konsole erstellst).
  4. AWS IAM-Benutzer mit der Richtlinie AdministratorAccess und den zugehörigen Zugriffs- und Geheimschlüsseln (Klicke hier, um zu lernen, wie man einen IAM-Benutzer erstellt).
  5. AWS CLI, installiert auf deinem lokalen Rechner.
  6. SNS Topic (Klicke hier, um zu lernen, wie man ein SNS Topic mit Cloudformation erstellt).

Was müssen wir tun?

  1. Überprüfe aws cli und exportiere den AWS access & secret key auf deinem lokalen Rechner.
  2. Verwalte Cloudwatch mit aws-cli

Prüfe aws cli und exportiere den AWS-Zugangs- und Geheimschlüssel auf deinem lokalen Rechner.

Bevor du fortfährst, stelle sicher, dass du aws-cli auf deinem lokalen Rechner installiert hast.

aws --verson #aws-cli/2.0.0 Python/3.8.2 Darwin/19.2.0 botocore/2.0.0dev7

Hole dir deine AWS IAM-Benutzerzugangs- und geheimen Schlüssel und exportiere sie auf dein Terminal.

export AWS_ACCESS_KEY_ID=<your-iam-user-access-key-here>
export AWS_SECRET_ACCESS_KEY=<your-iam-user-secret-key-here>

Überprüfe die Identität der Schlüssel, die du exportiert hast.

aws sts get-caller-identity

Identität erhalten

Du wirst meine Schlüssel im obigen Screenshot sehen, du wirst sie nicht verwenden können, da sie nicht mehr aktiv sind. Außerdem solltest du darauf achten, dass du deine Schlüssel niemals mit anderen teilst.

Verwalte Cloudwatch mit aws-cli

Einen Alarm zu erstellen ist nutzlos, wenn uns keine Benachrichtigungen erreichen, wenn der Alarm ausgelöst wird. Um Alarme zu versenden, benötigen wir ein SNS Topic mit einem Abonnement darauf. Ich habe bereits ein paar SNS Topics mit einem E-Mail-Abonnement für eines davon. Ich werde es für Demozwecke verwenden. Wenn du noch kein SNS Topic hast, erstelle es bevor du fortfährst.

Hole dir eine Liste der bestehenden SNS Topics in deinem Account.

aws sns list-topics

Hole dir die IDs der Instanzen, um für jede von ihnen einen Alarm zu erstellen.

aws ec2 describe-instances --query "Reservations[].Instances[].InstanceId"

SNS Themen und EC2 Instanz IDs auflisten

Behalte die Instanz ID und SNS ARN. Prüfe die verfügbaren Metriken für EC2 Instanzen.

aws cloudwatch list-metrics --namespace "AWS/EC2"

Lass uns nun einen Alarm namens „cpu-mon“ erstellen, der ausgelöst wird, wenn die CPU-Auslastung „70 Prozent“ für „300 Sekunden“ für die angegebene Instanz überschreitet. Wenn der Alarm ausgelöst wird, wird eine Benachrichtigung an die angegebene SNS gesendet.

aws cloudwatch put-metric-alarm --alarm-name cpu-mon --alarm-description "Test Alarm when CPU exceeds 70 percent" --metric-name CPUUtilization --namespace AWS/EC2 --statistic Average --period 300 --threshold 70 --comparison-operator GreaterThanThreshold  --dimensions "Name=InstanceId,Value=<instance-id>" --evaluation-periods 2 --alarm-actions <sns-arn> --unit Percent

Überprüfe den Alarm im Cloudwatch Dashboard

Beschreibe den Alarm, den wir gerade erstellt haben und sieh dir seine Details an.

aws cloudwatch describe-alarms --alarm-names cpu-mon

Du kannst den Status des Alarms ändern. Um ihn zu Testzwecken auszulösen, ändern wir den Status auf „ALARM“. Dadurch wird der Alarmstatus auf „ALARM“ geändert und eine Benachrichtigung wird an das SNS Topic gesendet.

aws cloudwatch set-alarm-state --alarm-name "cpu-mon" --state-value ALARM --state-reason "testing purposes"

Überprüfe die Historie der Alarmzustände.

aws cloudwatch describe-alarm-history --alarm-name "cpu-mon" --history-item-type StateUpdate

Alarmzustand einstellen

Wenn du den Alarm, den du erstellt hast, nicht mehr brauchst, kannst du ihn mit dem folgenden Befehl löschen.

aws cloudwatch delete-alarms --alarm-names cpu-mon

Überprüfe, ob der Alarm gelöscht wurde.

aws cloudwatch describe-alarms

Lösche den Alarm

Fazit

In diesem Artikel haben wir die Befehle zum Erstellen und Verwalten von Alarmen über das Terminal mit aws-cli gesehen. Wir haben einen Alarm für eine EC2 Instanz erstellt, um die CPU-Auslastung zu überwachen. Wir haben gesehen, wie man den Alarmstatus manuell ändern kann, um den erstellten Alarm zu testen. Wir haben auch den Befehl zum Löschen des Alarms gesehen, den wir erstellt haben. Diese Anleitung kann dir helfen, mit AWS Cloudwatch zu beginnen. Du kannst verschiedene Befehle und Optionen ausprobieren, um Cloudwatch mit aws-cli zu verwalten.

Das könnte dich auch interessieren …