GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So verwalten Sie AWS Cloudwatch mit aws-cli

In diesem Artikel zeige ich Ihnen aws-cli-Befehle zum Verwalten von Cloudwatch vom Terminal aus. Dieser Leitfaden hilft Ihnen beim Einstieg in die Verwendung von aws-cli zum Erstellen und Verwalten von Cloudwatch-Alarmen. Wir sehen Befehle zum Erstellen, Verwalten und Löschen eines EC2-CPU-Überwachungsalarms. Es wird davon ausgegangen, dass Sie bereits mit AWS EC2, Cloudwatch-Diensten vertraut sind.

Im Folgenden finden Sie die aws-cli-Befehle für Cloudwatch, die wir in diesem Artikel sehen werden.

  1. Listenmetrik s:Dieser Befehl listet die angegebenen Metriken auf.
  2. put-metric-alarm :  Mit diesem Befehl können Sie einen Alarm erstellen und aktualisieren.
  3. describe-alarms :Details zum angegebenen Alarm abrufen.
  4. set-alarm-state :Ändern Sie mit diesem Befehl vorübergehend den Status des Alarms zu Testzwecken.
  5. Alarmverlauf beschreiben :Überprüfen Sie den Verlauf des angegebenen Alarms mit diesem Befehl.
  6. Alarme löschen :Verwenden Sie diesen Befehl, um einen bestimmten Alarm zu löschen.

Besuchen Sie die offizielle Dokumentation hier, um zu erfahren, welche Befehle für die Verwaltung von Cloudwatch verfügbar sind.

Voraussetzungen

  1. AWS-Konto  (erstellen wenn Sie noch keins haben).
  2. Grundlegendes Verständnis der EC2-Instanz (Klicken Sie hier, um zu erfahren, wie Sie eine EC2-Instanz erstellen).
  3. Grundlegendes Verständnis von Cloudwatch (Klicken Sie hier, um zu erfahren, wie Sie Alarme für eine EC2-Instanz über die AWS-Konsole erstellen).
  4. AWS-IAM-Benutzer mit angehängter AdministratorAccess-Richtlinie und seinen Zugriffs- und Geheimschlüsseln (Klicken Sie hier, um zu erfahren, wie Sie einen IAM-Benutzer erstellen).
  5. AWS CLI auf Ihrem lokalen Computer installiert.
  6. SNS-Thema (Klicken Sie hier, um zu erfahren, wie Sie ein SNS-Thema mit Cloudformation erstellen).

Was werden wir tun?

  1. Überprüfen Sie aws CLI und exportieren Sie den AWS-Zugriff und den geheimen Schlüssel auf Ihrem lokalen Computer.
  2. Cloudwatch mit aws-cli verwalten

Überprüfen Sie die aws-Cli und exportieren Sie den AWS-Zugriff und den geheimen Schlüssel auf Ihrem lokalen Maschine.

Bevor Sie fortfahren, vergewissern Sie sich, dass aws-cli auf Ihrem lokalen Computer installiert ist.

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

Holen Sie sich Ihren AWS IAM-Benutzerzugriff und Ihre geheimen Schlüssel und exportieren Sie sie auf Ihr Terminal.

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

Überprüfen Sie die Identität der exportierten Schlüssel.

aws sts get-caller-identity

Sie werden meine Schlüssel im obigen Screenshot sehen, Sie können sie nicht verwenden, da sie nicht mehr aktiv sind. Beachten Sie auch, dass Sie Ihre Schlüssel niemals mit jemandem teilen.

Cloudwatch mit aws-cli verwalten

Das Erstellen eines Alarms ist nutzlos, wenn uns keine Benachrichtigungen erreichen, wenn der Alarm ausgelöst wird. Um Benachrichtigungen zu senden, benötigen wir ein SNS-Thema mit einem Abonnement dafür. Ich habe bereits einige SNS-Themen mit einem E-Mail-Abonnement für eines davon. Ich werde es zu Demozwecken verwenden. Wenn Sie kein SNS-Thema haben, erstellen Sie es, bevor Sie fortfahren.

Rufen Sie eine Liste bestehender SNS-Themen in Ihrem Konto ab.

aws sns list-topics

Rufen Sie die IDs der Instanzen ab, um einen Alarm für eine von ihnen zu erstellen.

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

Behalten Sie die Instanz-ID und den SNS-ARN bei. Überprüfen Sie die für EC2-Instanzen verfügbaren Messwerte.

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

Lassen Sie uns nun einen Alarm mit dem Namen „cpu-mon“ erstellen, der ausgelöst wird, wenn die CPU-Auslastung „300 Sekunden“ lang „70 Prozent“ für die angegebene Instanz überschreitet. Wenn der Alarm ausgelöst wird, wird eine Benachrichtigung an das 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

Beschreiben Sie den Alarm, den wir gerade erstellt haben, und sehen Sie sich seine Details an.

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

Sie können den Status des Weckers ändern. Um es zu Testzwecken auszulösen, ändern wir den Zustand auf "ALARM". Dadurch ändert sich der Alarmstatus in „ALARM“ und eine Benachrichtigung wird an das SNS-Thema gesendet.

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

Überprüfen Sie den Verlauf der Alarmzustände.

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

Wenn Sie den von Ihnen erstellten Alarm nicht mehr benötigen, können Sie ihn mit dem folgenden Befehl löschen.

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

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

aws cloudwatch describe-alarms

Schlussfolgerung

In diesem Artikel haben wir die Befehle zum Erstellen und Verwalten von Alarmen vom Terminal aus mit aws-cli gesehen. Wir haben einen Alarm für die EC2-Instanz erstellt, um die CPU-Auslastung zu überwachen. Wir haben gesehen, wie man den Alarmstatus manuell ändert, um den von uns erstellten Alarm zu testen. Wir haben auch den Befehl zum Löschen des von uns erstellten Alarms gesehen. Dieser Leitfaden kann Ihnen bei den ersten Schritten mit AWS Cloudwatch helfen. Sie können verschiedene verfügbare Befehle und Optionen ausprobieren, um Cloudwatch mit aws-cli zu verwalten.


Linux
  1. So erstellen Sie eine RDS-Instance auf AWS mit Terraform

  2. So erstellen Sie eine IAM-Rolle in AWS mit Terraform

  3. So verwalten Sie Protokolldateien mit Logrotate unter Linux

  4. So verwalten Sie NodeJS-Pakete mit Npm

  5. So verwenden Sie AWS CLI zum Verwalten von Amazon S3

Verwalten Sie AWS SQS-Warteschlangen mit aws-cli

So erstellen Sie einen S3-Bucket mit Python Boto3 auf AWS

So erstellen Sie ein Ereignis in AWS Cloudwatch, um eine Lambda-Funktion auszulösen

So verwalten Sie Terraform State in einem AWS S3-Bucket

So verwalten Sie Python-Pakete mit PIP

So installieren Sie AWS-CLI auf Ubuntu