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 EC2 ausgeführt und nutzen Application-Signals-Aktivierungsskripte, um den Cluster mit dem Java-, Python- oder .NET-Agenten für automatische Instrumentierung zu aktivieren.
Voraussetzungen
Application Signals überwacht nur Java-, Python- oder .NET-Anwendungen.
Die AWS CLI muss auf der Instance installiert sein. Wir empfehlen AWS CLI Version 2, aber Version 1 sollte auch funktionieren. Informationen zur Installation der AWS CLI finden Sie unter Die neueste Version der AWS CLI installieren oder aktualisieren.
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ürkubectlkonfigurieren. Weitere Informationen finden Sie unter Erstellen oder Aktualisieren einerkubeconfig-Datei für einen Amazon-EKS-Cluster.Installieren Sie
eksctl.eksctlverwendet die AWS CLI, um mit AWS zu interagieren, was bedeutet, dass es dieselben AWS-Anmeldeinformationen verwendet wie die AWS CLI. Weitere Informationen finden Sie unter Installieren oder Aktualisieren voneksctl.Installieren Sie
jq.jqist erforderlich, um die Aktivierungsskripts für Application Signals auszuführen. Weitere Informationen finden Sie unter jq herunterladen.
Schritt 1: Die Skripte herunterladen
Um die Skripte für die Einrichtung von CloudWatch Application Signals mit einer Beispiel-App herunterzuladen, können Sie die GitHub-ZIP-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. Ersetzen Sie
new-cluster-namemit dem gewünschten Namen für den neuen Cluster. Ersetzen Sieregion-namedurch den Namen der AWS-Region, z. B.us-west-1.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.shnew-cluster-nameregion-nameDie 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/AWSXrayWriteOnlyAccessundarn:aws:iam::aws:policy/CloudWatchAgentServerPolicy).Aktiviert Application Signals durch Installation des CloudWatch-Agenten und automatische Instrumentierung der Beispielanwendung für CloudWatch-Metriken und X-Ray-Traces.
Stellt die Tierklinik-Spring-Beispielanwendung im selben Amazon-EKS-Cluster bereit.
Erstellt fünf CloudWatch-Synthetics-Canarys mit den Namen
pc-add-vist,pc-create-owners,pc-visit-pet,pc-visit-vetundpc-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 Servicelevel-Ziele (SLOs) für die Tierklinik-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:PutMetricDatacloudwatch:GetMetricDataxray:GetServiceGraphlogs:StartQuerylogs:GetQueryResults
-
(Optional) Wenn Sie den Quellcode der PetClinic-Beispielanwendung überprüfen möchten, finden Sie ihn 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-Canarys erstellt, die Datenverkehr zur Beispielanwendung generieren.
Überwachen des Service-Zustands
Nach der Aktivierung erkennt CloudWatch Application Signals automatisch eine Liste von Services und füllt sie auf, 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-Services und Services 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 aus. Sie sehen die SLOs, die das Skript für die Beispielanwendung erstellt hat. Weitere Informationen zu SLOs finden Sie unter Servicelevel-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. Ersetzen Sie new-cluster-name 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