View a markdown version of this page

Erstellen einer Testumgebung - AWS DevOps Agentin

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erstellen einer Testumgebung

Dieses Handbuch enthält praktische Tests zur Überprüfung der Funktionen des AWS DevOps Agenten zur Reaktion auf Vorfälle anhand einer Beispielarchitektur. Verwenden Sie diese Ergänzung, wenn Sie DevOps Agent testen möchten, bevor Sie Ihre Produktionssysteme anschließen.

Voraussetzungen

  • AWS Konto mit Administratorzugriff

  • AWS DevOps Agentenbereich, der mit dem Rollenablauf „ DevOps Agent automatisch erstellen“ erstellt und konfiguriert wurde

  • Für den EC2-Test: eine vorhandene VPC mit mindestens einem Subnetz in der Region, in der Sie die Bereitstellung durchführen möchten.

Überblick über Kosten und Sicherheit

Kostenschutz

  • EC2-Test: KOSTENLOS (AWS kostenloses Kontingent) oder ~0,02 $ für 2 Stunden

  • Lambda-Test: KOSTENLOS (1 Mio. € kostenloses Kontingent) requests/month

  • CloudWatch: KOSTENLOS (10 Alarme, grundlegende Messwerte enthalten)

  • Voraussichtliche Gesamtkosten: 0,00$ — 0,05$ für vollständige Tests

Sicherheitsmerkmale bei diesen Tests

  • Auto-termination: Built-in automatische Abschaltung

  • Für das kostenlose Kontingent geeignet: Verwendet kleinste Instance-Typen

  • Eingeschränkter Umfang: Minimale, isolierte Testressourcen

  • Einfache Bereinigung: Einfache Schritte auf der Konsole, um alles zu entfernen

  • Keine Auswirkungen auf die Produktion: Vollständig separate Testumgebung

Richten Sie Ihre ein AWS Konto zum Testen

Wichtig

Infrastrukturressourcen müssen in dem AWS Konto bereitgestellt werden, in dem Sie das primäre Cloud-Konto Ihres DevOps Agent Space erstellt haben. Die spezifische Region spielt keine Rolle.

  1. Loggen Sie sich in die AWS Konsole ein: https://console.aws.amazon.com

  2. Stellen Sie sicher, dass Sie mit demselben AWS Konto arbeiten, in dem sich Ihr DevOps Agentenbereich befindet

  3. Sie können jede Region für Ihre Testressourcen verwenden

Anmerkung

Die 1:1 -Zuordnung zwischen dem Hauptkonto Ihres DevOps Agenten und den Ressourcen der Testumgebung, die Sie erstellen, vereinfacht die Testeinrichtung. Sie können Ihren DevOps Agentenbereich problemlos um sekundäre Konten erweitern und kontoübergreifende Untersuchungen ermöglichen.

Wählen Sie Ihren Test

Sie können entweder den Test unabhängig oder beide zusammen ausführen:

Testoption A: EC2-CPU-Kapazitätstest

Zweck: Überprüfen Sie, ob der AWS DevOps Agent in der Lage ist, EC2-Leistungsprobleme zu erkennen und zu untersuchen

Geschätzte Zeit: 5 Minuten Einrichtung plus 10 Minuten automatische Ausführung

Schwierigkeitsgrad: Vollständig automatisiert (keine manuellen Schritte erforderlich)

Testoption B: Lambda-Fehlerratentest

Zweck: Überprüfen Sie, ob der AWS DevOps Agent in der Lage ist, Lambda-Funktionsfehler zu erkennen und zu untersuchen

Geschätzte Zeit: 10 Minuten für die Einrichtung und 2 Minuten für die Auslösung

Schwierigkeitsgrad: Sehr einfach

Testoption A: EC2-CPU-Kapazitätstest

Schritt 1: CloudFormation Stack für den EC2-Test bereitstellen

