Automatisches Erstellen von Tag-basierten CloudWatch Amazon-Dashboards - AWS Prescriptive Guidance

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.

Automatisches Erstellen von Tag-basierten CloudWatch Amazon-Dashboards

Erstellt von Janak Vadaria (AWS), () und Vinodkumar RAJNEESH TYAGI AWS Mandalapu () AWS

Code-Repository: Goldensignals

Umgebung: Produktion

Technologien: Management und Unternehmensführung

AWSDienstleistungen: AWSCDK; Amazon CloudWatch AWS CodeBuild; AWS CodePipeline

Übersicht

Das manuelle Erstellen verschiedener CloudWatch Amazon-Dashboards kann zeitaufwändig sein, insbesondere wenn Sie mehrere Ressourcen erstellen und aktualisieren müssen, um Ihre Umgebung automatisch zu skalieren. Eine Lösung, die Ihre CloudWatch Dashboards automatisch erstellt und aktualisiert, kann Ihnen Zeit sparen. Dieses Muster hilft Ihnen bei der Implementierung einer vollautomatischen AWS Cloud Development Kit (AWS CDK) Pipeline, die CloudWatch Dashboards für Ihre AWS Ressourcen auf der Grundlage von Tag-Änderungsereignissen erstellt und aktualisiert, um Golden Signals-Metriken anzuzeigen.

Im Bereich Site Reliability Engineering (SRE) bezieht sich Golden Signals auf einen umfassenden Satz von Kennzahlen, die einen umfassenden Überblick über einen Service aus Nutzer- oder Verbrauchersicht bieten. Diese Metriken bestehen aus Latenz, Traffic, Fehlern und Sättigung. Weitere Informationen finden Sie unter Was ist Site Reliability Engineering (SRE)? auf der AWS Website.

Die durch dieses Muster bereitgestellte Lösung ist ereignisgesteuert. Nach der Bereitstellung überwacht es kontinuierlich die Tag-Änderungsereignisse und aktualisiert die CloudWatch Dashboards und Alarme automatisch.

Voraussetzungen und Einschränkungen

Voraussetzungen

Einschränkungen

Diese Lösung erstellt derzeit automatisierte Dashboards nur für die folgenden AWS Dienste:

Architektur

Zieltechnologie-Stack

Zielarchitektur

Zielarchitektur für die Erstellung von Tag-basierten Dashboards CloudWatch
  1. Ein AWS Tag-Änderungsereignis für die konfigurierten Anwendungs-Tags oder Codeänderungen initiiert eine Pipeline AWS CodePipeline zur Erstellung und Bereitstellung aktualisierter Dashboards. CloudWatch

  2. AWS CodeBuild führt ein Python-Skript aus, um die Ressourcen zu finden, für die Tags konfiguriert sind, und speichert die Ressource IDs in einer lokalen Datei in einer CodeBuild Umgebung.

  3. CodeBuild führt cdk synth aus, um AWS CloudFormation Vorlagen zu generieren, die CloudWatch Dashboards und Alarme bereitstellen.

  4. CodePipeline stellt die AWS CloudFormation Vorlagen in der angegebenen Region bereit. AWS-Konto

  5. Wenn der AWS CloudFormation Stack erfolgreich bereitgestellt wurde, können Sie sich die CloudWatch Dashboards und Alarme ansehen.

Automatisierung und Skalierung

Diese Lösung wurde mithilfe von automatisiert AWS CDK. Sie finden den Code im CloudWatch Repository GitHub Golden Signals Dashboards auf Amazon. Für zusätzliche Skalierung und zur Erstellung benutzerdefinierter Dashboards können Sie mehrere Tag-Schlüssel und -Werte konfigurieren.

Tools

Amazon-Dienste

  • Amazon EventBridge ist ein serverloser Event-Bus-Service, der Ihnen hilft, Ihre Anwendungen mit Echtzeitdaten aus einer Vielzahl von Quellen zu verbinden, darunter AWS Lambda Funktionen, HTTP Aufruf-Endpunkte, die API Ziele verwenden, oder Event-Busse in anderen. AWS-Konten

  • AWS CodePipelinehilft Ihnen dabei, die verschiedenen Phasen einer Softwareversion schnell zu modellieren und zu konfigurieren und die Schritte zu automatisieren, die für die kontinuierliche Veröffentlichung von Softwareänderungen erforderlich sind.

  • AWS CodeBuildist ein vollständig verwalteter Build-Service, der Ihnen hilft, Quellcode zu kompilieren, Komponententests durchzuführen und Artefakte zu erstellen, die sofort einsatzbereit sind.

  • AWS Command Line Interface (AWS CLI) ist ein Open-Source-Tool, mit dem Sie mithilfe von Befehlen in Ihrer Befehlszeilen-Shell mit AWS Diensten interagieren können.

  • AWS Identity and Access Management (IAM) hilft Ihnen dabei, den Zugriff auf Ihre AWS Ressourcen sicher zu verwalten, indem kontrolliert wird, wer authentifiziert und autorisiert ist, diese zu verwenden.

  • Amazon Simple Storage Service (Amazon S3) ist ein cloudbasierter Objektspeicherservice, der Sie beim Speichern, Schützen und Abrufen beliebiger Datenmengen unterstützt.

Bewährte Methoden

Als bewährte Sicherheitsmethode können Sie Verschlüsselung und Authentifizierung für die Quell-Repositorys verwenden, die eine Verbindung zu Ihren Pipelines herstellen. Weitere bewährte Methoden finden Sie in der Dokumentation unter CodePipeline Bewährte Methoden und Anwendungsfälle. CodePipeline

