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.
(Optional) Testen Sie Application Signals mit einer Beispiel-App
Um CloudWatch Application Signals in einer Beispiel-App auszuprobieren, bevor Sie Ihre eigenen Anwendungen damit instrumentieren, folgen Sie den Anweisungen in diesem Abschnitt. Diese Anweisungen verwenden Skripts, um Ihnen zu helfen, einen Amazon-EKS-Cluster zu erstellen, eine Beispielanwendung zu installieren und die Beispielanwendung so zu instrumentieren, dass sie mit Application Signals funktioniert.
Bei der Beispielanwendung handelt es sich um eine Spring „Pet Clinic“ -Anwendung, die aus vier Microservices besteht. Diese Services werden auf Amazon EKS auf Amazon ausgeführt EC2 und nutzen Application Signals-Aktivierungsskripten, um den Cluster mit dem Java-, Python- oder .NET-Agent für automatische Instrumentierung zu aktivieren.
Voraussetzungen
Derzeit überwacht Application Signals nur Java-, Python- oder .NET-Anwendungen.
Sie müssen das auf der Instanz AWS CLI installiert haben. Wir empfehlen AWS CLI Version 2, aber Version 1 sollte auch funktionieren. Weitere Informationen zur Installation von finden Sie unter Installieren oder Aktualisieren der neuesten Version von AWS CLI. AWS CLI
Die Skripts in diesem Abschnitt sind für die Ausführung in Linux- und macOS-Umgebungen vorgesehen. Für Windows-Instances empfehlen wir, dass Sie eine AWS Cloud9 Umgebung verwenden, um diese Skripts auszuführen. Weitere Informationen zu AWS Cloud9 finden Sie unter Was ist AWS Cloud9? .
Installieren Sie eine unterstützte Version von
kubectl
. Sie müssen einekubectl
-Version verwenden, die maximal um eine Nebenversion von der Steuerebene Ihres Amazon-EKS-Clusters abweicht. Einkubectl
-Client der Version 1.26 funktioniert beispielsweise mit den Kubernetes-Cluster-Versionen 1.25, 1.26 und 1.27. Wenn Sie bereits über einen Amazon EKS-Cluster verfügen, müssen Sie möglicherweise AWS Anmeldeinformationen für konfigurierenkubectl
. Weitere Informationen finden Sie unter Erstellen oder Aktualisieren einerkubeconfig
-Datei für einen Amazon-EKS-Cluster.Installieren
eksctl
.eksctl
verwendet das, AWS CLI um mit dem zu interagieren AWS, was bedeutet, dass es dieselben AWS Anmeldeinformationen verwendet wie der AWS CLI. Weitere Informationen finden Sie unter Installieren oder Aktualisieren voneksctl
.Installieren Sie
jq
.jq
ist erforderlich, um die Aktivierungsskripts für Application Signals auszuführen. Weitere Informationen finden Sie unter jq herunterladen.
Schritt 1: Die Skripte herunterladen
Um die Skripts für die Einrichtung von CloudWatch Application Signals mit einer Beispiel-App herunterzuladen, können Sie die komprimierte GitHub Projektdatei auf ein lokales Laufwerk herunterladen und dekomprimieren, oder Sie können das GitHub Projekt klonen.
Wenn Sie das Projekt klonen möchten, öffnen Sie ein Terminalfenster und geben Sie den folgenden Git-Befehl in ein bestimmtes Arbeitsverzeichnis ein.
git clone https://github.com/aws-observability/application-signals-demo.git
Schritt 2: Die Beispielanwendung entwickeln und bereitstellen
Folgen Sie diesen Anweisungen
Schritt 3: Application Signals und die Beispielanwendung bereitstellen und aktivieren
Vergewissern Sie sich, dass Sie die unter (Optional) Testen Sie Application Signals mit einer Beispiel-App aufgeführten Anforderungen erfüllt haben, bevor Sie die folgenden Schritte ausführen.
So können Sie Application Signals und die Beispielanwendung bereitstellen und aktivieren
Geben Sie den folgenden Befehl ein.
new-cluster-name
Ersetzen Sie es durch den Namen, den Sie für den neuen Cluster verwenden möchten.region-name
Ersetzen Sie durch den Namen der AWS Region, z.us-west-1
B.Dieser Befehl richtet die Beispiel-App ein, die in einem neuen Amazon-EKS-Cluster mit Application Signals aktiviert ausgeführt wird.
# this script sets up a new cluster, enables Application Signals, and deploys the # sample application cd application-signals-demo/scripts/eks/appsignals/one-step && ./setup.sh
new-cluster-name
region-name
Die Ausführung des Einrichtungs-Skripts dauert etwa 30 Minuten und macht Folgendes:
Erstellt einen neuen Amazon-EKS-Cluster in der angegebenen Region.
Erstellt die erforderlichen IAM-Berechtigungen für Application Signals (
arn:aws:iam::aws:policy/AWSXrayWriteOnlyAccess
undarn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
).Aktiviert Application Signals, indem der CloudWatch Agent installiert und die Beispielanwendung automatisch für CloudWatch Metriken und Röntgen-Traces instrumentiert wird.
Stellt die PetClinic Spring-Beispielanwendung im selben Amazon EKS-Cluster bereit.
Erzeugt fünf CloudWatch Synthetics-Kanarienvögel mit dem Namen
pc-add-vist
,,pc-create-owners
,pc-visit-pet
,pc-visit-vet
.pc-clinic-traffic
Diese Canarys werden mit einer Frequenz von einer Minute ausgeführt, um synthetischen Datenverkehr für die Beispielanwendung zu generieren und zu demonstrieren, wie Synthetics-Canarys in Application Signals erscheinen.Erstellt vier Service Level Objectives (SLOs) für die PetClinic Anwendung mit den folgenden Namen:
Verfügbarkeit für die Suche nach einem Eigentümer
Latenz bei der Suche nach einem Eigentümer
Verfügbarkeit für die Registrierung eines Besitzers
Latenz bei der Registrierung eines Besitzers
Erstellt die erforderliche IAM-Rolle mit einer benutzerdefinierten Vertrauensrichtlinie, die Application Signals die folgenden Berechtigungen gewährt:
cloudwatch:PutMetricData
cloudwatch:GetMetricData
xray:GetServiceGraph
logs:StartQuery
logs:GetQueryResults
-
(Optional) Wenn Sie den Quellcode für die PetClinic Beispielanwendung überprüfen möchten, finden Sie sie im Stammordner.
- application-signals-demo - spring-petclinic-admin-server - spring-petclinic-api-gateway - spring-petclinic-config-server - spring-petclinic-customers-service - spring-petclinic-discovery-server - spring-petclinic-vets-service - spring-petclinic-visits-service
Um die bereitgestellte PetClinic Beispielanwendung anzuzeigen, führen Sie den folgenden Befehl aus, um die URL zu finden:
kubectl get ingress
Schritt 4: Die Beispielanwendung überwachen
Nachdem Sie die Schritte im vorherigen Abschnitt ausgeführt haben, um den Amazon-EKS-Cluster zu erstellen und die Beispielanwendung bereitzustellen, können Sie Application Signals verwenden, um die Anwendung zu überwachen.
Anmerkung
Damit die Application-Signals-Konsole Daten aufnehmen kann, muss ein Teil des Datenverkehrs die Beispielanwendung erreichen. Im Rahmen der vorherigen Schritte wurden CloudWatch Synthetics Canaries erstellt, die Traffic zur Beispielanwendung generieren.
Überwachen des Service-Zustands
Nach der Aktivierung erkennt CloudWatch Application Signals automatisch eine Liste von Diensten und füllt sie aus, ohne dass eine zusätzliche Einrichtung erforderlich ist.
So zeigen Sie die Liste der erkannten Services an und überwachen deren Zustand
Öffnen Sie die CloudWatch Konsole unter. https://console.aws.amazon.com/cloudwatch/
Wählen Sie im Navigationsbereich Application Signals, Services.
Um einen Service, seine Vorgänge und seine Abhängigkeiten anzuzeigen, wählen Sie den Namen eines der Services in der Liste aus.
Diese einheitliche, anwendungsorientierte Ansicht bietet einen vollständigen Überblick darüber, wie Benutzer mit Ihrem Service interagieren. Dies kann Ihnen helfen, Probleme zu beheben, wenn Leistungsanomalien auftreten. Vollständige Informationen zur Services-Ansicht finden Sie unter Den Betriebsstatus Ihrer Anwendungen mit Application Signals überwachen.
Wählen Sie die Registerkarte Service-Vorgänge, um die Standard-Anwendungsmetriken für die Vorgänge dieses Services anzuzeigen. Bei den Vorgängen handelt es sich beispielsweise um die API-Vorgänge, die der Service aufruft.
Um dann die Diagramme für einen einzelnen Vorgang dieses Services anzuzeigen, wählen Sie den Namen des Vorgangs aus.
Wählen Sie die Registerkarte Abhängigkeiten, um die Abhängigkeiten Ihrer Anwendung sowie die kritischen Anwendungsmetriken für jede Abhängigkeit anzuzeigen. Zu den Abhängigkeiten gehören AWS Dienste und Dienste von Drittanbietern, die Ihre Anwendung aufruft.
Um korrelierte Traces auf der Seite mit den Service-Details anzuzeigen, wählen Sie einen Datenpunkt in einem der drei Diagramme über der Tabelle aus. Dadurch wird ein neuer Bereich mit gefilterten Traces aus dem Zeitraum gefüllt. Diese Traces werden auf der Grundlage des ausgewählten Diagramms sortiert und gefiltert. Wenn Sie beispielsweise das Latenzdiagramm ausgewählt haben, werden die Traces nach der Antwortzeit des Services sortiert.
Wählen Sie im Navigationsbereich der CloudWatch Konsole SLOs. Sie sehen SLOs , dass das Skript für die Beispielanwendung erstellt hat. Weitere Informationen zu finden SLOs Sie unterServicelevel-Ziele (SLOs).
(Optional) Schritt 5: Bereinigen
Wenn Sie mit dem Testen von Application Signals fertig sind, können Sie ein von Amazon bereitgestelltes Skript verwenden, um die in Ihrem Konto für die Beispielanwendung erstellten Artefakte zu bereinigen und zu löschen. Geben Sie den folgenden Befehl ein, um die Bereinigung durchzuführen. new-cluster-name
Ersetzen Sie durch den Namen des Clusters, den Sie für die Beispiel-App erstellt haben, und ersetzen Sie region
-name durch den Namen der AWS Region, z. B. us-west-1
cd application-signals-demo/scripts/eks/appsignals/one-step && ./cleanup.sh new-cluster-name region-name