Wir verwenden CloudFormation , um unsere Testressourcen zu erstellen, sodass der AWS DevOps Agent sie ordnungsgemäß verfolgen und untersuchen kann.

  1. Navigiere zu CloudFormation:

    1. Suchen Sie in der AWS Konsole nach "CloudFormation" und wählen Sie CloudFormation

    2. Klicken Sie auf Stack erstellen > Mit neuen Ressourcen (Standard)

  2. Vorlage hochladen:

    1. Erstellen Sie eine neue lokale Datei mit dem Namen AWS-DevOpsAgent-ec2-test.yaml

    2. Kopieren Sie diese CloudFormation Vorlage und fügen Sie sie in die Datei ein:

      1. AWSTemplateFormatVersion: '2010-09-09' Description: 'AWS DevOps Agent EC2 CPU Test Stack' Parameters: VpcId: Type: AWS::EC2::VPC::Id Description: ID of an existing VPC where the test instance will be launched. SubnetId: Type: AWS::EC2::Subnet::Id Description: ID of an existing subnet within the selected VPC. Choose a subnet that routes to an internet gateway if you plan to connect via SSH. MyIP: Type: String Description: Your current IP address for SSH access (find at https://whatismyipaddress.com) Default: '0.0.0.0/0' Resources: # Security Group for SSH access TestSecurityGroup: Type: AWS::EC2::SecurityGroup Properties: GroupDescription: AWS DevOps Agent beta testing security group VpcId: !Ref VpcId SecurityGroupIngress: - IpProtocol: tcp FromPort: 22 ToPort: 22 CidrIp: !Ref MyIP Description: SSH access from your IP Tags: - Key: Name Value: AWS-DevOpsAgent-Test-SG - Key: Purpose Value: AWS-DevOpsAgent-Testing # Key Pair for SSH access TestKeyPair: Type: AWS::EC2::KeyPair Properties: KeyName: AWS-DevOpsAgent-test-key KeyType: rsa Tags: - Key: Name Value: AWS-DevOpsAgent-Test-Key - Key: Purpose Value: AWS-DevOpsAgent-Testing # IAM Role for Session Manager access SSMInstanceRole: Type: AWS::IAM::Role Properties: AssumeRolePolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Principal: Service: ec2.amazonaws.com Action: sts:AssumeRole ManagedPolicyArns: - arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore Tags: - Key: Name Value: AWS-DevOpsAgent-Test-SSMRole - Key: Purpose Value: AWS-DevOpsAgent-Testing # Instance profile wrapping the SSM role SSMInstanceProfile: Type: AWS::IAM::InstanceProfile Properties: Roles: - !Ref SSMInstanceRole # EC2 Instance for CPU testing TestInstance: Type: AWS::EC2::Instance Properties: InstanceType: t3.micro ImageId: '{{resolve:ssm:/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-6.1-x86_64}}' KeyName: !Ref TestKeyPair SubnetId: !Ref SubnetId SecurityGroupIds: - !GetAtt TestSecurityGroup.GroupId IamInstanceProfile: !Ref SSMInstanceProfile InstanceInitiatedShutdownBehavior: terminate UserData: Fn::Base64: !Sub | #!/bin/bash yum update -y yum install -y htop # Create the CPU stress test script cat > /home/ec2-user/cpu-stress-test.sh << 'EOF' #!/bin/bash echo "Starting AWS DevOpsAgent CPU Stress Test" echo "Time: $(date)" echo "Instance: $(curl -s http://169.254.169.254/latest/meta-data/instance-id)" echo "" # Get number of CPU cores CORES=$(nproc) echo "CPU Cores: $CORES" echo "" echo "Starting stress test (5 minutes)..." echo "This will generate >70% CPU usage to trigger CloudWatch alarm" echo "" # Create CPU load using yes command echo "Starting CPU load processes..." for i in $(seq 1 $CORES); do (yes > /dev/null) & CPU_PID=$! echo "Started CPU load process $i (PID: $CPU_PID)" echo $CPU_PID >> /tmp/cpu_test_pids done # Auto-cleanup after 5 minutes (sleep 300 && echo "Stopping CPU load processes..." && kill $(cat /tmp/cpu_test_pids 2>/dev/null) 2>/dev/null && rm -f /tmp/cpu_test_pids) & echo "" echo "CPU load processes started for 5 minutes" echo "Check CloudWatch for alarm trigger in 3-5 minutes" EOF chmod +x /home/ec2-user/cpu-stress-test.sh chown ec2-user:ec2-user /home/ec2-user/cpu-stress-test.sh # Create auto-shutdown script (safety mechanism) cat > /home/ec2-user/auto-shutdown.sh << 'SHUTDOWN_EOF' #!/bin/bash echo "Auto-shutdown scheduled for 2 hours from now: $(date)" sleep 7200 echo "Auto-shutdown executing at: $(date)" sudo shutdown -h now SHUTDOWN_EOF chmod +x /home/ec2-user/auto-shutdown.sh nohup /home/ec2-user/auto-shutdown.sh > /home/ec2-user/auto-shutdown.log 2>&1 & echo "AWS DevOpsAgent test setup completed at $(date)" > /home/ec2-user/setup-complete.txt Tags: - Key: Name Value: AWS-DevOpsAgent-Test-Instance - Key: Purpose Value: AWS-DevOpsAgent-Testing # CloudWatch Alarm for CPU utilization CPUAlarm: Type: AWS::CloudWatch::Alarm Properties: AlarmName: AWS-DevOpsAgent-EC2-CPU-Test AlarmDescription: AWS-DevOpsAgent beta test - EC2 CPU utilization alarm MetricName: CPUUtilization Namespace: AWS/EC2 Statistic: Average Period: 60 EvaluationPeriods: 1 Threshold: 70 ComparisonOperator: GreaterThanThreshold Dimensions: - Name: InstanceId Value: !Ref TestInstance TreatMissingData: notBreaching Outputs: InstanceId: Description: EC2 Instance ID for testing Value: !Ref TestInstance SecurityGroupId: Description: Security Group ID Value: !GetAtt TestSecurityGroup.GroupId AlarmName: Description: CloudWatch Alarm Name Value: !Ref CPUAlarm SSHCommand: Description: SSH command to connect to instance Value: !Sub 'ssh -i "AWS-DevOpsAgent-test-key.pem" ec2-user@${TestInstance.PublicDnsName}'
    3. Wählen Sie in der CloudFormation Konsole die Option Eine Vorlagendatei hochladen

    4. Wählen Sie Datei auswählen

    5. Wählen Sie die AWS-DevOpsAgent-ec2-test.yaml Datei aus

    6. Wählen Sie Weiter

  3. Stapel konfigurieren:

    1. Name des Stapels: AWS-DevOpsAgent-EC2-Test

    2. Parameter:

      1. VpcId: Wählen Sie eine vorhandene VPC aus der Dropdownliste aus.

      2. SubnetId: Wählen Sie ein Subnetz innerhalb der von Ihnen ausgewählten VPC aus. Für den SSH-Zugriff muss das Subnetz zu einem Internet-Gateway weitergeleitet werden, und der Instance muss eine öffentliche IPv4-Adresse zugeordnet sein. Andernfalls ist die SSHCommand Ausgabe leer und SSH-Verbindungen sind nicht erfolgreich.

      3. MyIP: Als Standard belassen 0.0.0.0/0 (Sie können dies später bei Bedarf sichern)

    3. Wählen Sie Weiter

  4. Konfigurieren Sie die Stack-Optionen:

    1. Behalten Sie die Standardeinstellungen bei und wählen Sie Weiter

  5. Überprüfen und erstellen

    1. Markieren Sie Ich bestätige, dass dadurch AWS CloudFormation möglicherweise IAM-Ressourcen erstellt werden

    2. Wählen Sie Senden

  6. Warte auf den Abschluss:

    1. Die Stack-Erstellung dauert 3—5 Minuten

    2. Der Status ändert sich von CREATE_IN_PROGRESS zu CREATE_COMPLETE

    3. Wichtig: Ihre EC2-Instance ist jetzt Teil eines CloudFormation Stacks, der nachverfolgen AWS DevOpsAgent kann!

Optional: Sicherer SSH-Zugriff (nur wenn Sie vorhaben, eine Verbindung zur Instance herzustellen)

Überspringen Sie diesen Schritt, wenn Sie nur den automatisierten Test ausführen möchten

  1. Suchen Sie die Sicherheitsgruppe:

    1. Gehen Sie in der AWS Konsole zu dem AWS-DevOpsAgent-EC2-Test Stack CloudFormation und wählen Sie ihn aus

    2. Öffnen Sie die Registerkarte Ausgaben und kopieren Sie den Wert von SecurityGroupId (beginnt mitsg-)

    3. Gehen Sie zu EC2 Sicherheitsgruppen und fügen Sie die ID in die Suchleiste ein, um die Sicherheitsgruppe zu öffnen

  2. SSH-Regel aktualisieren:

    1. Wählen Sie die Sicherheitsgruppe → Registerkarte Eingehende Regeln → Regeln für eingehenden Verkehr bearbeiten

    2. Suchen Sie die SSH-Regel (Port 22)

    3. Ändern Sie die Quelle von 0.0.0.0/0 zu Ihrer IP: [YOUR_IP]/32

    4. Hol dir deine IP von https://whatismyipaddress.com

    5. Wählen Sie Save rules (Regeln speichern) aus

Schritt 2: Warten Sie auf die automatische Testausführung

  1. Automatische Testausführung:

    • Der CPU-Stresstest wird automatisch 5 Minuten nach dem Start der Instanz gestartet

    • Es ist kein manuelles Eingreifen erforderlich — warten Sie einfach, der Test läuft vollständig im Hintergrund

  2. Überwachen Sie den Test:

    • Die Instanz bootet und bereitet den Test automatisch vor

    • Das Skript wird 5 Minuten lang ausgeführt und generiert eine CPU-Auslastung von > 70%

    • CloudWatch Der Alarm sollte innerhalb von insgesamt 8-10 Minuten ausgelöst werden (5 Minuten Verzögerung + 3-5 Minuten bei Alarm)

  3. Optional: Manueller Wiederholungslauf (für zusätzliche Tests):

    • Stellen Sie eine Verbindung zu Ihrer Instance her: EC2-Konsole → → Connect AWS-DevOpsAgent-Test-Instance Session Manager

    • Führen Sie den Stresstest erneut aus: ./cpu-stress-test.sh

    • Perfekt, um AWS DevOpsAgent die Reaktion mehrmals zu testen

Testoption B: Lambda-Fehlerratentest

Schritt 1: CloudFormation Stack für den Lambda-Test bereitstellen

  1. Navigieren Sie zu CloudFormation:

    1. Gehen Sie in der AWS Konsole zu CloudFormation

    2. Wählen Sie Stapel erstellen Mit neuen Ressourcen (Standard)

  2. Vorlage hochladen:

    1. Erstellen Sie eine neue lokale Datei mit dem Namen AWS-DevOpsAgent-lambda-test.yaml

    2. Kopieren Sie diese CloudFormation Vorlage und fügen Sie sie in die Datei ein:

      1. AWSTemplateFormatVersion: '2010-09-09' Description: 'AWS DevOpsAgent Lambda Error Test Stack' Resources: # IAM Role for Lambda function LambdaExecutionRole: Type: AWS::IAM::Role Properties: RoleName: AWS-DevOpsAgentLambdaTestRole AssumeRolePolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Principal: Service: lambda.amazonaws.com Action: sts:AssumeRole ManagedPolicyArns: - arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole Tags: - Key: Name Value: AWS-DevOpsAgent-Lambda-Test-Role - Key: Purpose Value: AWS-DevOpsAgent-Testing # Lambda function that generates errors TestLambdaFunction: Type: AWS::Lambda::Function Properties: FunctionName: AWS-DevOpsAgent-test-lambda Runtime: python3.12 Handler: index.lambda_handler Role: !GetAtt LambdaExecutionRole.Arn Code: ZipFile: | import json import random import time from datetime import datetime def lambda_handler(event, context): print(f"AWS DevOpsAgent Test Lambda - {datetime.now()}") print(f"Event: {json.dumps(event)}") # Intentionally generate errors for testing error_scenarios = [ "Simulated database connection timeout", "Test API rate limit exceeded", "Intentional validation error for AWS DevOpsAgent testing" ] # Always throw an error for testing purposes error_message = random.choice(error_scenarios) print(f"Generating test error: {error_message}") # This will create a Lambda error that CloudWatch will detect raise Exception(f"AWS DevOpsAgent Test Error: {error_message}") Description: AWS DevOpsAgent beta test function - intentionally generates errors Timeout: 30 Tags: - Key: Name Value: AWS-DevOpsAgent-Test-Lambda - Key: Purpose Value: AWS-DevOpsAgent-Testing # CloudWatch Alarm for Lambda errors LambdaErrorAlarm: Type: AWS::CloudWatch::Alarm Properties: AlarmName: AWS-DevOpsAgent-Lambda-Error-Test AlarmDescription: AWS-DevOpsAgent beta test - Lambda error rate alarm MetricName: Errors Namespace: AWS/Lambda Statistic: Sum Period: 60 EvaluationPeriods: 1 Threshold: 0 ComparisonOperator: GreaterThanThreshold Dimensions: - Name: FunctionName Value: !Ref TestLambdaFunction TreatMissingData: notBreaching Outputs: LambdaFunctionName: Description: Lambda Function Name for testing Value: !Ref TestLambdaFunction LambdaFunctionArn: Description: Lambda Function ARN Value: !GetAtt TestLambdaFunction.Arn AlarmName: Description: CloudWatch Alarm Name Value: !Ref LambdaErrorAlarm TestCommand: Description: AWS CLI command to test the function Value: !Sub 'aws lambda invoke --function-name ${TestLambdaFunction} --payload "{\"test\":\"AWS DevOpsAgent validation\"}" response.json'
    3. Wählen Sie in der CloudFormation Konsole die Option Eine Vorlagendatei hochladen

    4. Wählen Sie Datei auswählen

    5. Wählen Sie die AWS-DevOpsAgent-lambda-test.yaml Datei aus

    6. Wählen Sie Weiter

  3. Stapel konfigurieren:

    1. Name des Stapels: AWS-DevOpsAgent-Lambda-Test

    2. Wählen Sie Weiter

  4. Konfigurieren Sie die Stack-Optionen:

    1. Behalten Sie die Standardeinstellungen bei und wählen Sie Weiter

  5. Überprüfen und erstellen

    1. Markieren Sie Ich bestätige, dass dadurch AWS CloudFormation möglicherweise IAM-Ressourcen erstellt werden

    2. Wählen Sie Senden

  6. Warte auf den Abschluss:

    1. Die Stack-Erstellung dauert 2-3 Minuten

    2. Der Status ändert sich zu CREATE_COMPLETE

Schritt 2: Lambda-Fehler auslösen

  1. Navigieren Sie zur Lambda-Konsole:

    1. Gehen Sie zur AWS Lambda-Konsole

    2. Finden Sie Ihre Funktion AWS-DevOpsAgent-test-lambda

  2. Testen Sie die Funktion:

    1. Wählen Sie die Registerkarte Test

    2. Wählen Sie Neues Ereignis erstellen

    3. Name der Veranstaltung: AWS-DevOpsAgent-test-event

    4. Verwenden Sie diese JSON-Nutzlast:

      1. { "test": "AWS DevOpsAgent validation", "timestamp": "2024-01-01T00:00:00Z" }
    5. Wählen Sie Speichern aus.

  3. Fehler generieren:

    1. Wählen Sie dreimal die Testtaste (warten Sie jeweils 10 Sekunden)

    2. Bei jedem Test wird ein vorsätzlicher Fehler generiert

    3. CloudWatch Der Alarm sollte innerhalb von 2-3 Minuten ausgelöst werden

    4. AWS DevOpsAgentsollte nun in der Lage sein, den Alarm mit einer Untersuchung in der Operator-App zu erkennen, die Sie als Nächstes einrichten.

Validieren AWS DevOps Erkennung von Agenten

Schritt 1: CloudWatch Alarme zur Plausibilitätsprüfung (optional)

Mit diesem Schritt wird sichergestellt, dass sich die oben genannten Tests jetzt im Alarmzustand befinden.

Für den EC2-Test:

  • Gehen Sie in der CloudWatch Konsole zu Alarme

  • Warten Sie 3-5 Minuten, nachdem Sie den Stresstest gestartet haben

  • Ihr Alarm sollte im Alarmzustand angezeigt werden

  • Wenn immer noch „OK“ ist: Warte weitere 2-3 Minuten (CloudWatch Messwerte können sich verzögern)

Für den Lambda-Test:

  • Alarm prüfen AWS-DevOpsAgent-Lambda-Error-Test

  • Sollte innerhalb von 2-3 Minuten nach Ausführung der Tests als Alarm angezeigt werden

Schritt 2: Starten Sie eine AWS DevOps Untersuchung des Agenten

  1. Öffnen Sie Ihren AWS DevOps Agenten AgentSpace

  2. Wählen Sie Admin-Zugriff. Dadurch wird die DevOps Agent Space-Web-App in einem neuen Fenster geöffnet

  3. Wählen Sie die Schaltfläche Untersuchung starten

  4. Füllen Sie das folgende Formular aus:

    1. Einzelheiten der Untersuchung: Beschreiben Sie die Untersuchung, die Sie durchführen möchten. Geben Sie alle möglichen Details zu den Ermittlungszielen, zu den zu erforschenden Gebieten oder zu relevanten Informationen an.

    2. Ausgangspunkt der Untersuchung: Beschreiben Sie die Informationen, mit denen Sie die Untersuchung beginnen möchten. Sie können einen Alarm, eine Metrik, einen Protokollausschnitt oder etwas anderes angeben, um dem DevOps Agenten einen Ausgangspunkt für die Arbeit zu geben. Geben Sie in diesem Fall eine Zusammenfassung der Alarme an, die Sie gerade erstellt haben.

    3. Datum und Uhrzeit des Vorfalls (ISO 8601 bevorzugt): YYYY-MM-DDTHH:MMZ

    4. Benennen Sie Ihre Untersuchung: Beispiel: Oncall_investigation_1:2025-10-27

    5. AWS Konto-ID für den Vorfall

    6. Region, in der sich der Vorfall ereignet hat

    7. Priorität — AWS DevOpsAgent ermöglicht 2 gleichzeitige Untersuchungen. Die Priorität ermöglicht es Ihnen, die Reihenfolge der Ausführung Ihrer Untersuchungen zu definieren.

  5. Wählen Sie Untersuchen, um die Untersuchung zu starten.

  6. Wählen Sie Ihre Untersuchung aus, die im Dashboard aufgeführt ist. Sie werden zum Bildschirm mit den Ermittlungsdetails weitergeleitet, auf dem Sie die detaillierten Schritte sehen können, die der DevOps Agent unternimmt.

Erwartete Ergebnisse

EC2-Testergebnisse:

  • Erkennt den EC2-CPU-Alarm

  • Identifiziert die Grundursache: „Arbeitslast beim CPU-Stresstest“

  • Zeigt den Zeitplan an: Stresstest → CPU-Spitzenwerte → Alarm

  • Enthält Empfehlungen zur Überwachung und Skalierung

Lambda-Testergebnisse:

  • Erkennt einen Anstieg der Lambda-Fehlerrate

  • Identifiziert die Grundursache: „Absichtliche Testausnahmen“

  • Zeigt die Zeitleiste an: Funktionsaufrufe → Fehler → Alarm

  • Enthält Empfehlungen für die Fehlerbehandlung und -überwachung

Anweisungen zur Bereinigung

Reinigungstest A (EC2-Test)

Automatische Bereinigung

  • Die Instanz wird nach 2 Stunden automatisch beendet (in der Vorlage integriert CloudFormation )

Manuelle Bereinigung (sofort)

  1. CloudFormation Stapel löschen:

    1. Gehe zur CloudFormation Konsole

    2. Wählen Sie AWS-DevOpsAgent-EC2-Test Stapel

    3. Wählen Sie Delete (Löschen)

    4. Bestätigen Sie das Löschen

    5. Dadurch werden automatisch alle Ressourcen gelöscht: EC2-Instance, Sicherheitsgruppe, Schlüsselpaar und Alarm CloudWatch

Bereinigungstest B (Lambda-Test)

  1. Stapel löschen CloudFormation :

    1. Gehe zur CloudFormation Konsole

    2. Wählen Sie AWS-DevOpsAgent-Lambda-Test Stapel

    3. Wählen Sie Delete (Löschen)

    4. Bestätigen Sie das Löschen

    5. Dadurch werden automatisch alle Ressourcen gelöscht: Lambda-Funktion, IAM-Rolle und Alarm CloudWatch

Fehlerbehebung

Häufige Probleme

„Es kann keine Verbindung zur EC2-Instance hergestellt werden“

  • Sicherheitsgruppe überprüfen: Stellen Sie sicher, dass SSH (Port 22) für Ihre IP geöffnet ist

  • Überprüfen Sie die Schlüsselberechtigungen: Ausführen chmod 400 AWS-DevOpsAgent-test-key.pem

  • Öffentliche IP überprüfen: Der Instanz muss eine öffentliche IP zugewiesen sein

  • Auf Instanz warten: Stellen Sie sicher, dass sich die Instanz im Status „Wird ausgeführt“ befindet

„Alarm wird nicht ausgelöst“

  • Warte auf Messwerte: Es kann 2—5 Minuten dauern, bis CloudWatch Metriken angezeigt werden

  • CPU-Auslastung überprüfen: SSH zur Instanz und ausführen, top um zu überprüfen, ob die CPU > 70%

  • Stresstest verifizieren: Führen Sie ihn ausps aux | grep yes, um zu überprüfen, ob Ladeprozesse ausgeführt werden

  • Verlängerte Wartezeit: Manchmal dauert es bis zu 7-8 Minuten, bis der erste Alarm ausgelöst wird

Testvalidierung

Ihr AWS DevOp Agententest ist erfolgreich, wenn:

Technische Validierung

  • Genauigkeit der Untersuchung: Die Ergebnisse des EC2-Tests sollten korrekt darauf hinweisen, dass der Alarm aufgrund der CPU-Last ausgelöst wurde. Das Ergebnis des Lambda-Tests sollte darauf hinweisen, dass es sich um einen vorsätzlichen Ausfall handelte.

  • Genauigkeit der Zeitleiste: Die Reihenfolge der angezeigten Ereignisse ist korrekt

  • Qualität der Empfehlungen: Es werden umsetzbare Vorschläge gemacht