Epen

AufgabeBeschreibungErforderliche Fähigkeiten

Konfigurieren und implementieren Sie die Beispielanwendung.

  1. Klonen Sie das GitHub Beispielcode-Repository mit dem folgenden Befehl:

    git clone https://github.com/aws-samples/golden-signals-dashboards-sample-app
  2. Navigieren Sie zum geklonten Repository auf Ihrem Computer und öffnen Sie die src/project-settings.ts Datei mit einem Editor Ihrer Wahl.

  3. Ändern Sie den projectSettings konstanten Wert entsprechend Ihren AWS Ressourcen-Tags und Anwendungszuordnungen.

  4. Legen Sie die AWS_ACCOUNT GS_DASHBOARD_INSTANCE UmgebungsvariablenAWS_REGION, und fest:

    • Stellen AWS_ACCOUNT Sie die Konto-ID Ihres AWS Kontos ein.

    • Wählen AWS_REGION Sie die Region aus, in der Sie die Beispielanwendung bereitstellen möchten.

    • Stellen Sie GS_DASHBOARD_INSTANCE dev dies test je nach Entwicklungsumgebung aufprod, oder ein. (Wir empfehlen test das in diesem Muster beschriebene Testverfahren.)

  5. Richten Sie das AWS CLI mit Ihren AWS Anmeldeinformationen ein. Weitere Informationen finden Sie in der AWS CLI Dokumentation unter Einrichten und Anzeigen von Konfigurationseinstellungen mithilfe von Befehlen.

  6. Führen Sie den folgenden Befehl aus, um die Golden Signals Dashboard-Beispielanwendung bereitzustellen:

    sh deploy.sh
AWS DevOps

Automatisches Erstellen von Dashboards und Alarmen.

Nachdem Sie die Beispielanwendung bereitgestellt haben, können Sie alle Ressourcen, die diese Lösung unterstützt, mit den erwarteten Tag-Werten erstellen. Dadurch werden automatisch die angegebenen Dashboards und Alarme erstellt.

Um diese Lösung zu testen, erstellen Sie eine AWS Lambda Funktion:

  1. Melden Sie sich in dem AWS Management Console Bereich an, in AWS-Region dem Sie die Beispielanwendung bereitgestellt haben.

  2. Öffnen Sie die Lambda-Konsole unter https://console.aws.amazon.com/lambda/.

  3. Wählen Sie Funktion erstellen und geben Sie dann einen Funktionsnamen ein.

  4. Wählen Sie im Bereich Erweiterte Einstellungen die Option Tags aktivieren und dann Neues Tag hinzufügen aus. Geben Sie den folgenden Schlüssel und Wert ein:

    • Schlüssel: AutoDashboard

    • Wert: True

  5. Wählen Sie Funktion erstellen aus.

    Die Lambda-Funktion startet sofort eine Code-Pipeline, die die Dashboards und Alarme für diese bestimmte Lambda-Funktion automatisch erstellt.

  6. Um die automatisierten Dashboards und Alarme anzuzeigen, öffnen Sie die Konsole unter. CloudWatch https://console.aws.amazon.com/cloudwatch/ Sie können die benutzerdefinierten Dashboards und Alarme für die Funktion anzeigen, die Sie in der projectSettings Konstante angegeben haben (standardmäßig APP1-lambda).

  7. Wählen Sie das Dashboard für die Lambda-Funktion aus, um zusätzliche automatisierte Dashboards anzuzeigen, die im Rahmen dieser Lösung erstellt wurden.

  8. Wiederholen Sie diese Schritte für andere Dienste wie AmazonRDS, Amazon und DynamoDB SNS AWS Auto Scaling, um die zugehörigen Dashboards zu generieren. Ein Beispiel für Amazon RDS finden Sie im Abschnitt Zusätzliche Informationen.

AWS DevOps
AufgabeBeschreibungErforderliche Fähigkeiten

Entferne das golden-signals-dashboard Konstrukt.

  1. Um alle von der Beispielanwendung erstellten AWS CloudFormation Stacks zu entfernen, müssen Sie die GS_DASHBOARD_INSTANCE Umgebungsvariablen AWS_ACCOUNTAWS_REGION, und neu konfigurieren. Für den destroy.sh Befehl sind diese Konfigurationen erforderlich.

    • AWS_ACCOUNTist die Konto-ID Ihres AWS Kontos.

    • AWS_REGIONist die Region, in der Sie Ihre Beispielanwendung bereitgestellt haben.

    • GS_DASHBOARD_INSTANCEbasiertdev,test, oderprod, auf Ihren vorherigen Einstellungen.

  2. AWS CLI Mit Ihren AWS Anmeldeinformationen einrichten.

  3. Führen Sie den folgenden Befehl aus, um die Beispielanwendung und alle zugehörigen AWS CloudFormation Stacks zu entfernen:

    sh destroy.sh
AWS DevOps

Fehlerbehebung

ProblemLösung

Der Python-Befehl wurde nicht gefunden (bezieht findresources.sh sich auf Zeile 8).

Überprüfen Sie die Version Ihrer Python-Installation. Wenn Sie Python Version 3 installiert haben, python ersetzen python3 Sie es durch Zeile 8 der resources.sh Datei und führen Sie den sh deploy.sh Befehl erneut aus, um die Lösung bereitzustellen.

Zugehörige Ressourcen

Zusätzliche Informationen

Die folgende Abbildung zeigt ein Beispiel-Dashboard für AmazonRDS, das im Rahmen dieser Lösung erstellt wurde.

Beispiel-Dashboard für Amazon RDS