

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.

# CloudWatch Lösung: Tomcat-Workload auf Amazon EC2
<a name="Solution-Tomcat-On-EC2"></a>

Diese Lösung hilft Ihnen bei der Konfiguration der out-of-the-box Metrikerfassung mithilfe von CloudWatch Agenten für Tomcat-Server, die auf EC2-Instances ausgeführt werden. Darüber hinaus hilft sie Ihnen bei der Einrichtung eines vorkonfigurierten CloudWatch Dashboards. Allgemeine Informationen zu allen CloudWatch Observability-Lösungen finden Sie unter. [CloudWatch Observability-Lösungen](Monitoring-Solutions.md)

**Topics**
+ [Voraussetzungen](#Solution-Tomcat-On-EC2-Requirements)
+ [Vorteile](#Solution-Tomcat-On-EC2-Benefits)
+ [Kosten](#Solution-Tomcat-On-EC2-Costs)
+ [CloudWatch Agentenkonfiguration für diese Lösung](#Solution-Tomcat-CloudWatch-Agent)
+ [Bereitstellung des Agenten für Ihre Lösung](#Solution-Tomcat-Agent-Deploy)
+ [Erstellen des Tomcat-Lösungs-Dashboards](#Solution-Tomcat-Dashboard)

## Voraussetzungen
<a name="Solution-Tomcat-On-EC2-Requirements"></a>

Diese Lösung ist für folgende Bedingungen relevant:
+ Unterstützte Versionen: Tomcat-Versionen 9, 10.1 und 11 (Beta)
+ Computing: Amazon EC2
+ Unterstützt bis zu 500 EC2-Instances für alle Tomcat-Workloads in einem bestimmten Zeitraum AWS-Region
+ Aktuelle Version des Agenten CloudWatch 
+ Der SSM-Agent ist auf der EC2-Instance installiert
**Anmerkung**  
AWS Systems Manager (SSM-Agent) ist auf einigen [Amazon Machine Images (AMIs)](https://docs.aws.amazon.com/systems-manager/latest/userguide/ami-preinstalled-agent.html) vorinstalliert, die von vertrauenswürdigen Drittanbietern AWS bereitgestellt werden. Wenn der Agent nicht installiert ist, können Sie ihn manuell installieren, indem Sie das Verfahren für Ihren Betriebssystemtyp verwenden.  
[Manuelle Installation und Deinstallation des SSM-Agenten auf EC2-Instances für Linux](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-linux.html)
[Manuelle Installation und Deinstallation des SSM-Agenten auf EC2-Instances für macOS](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-macos.html)
[Manuelle Installation und Deinstallation des SSM-Agenten auf EC2-Instances für Windows Server](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-windows.html)

## Vorteile
<a name="Solution-Tomcat-On-EC2-Benefits"></a>

Die Lösung bietet Tomcat-Server-Überwachung und wertvolle Erkenntnisse für die folgenden Anwendungsfälle:
+ Erkennen von Tomcat-Serverfehlern und Leistungsproblemen.
+ Überwachen des Netzwerkverkehrs auf Datenübertragungsprobleme.
+ Nachverfolgen von Threadnutzung und aktiven Benutzersitzungen
+ Analysieren der zugrunde liegende JVM-Leistung für den Tomcat-Server.

Im Folgenden sind die Hauptvorteile der Lösung aufgeführt:
+ Automatisiert die Erfassung von Metriken für Apache Tomcat und die zugrunde liegende JVM mithilfe der CloudWatch Agentenkonfiguration, wodurch eine manuelle Instrumentierung entfällt.
+ Bietet ein vorkonfiguriertes, konsolidiertes CloudWatch Dashboard für Apache Tomcat- und JVM-Metriken. Das Dashboard verarbeitet automatisch Metriken von neuen Tomcat-EC2-Instances, die mit der Lösung konfiguriert wurden, auch wenn diese Metriken bei der ersten Erstellung des Dashboards noch nicht vorhanden waren. Außerdem können Sie die Metriken zum einfacheren Fokussieren und Verwalten in logische Anwendungen gruppieren.

Die nachfolgende Abbildung ist ein Beispiel eines Dashboards dieser Lösung.

![Beispiel-Dashboard für die Apache-Tomcat-Lösung.](http://docs.aws.amazon.com/de_de/AmazonCloudWatch/latest/monitoring/images/TomcatDashboard.png)


## Kosten
<a name="Solution-Tomcat-On-EC2-Costs"></a>

Diese Lösung erstellt und nutzt Ressourcen in Ihrem Konto. Ihnen wird die Standardnutzung berechnet, einschließlich der folgenden Kosten:
+ Alle vom CloudWatch Agenten gesammelten Metriken werden als benutzerdefinierte Metriken berechnet. Die Zahl der von dieser Lösung zu erfassenden Metriken hängt von der Anzahl der EC2-Hosts ab.
  + Jeder für die Lösung konfigurierte Tomcat-Host veröffentlicht insgesamt 27 Metriken plus eine Metrik (`disk_used_percent`), wobei die Anzahl der Metriken von der Anzahl der Datenträgerpfade für den Host abhängt.
+ Ein benutzerdefiniertes Dashboard.
+ API-Operationen, die vom CloudWatch Agenten zur Veröffentlichung der Metriken angefordert wurden. Bei der Standardkonfiguration für diese Lösung ruft der CloudWatch Agent die **PutMetricData**einmal pro Minute auf. Das bedeutet, dass die **PutMetricData**API innerhalb eines 30-Tage-Monats für jeden EC2-Host aufgerufen `30*24*60=43,200` wird.

Weitere Informationen zur CloudWatch Preisgestaltung finden Sie unter [ CloudWatch Amazon-Preise](https://aws.amazon.com/cloudwatch/pricing/).

Mithilfe des Preisrechners können Sie die ungefähren monatlichen Kosten für die Nutzung dieser Lösung abschätzen. 

**Um den Preisrechner zur Schätzung Ihrer monatlichen Kosten für die Lösung zu verwenden**

1. Öffnen Sie den [ CloudWatch Amazon-Preisrechner](https://calculator.aws/#/createCalculator/CloudWatch).

1. Geben Sie im Abschnitt **Metriken** für die **Anzahl der Metriken** den Wert **(27 \+ average number of disk paths per EC2 host) \* number of EC2 instances configured for this solution** ein.

1. Geben Sie im **APIs**Abschnitt **Anzahl der API-Anfragen** den Wert ein**43200 \* number of EC2 instances configured for this solution**.

   Standardmäßig führt die Lösung für jeden EC2-Host einen **PutMetricData**Vorgang pro Minute durch.

1. Geben Sie im Abschnitt **Dashboards und Alarme** für **Anzahl der Dashboards** **1** ein.

1. Sie finden Ihre geschätzten monatlichen Kosten unten im Preisrechner.

## CloudWatch Agentenkonfiguration für diese Lösung
<a name="Solution-Tomcat-CloudWatch-Agent"></a>

Der CloudWatch Agent ist eine Software, die kontinuierlich und autonom auf Ihren Servern und in containerisierten Umgebungen ausgeführt wird. Es sammelt Metriken, Logs und Traces aus Ihrer Infrastruktur und Ihren Anwendungen und sendet sie an CloudWatch X-Ray.

Weitere Informationen über den CloudWatch Agenten finden Sie unter[Erfassen Sie Metriken, Logs und Traces mithilfe des CloudWatch Agenten](Install-CloudWatch-Agent.md).

Die Agentenkonfiguration in dieser Lösung erfasst die grundlegenden Metriken für Tomcat, JVM und EC2. Der CloudWatch Agent kann so konfiguriert werden, dass er standardmäßig mehr JVM-Metriken sammelt, als das Dashboard anzeigt. Eine Liste aller Tomcat-Metriken, die Sie erfassen können, finden Sie unter [Erfassen von Tomcat-Metriken](CloudWatch-Agent-JMX-metrics.md#CloudWatch-Agent-Tomcat-metrics). Eine Liste aller JVM-Metriken, die Sie erfassen können, finden Sie unter [Erfassen von JVM-Metriken](CloudWatch-Agent-JMX-metrics.md#CloudWatch-Agent-JVM-metrics). Die Liste der Amazon-EC2-Metriken finden Sie unter [Vom CloudWatch Agenten auf Linux- und macOS-Instances gesammelte Metriken](metrics-collected-by-CloudWatch-agent.md#linux-metrics-enabled-by-CloudWatch-agent).

**Offenlegen von JMX-Ports für den Tomcat-Server**

Der CloudWatch Agent verwendet JMX, um die Metriken zu sammeln, die sich auf den Tomcat-Server und den JVM-Prozess beziehen. Um das zu ermöglichen, müssen Sie den JMX-Port von Ihren Servern aus verfügbar machen. Um einen JMX-Port für die Überwachung und Verwaltung zu aktivieren, würden Sie die Systemeigenschaften für Ihre Tomcat-Server definieren. Sie können die Umgebungsvariable `CATALINA_OPTS ` verwenden, um die erforderlichen Systemeigenschaften für Tomcat festzulegen. Sehen Sie sich in den Startup-Skripts und Konfigurationsdateien Ihres Tomcat-Servers an, wo Sie die Umgebungsvariable am besten festlegen können. Achten Sie darauf, eine ungenutzte Portnummer anzugeben. Nach dem Ändern müssen Sie den Server neu starten. 

```
export CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=<<port-number>> -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
```

In diesem Beispiel wird für nicht authentifiziertes JMX konfiguriert. Wenn Sie aus Sicherheitsgründen JMX mit Kennwortauthentifizierung oder SSL für den Fernzugriff aktivieren policies/requirements müssen, finden Sie in der [JMX-Dokumentation](https://docs.oracle.com/en/java/javase/17/management/monitoring-and-management-using-jmx-technology.html) nach, um die erforderliche Eigenschaft festzulegen.

Führen Sie `ps aux | grep jmxremote.port` aus, um den JMX-Port zu überprüfen. Die Ergebnisse sollten zeigen, dass der JMX-Port für JVM-Prozesse festgelegt wurde.

### Agentenkonfiguration für Tomcat-Lösung
<a name="Solution-Agent-Configuration-Tomcat-Solution"></a>

Die vom Agenten zu erfassenden Metriken werden in der Agentenkonfiguration definiert. Die Lösung bietet Agenten-Konfigurationen zum Erfassen der empfohlenen Metriken mit geeigneten Dimensionen für das Dashboard der Lösung.

Die Schritte zur Bereitstellung der Lösung werden weiter unten in [Bereitstellung des Agenten für Ihre Lösung](#Solution-Tomcat-Agent-Deploy) beschrieben. Die folgenden Informationen beschreiben, wie Sie die Agentenkonfiguration für Ihre Umgebung anpassen können.

Sie müssen einige Teile der folgenden Agentenkonfiguration für Ihre Umgebung anpassen:
+ Die JMX-Portnummer ist die Portnummer, die Sie im vorherigen Abschnitt dieser Dokumentation konfiguriert haben. Die Portnummer steht in der Zeile `endpoint` in der Konfiguration.
+ `AppName` – Das wird als Dimension für die erfassten Tomcat-Anwendungsmetriken verwendet. Geben Sie einen aussagekräftigen Namen ein, der die Gruppierung für die Instances darstellt, auf denen die Tomcat-Anwendung ausgeführt wird.
+ `ProcessGroupName` – Dies wird als Dimension für die für Tomcat-Hosts erfassten JVM-Metriken verwendet. Geben Sie den Wert an, der mit `AppName` oben identisch ist. Das ermöglicht die Anzeige der JVM-Metriken derselben Tomcat-App-Gruppe als Server-Metriken im Lösungs-Dashboard.

Wenn beispielsweise zwei Tomcat-Apps in derselben Anwendung ausgeführt werden AWS-Konto, eine für die `billing-system` Anwendung und eine für die `order-system` Anwendung, können Sie die `ProcessGroupName` Dimensionen `AppName` und in der Agentenkonfiguration jeder Instanz entsprechend festlegen.
+ Legen Sie für die `billing-system`-Anwendungs-Instances `AppName=billing-system` und `ProcessGroupName=billing-system` fest.
+ Legen Sie für die `order-system`-Anwendungs-Instances `AppName=order-system` und `ProcessGroupName=order-system` fest.

Wenn Sie diese Richtlinien befolgen, gruppiert die Lösung die Metriken automatisch auf der Grundlage der Dimensionen `AppName` und `ProcessGroupName`. Das Dashboard umfasst Drop-down-Optionen, mit denen Sie Metriken für eine bestimmte Tomcat-Anwendung auswählen und aufrufen können, sodass sich die Leistung einzelner Anwendungen separat überwachen lässt.

### Agentenkonfiguration für Tomcat-Hosts
<a name="Solution-Agent-Configuration-Tomcat-Host"></a>

Verwenden Sie die folgende CloudWatch Agentenkonfiguration auf EC2-Instances, auf denen Ihre Tomcat-Anwendungen bereitgestellt werden. Die Konfiguration wird als Parameter im Parameterspeicher von SSM gespeichert, wie weiter unten in beschrieben [Schritt 2: Speichern Sie die empfohlene CloudWatch Agentenkonfigurationsdatei im Systems Manager Parameter Store](#Solution-Tomcat-Agent-Step2).

{{AppName}}Ersetzen Sie es durch einen aussagekräftigen Namen, der für die Tomcat-Anwendung steht, zu der die Instanzen gehören. {{port-number}}Ersetzen Sie durch den JMX-Port Ihres Tomcat-Servers. Wenn JMX mit Kennwortauthentifizierung oder SSL für den Remotezugriff aktiviert wurde, finden Sie je nach Bedarf unter [Erfassung von Java Management Extensions (JMX)-Metriken](CloudWatch-Agent-JMX-metrics.md) weitere Informationen zur Einrichtung von TLS oder zur Autorisierung in der Agentenkonfiguration.

Die in dieser Konfiguration gezeigten EC2-Metriken (Konfiguration, die außerhalb des JMX-Blocks angezeigt wird) funktionieren nur für Linux- und macOS-Instances. Wenn Sie Windows-Instances nutzen, können Sie diese Metriken in der Konfiguration weglassen. Informationen zu Metriken, die auf Windows-Instances erfasst wurden, finden Sie unter [Vom CloudWatch Agenten auf Windows Server-Instanzen gesammelte Metriken](metrics-collected-by-CloudWatch-agent.md#windows-metrics-enabled-by-CloudWatch-agent).

```
{
  "metrics": {
    "namespace": "CWAgent",
    "append_dimensions": {
      "InstanceId": "${aws:InstanceId}"
    },
    "metrics_collected": {
      "jmx": [
        {
          "endpoint": "localhost:{{port-number}}",
          "tomcat": {
            "measurement": [
              "tomcat.sessions",
              "tomcat.errors",
              "tomcat.processing_time",
              "tomcat.traffic",
              "tomcat.max_time",
              "tomcat.request_count",
              "tomcat.threads"
            ]
          },
          "append_dimensions": {
            "AppName": "{{AppName}}"
          }
        },
        {
          "endpoint": "localhost:{{port-number}}",
          "jvm": {
            "measurement": [
              "jvm.classes.loaded",
              "jvm.gc.collections.count",
              "jvm.gc.collections.elapsed",
              "jvm.memory.heap.committed",
              "jvm.memory.heap.max",
              "jvm.memory.heap.used",
              "jvm.memory.nonheap.committed",
              "jvm.memory.nonheap.max",
              "jvm.memory.nonheap.used",
              "jvm.threads.count"
            ]
          },
          "append_dimensions": {
            "ProcessGroupName": "{{AppName}}"
          }
        }
      ],
      "disk": {
        "measurement": [
          "used_percent"
        ]
      },
      "mem": {
        "measurement": [
          "used_percent"
        ]
      },
      "swap": {
        "measurement": [
          "used_percent"
        ]
      },
      "netstat": {
        "measurement": [
          "tcp_established",
          "tcp_time_wait"
        ]
      }
    }
  }
}
```

## Bereitstellung des Agenten für Ihre Lösung
<a name="Solution-Tomcat-Agent-Deploy"></a>

Je nach Anwendungsfall gibt es mehrere Ansätze für die Installation des CloudWatch Agenten. Wir empfehlen die Nutzung von Systems Manager für diese Lösung. Es bietet eine Konsolenerfahrung und erleichtert die Verwaltung einer Flotte verwalteter Server innerhalb eines einzigen AWS Kontos. Die Anweisungen in diesem Abschnitt verwenden Systems Manager und sind für den Fall vorgesehen, dass der CloudWatch Agent nicht mit vorhandenen Konfigurationen ausgeführt wird. Sie können überprüfen, ob der CloudWatch Agent ausgeführt wird, indem Sie die Schritte unter befolgen[Stellen Sie sicher, dass der CloudWatch Agent läuft](troubleshooting-CloudWatch-Agent.md#CloudWatch-Agent-troubleshooting-verify-running).

Wenn Sie den CloudWatch Agenten bereits auf den EC2-Hosts ausführen, auf denen die JVM-Anwendung bereitgestellt ist, und die Agentenkonfigurationen verwalten, können Sie die Anweisungen in diesem Abschnitt überspringen und Ihren bestehenden Bereitstellungsmechanismus verwenden, um die Konfiguration zu aktualisieren. Stellen Sie sicher, dass Sie die Agentenkonfiguration von JVM mit Ihrer vorhandenen Agentenkonfiguration zusammenführen und dann diese zusammengeführte Konfiguration bereitstellen. Wenn Sie Systems Manager verwenden, um die Konfiguration für den CloudWatch Agenten zu speichern und zu verwalten, können Sie die Konfiguration mit dem vorhandenen Parameterwert zusammenführen. Weitere Informationen finden Sie unter [ CloudWatch Agent-Konfigurationsdateien verwalten](https://docs.aws.amazon.com/prescriptive-guidance/latest/implementing-logging-monitoring-cloudwatch/create-store-cloudwatch-configurations.html).

**Anmerkung**  
Wenn Sie Systems Manager zur Bereitstellung der folgenden CloudWatch Agentenkonfigurationen verwenden, werden alle vorhandenen CloudWatch Agentenkonfigurationen auf Ihren EC2-Instances ersetzt oder überschrieben. Sie können diese Konfiguration an Ihre individuelle Umgebung oder Ihren jeweiligen Anwendungsfall anpassen. Die in dieser Lösung definierten Metriken sind die Mindestwerte, die für das empfohlene Dashboard erforderlich sind. 

Der Bereitstellungsprozess umfasst die folgenden Schritte:
+ Schritt 1: Stellen Sie sicher, dass die EC2-Ziel-Instances über die erforderlichen IAM-Berechtigungen verfügen.
+ Schritt 2: Speichern Sie die empfohlene Agentenkonfigurationsdatei in Systems Manager Parameter Store.
+ Schritt 3: Installieren Sie den CloudWatch Agenten mithilfe eines Stacks auf einer oder mehreren EC2-Instances. CloudFormation 
+ Schritt 4: Stellen Sie sicher, dass das Agenten-Setup richtig konfiguriert ist

### Schritt 1: Stellen Sie sicher, dass die EC2-Ziel-Instances über die erforderlichen IAM-Berechtigungen verfügen
<a name="Solution-Tomcat-Agent-Step1"></a>

Sie müssen Systems Manager die Erlaubnis erteilen, den CloudWatch Agenten zu installieren und zu konfigurieren. Sie müssen dem CloudWatch Agenten auch die Erlaubnis erteilen, Telemetriedaten von Ihrer EC2-Instance an zu veröffentlichen. CloudWatch Stellen Sie sicher, dass der IAM-Rolle, die der Instance zugewiesen ist, die Amazon IAM-Richtlinien **CloudWatchAgentServerPolicy**und die **Amazon SSMManaged InstanceCore** IAM-Richtlinien angehängt sind.
+ Nachdem die Rolle erstellt wurde, weisen Sie Ihren EC2-Instances eine Rolle zu. Folgen Sie den Schritten unter [Starten einer Instance mit einer IAM-Rolle](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#launch-instance-with-role), um beim Starten einer neuen EC2-Instance eine Rolle zuzuweisen. Um einer vorhandenen EC2-Instance eine Rolle zuzuweisen, folgen Sie den Schritten unter [Anfügen einer IAM-Rolle an eine Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#attach-iam-role).

### Schritt 2: Speichern Sie die empfohlene CloudWatch Agentenkonfigurationsdatei im Systems Manager Parameter Store
<a name="Solution-Tomcat-Agent-Step2"></a>

Parameter Store vereinfacht die Installation des CloudWatch Agenten auf einer EC2-Instance, indem Konfigurationsparameter sicher gespeichert und verwaltet werden, sodass keine hartcodierten Werte erforderlich sind. Das gestaltet den Bereitstellungsprozess sicherer und flexibler und ermöglicht eine zentrale Verwaltung und einfachere Aktualisierungen von Konfigurationen über mehrere Instances hinweg.

Gehen Sie wie folgt vor, um die empfohlene CloudWatch Agent-Konfigurationsdatei als Parameter im Parameter Store zu speichern.

**Um die CloudWatch Agenten-Konfigurationsdatei als Parameter zu erstellen**

1. Öffnen Sie die AWS Systems Manager Konsole unter [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Wählen Sie im Navigationsbereich **Anwendungsmanagement**, **Parameter Store** aus.

1. Befolgen Sie diese Schritte, um einen neuen Parameter für die Konfiguration zu erstellen.

   1. Wählen Sie **Parameter erstellen** aus.

   1. Geben Sie im Feld **Name** einen Namen ein, mit dem Sie in späteren Schritten auf die CloudWatch Agenten-Konfigurationsdatei verweisen werden. Beispiel, **AmazonCloudWatch-Tomcat-Configuration**.

   1. (Optional) Geben Sie in das Feld **Beschreibung** eine Beschreibung für den Parameter ein.

   1. Wählen Sie für **Parameterstufe** die Option **Standard** aus. 

   1. Wählen Sie unter **Type** (Typ) die Option **String** (Zeichenfolge) aus.

   1. Wählen Sie als **Datentyp** die Option **Text** aus.

   1. Fügen Sie in das Feld **Wert** den entsprechenden JSON-Block ein, der unter [Agentenkonfiguration für Tomcat-Hosts](#Solution-Agent-Configuration-Tomcat-Host) aufgeführt war. Passen Sie den Wert und die Portnummer der Gruppierungsdimension wie beschrieben an.

   1. Wählen Sie **Parameter erstellen** aus. 

### Schritt 3: Installieren Sie den CloudWatch Agenten und wenden Sie die Konfiguration mithilfe einer CloudFormation Vorlage an
<a name="Solution-Tomcat-Agent-Step3"></a>

Sie können AWS CloudFormation damit den Agenten installieren und ihn so konfigurieren, dass er die CloudWatch Agentenkonfiguration verwendet, die Sie in den vorherigen Schritten erstellt haben.

**Um den CloudWatch Agenten für diese Lösung zu installieren und zu konfigurieren**

1. Öffnen Sie den Assistenten CloudFormation **zum schnellen Erstellen von Stacks** über diesen Link: [https://console.aws.amazon.com/cloudformation/Home? \#/ stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw agent-installation-template -1.0.0.json](https://console.aws.amazon.com/cloudformation/home?#/stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw-agent-installation-template-1.0.0.json). 

1. Sorgen Sie dafür, dass die ausgewählte Region auf der Konsole die Region ist, in der die JVM-Workload ausgeführt wird.

1. Geben Sie unter **Stack-Name** einen Namen für diesen Stack, z. B. **CWAgentInstallationStack**, ein.

1. Gehen Sie im Abschnitt **Parameter** wie folgt vor:

   1. Geben Sie für **CloudWatchAgentConfigSSM** den Namen des Systems Manager Manager-Parameters für die Agentenkonfiguration ein, die Sie zuvor erstellt haben, z. B. **AmazonCloudWatch-Tomcat-Configuration**

   1. Um die Ziel-Instances auszuwählen, haben Sie zwei Optionen.

      1. Geben Sie für **InstanceIds**eine durch Kommas getrennte Liste der Instanzen eine Liste der Instanzen IDs an, IDs in denen Sie den CloudWatch Agenten mit dieser Konfiguration installieren möchten. Sie können eine einzelne Instance oder mehrere Instances auflisten.

      1. Wenn Sie die Bereitstellung in großem Umfang durchführen, können Sie die **TagKey**und die entsprechende **TagValue**Option für alle EC2-Instances mit diesem Tag und Wert angeben. Wenn Sie eine angeben **TagKey**, müssen Sie eine entsprechende **TagValue**angeben. (Geben Sie für eine Auto Scaling Scaling-Gruppe **aws:autoscaling:groupName** für die **TagKey**und den Namen der Auto Scaling Scaling-Gruppe an, die **TagValue**auf allen Instances innerhalb der Auto Scaling Scaling-Gruppe bereitgestellt werden soll.)

         Wenn Sie **InstanceIds**sowohl die als auch die **TagKeys**Parameter angeben, haben die **InstanceIds**Vorrang und die Tags werden ignoriert.

1. Überprüfen Sie die Einstellungen und wählen Sie dann **Stack erstellen** aus. 

Wenn Sie die Vorlagendatei zuerst bearbeiten möchten, um sie anzupassen, wählen Sie im **Assistenten zum Erstellen von Stacks** die Option **Eine Vorlagendatei hochladen** aus, um die bearbeitete Vorlage hochzuladen. Weitere Informationen finden Sie unter [Einen Stack auf der CloudFormation Konsole erstellen](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html). Sie können den folgenden Link verwenden, um die Vorlage herunterzuladen: [ https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw- agent-installation-template -1.0.0.json](https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw-agent-installation-template-1.0.0.json). 

**Anmerkung**  
Nach Abschluss dieses Schritts wird dieser Systems Manager Manager-Parameter den CloudWatch Agenten zugeordnet, die in den Zielinstanzen ausgeführt werden. Dies bedeutet, dass:  
Wenn der Systems-Manager-Parameter gelöscht wird, wird der Agent gestoppt.
Wenn der Systems-Manager-Parameter bearbeitet wird, werden die Konfigurationsänderungen automatisch in der geplanten Häufigkeit, die standardmäßig 30 Tage beträgt, für den Agenten übernommen.
Wenn Sie Änderungen an diesem Systems-Manager-Parameter sofort anwenden möchten, müssen Sie diesen Schritt erneut ausführen. Weitere Informationen über Zuordnungen finden Sie unter [Arbeiten mit Zuordnungen in Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/state-manager-associations.html).

### Schritt 4: Stellen Sie sicher, dass das Agenten-Setup richtig konfiguriert ist
<a name="Solution-Tomcat-Agent-Step4"></a>

Sie können überprüfen, ob der CloudWatch Agent installiert ist, indem Sie die Schritte unter befolgen[Stellen Sie sicher, dass der CloudWatch Agent läuft](troubleshooting-CloudWatch-Agent.md#CloudWatch-Agent-troubleshooting-verify-running). Wenn der CloudWatch Agent nicht installiert ist und nicht ausgeführt wird, stellen Sie sicher, dass Sie alles richtig eingerichtet haben.
+ Sorgen Sie dafür, dass Sie der EC2-Instance eine Rolle mit den richtigen Berechtigungen zugewiesen haben, wie unter beschrieben [Schritt 1: Stellen Sie sicher, dass die EC2-Ziel-Instances über die erforderlichen IAM-Berechtigungen verfügen](#Solution-Tomcat-Agent-Step1).
+ Stellen Sie sicher, dass Sie JSON für den Systems-Manager-Parameter korrekt konfiguriert haben. Führen Sie die Schritte unter [Fehlerbehebung bei der Installation des CloudWatch Agenten mit CloudFormation](Install-CloudWatch-Agent-New-Instances-CloudFormation.md#CloudWatch-Agent-CloudFormation-troubleshooting) aus.

Wenn alles korrekt eingerichtet ist, sollten Sie sehen, wie die Tomcat-Metriken veröffentlicht werden. CloudWatch Sie können in der CloudWatch Konsole nachsehen, ob sie veröffentlicht wurden.

**Um zu überprüfen, ob Tomcat-Metriken veröffentlicht werden CloudWatch**

1. Öffnen Sie die CloudWatch Konsole unter. [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)

1. Wählen Sie **Metriken**, **Alle Metriken** aus.

1. Vergewissern Sie sich, dass Sie die Region ausgewählt haben, in der Sie die Lösung bereitgestellt haben, und wählen Sie **Benutzerdefinierte Namespaces**,. **CWAgent**

1. Suchen Sie nach den Metriken, die im Abschnitt zur Agentenkonfiguration dieses Dokuments erwähnt werden, z. B. `tomcat.errors`. Wenn Sie Ergebnisse für diese Metriken sehen, werden die Metriken unter veröffentlicht. CloudWatch

## Erstellen des Tomcat-Lösungs-Dashboards
<a name="Solution-Tomcat-Dashboard"></a>

Auf diesem Dashboard werden die neu ausgegebenen Metriken dargestellt, wobei sowohl der Tomcat-Anwendungsserver als auch die zugrunde liegende JVM angezeigt werden. Dieses Dashboard bietet eine Übersicht über den Zustand Ihres Tomcat-Workloads mit den wichtigsten Faktoren. In der Ansicht der wichtigsten Faktoren wird das Top-10-pro-Metrik-Widget angezeigt. Auf diese Weise erkennen Sie Ausreißer auf einen Blick. Das Dashboard bietet auch einen Überblick über den Cluster, indem Metriken für alle Instances aggregiert und präsentiert werden und so der allgemeine Zustand und der Betriebszustand des Clusters auf hoher Ebene zusammengefasst wird.

Das Lösungs-Dashboard stellt keine EC2-Metriken dar. Um EC2-Metriken anzuzeigen, müssen Sie das automatische EC2-Dashboard verwenden, um die von EC2 verkauften Metriken zu sehen, und das EC2-Konsolen-Dashboard verwenden, um die vom Agenten gesammelten EC2-Metriken zu sehen. CloudWatch Weitere Informationen zu automatischen Dashboards für finden Sie unter. AWS-Services[Ein CloudWatch Dashboard für einen einzelnen AWS Dienst anzeigen](CloudWatch_Automatic_Dashboards_Focus_Service.md)

Um das Dashboard zu erstellen, können Sie die folgenden Optionen nutzen.
+ Verwenden Sie die CloudWatch Konsole, um das Dashboard zu erstellen.
+ Verwenden Sie die AWS CloudFormation Konsole, um das Dashboard bereitzustellen.
+ Laden Sie die AWS CloudFormation Infrastruktur als Code herunter und integrieren Sie sie als Teil Ihrer Continuous Integration (CI) -Automatisierung.

Wenn Sie die CloudWatch Konsole zum Erstellen eines Dashboards verwenden, können Sie eine Vorschau des Dashboards anzeigen, bevor Sie es tatsächlich erstellen und bezahlen.

**Anmerkung**  
Das CloudFormation in dieser Lösung erstellte Dashboard zeigt Metriken aus der Region an, in der die Lösung bereitgestellt wird. Stellen Sie sicher, dass Sie den CloudFormation Stack in der Region erstellen, in der Ihre Tomcat-Metriken veröffentlicht werden.  
Wenn Sie einen anderen benutzerdefinierten Namespace als `CWAgent` in der CloudWatch Agentenkonfiguration angegeben haben, müssen Sie die CloudFormation Vorlage für das Dashboard so ändern, dass sie durch den von Ihnen verwendeten benutzerdefinierten Namespace `CWAgent` ersetzt wird.

**Um das Dashboard über die Konsole zu erstellen CloudWatch**
**Anmerkung**  
In Lösungs-Dashboards werden derzeit nur Metriken zur Garbage Collection angezeigt, die sich auf den G1 Garbage Collector beziehen. Dabei handelt es sich um den Standard-Collector für die neuesten Java-Versionen. Wenn Sie einen anderen Garbage-Collection-Algorithmus verwenden, sind die Widgets, die sich auf die Garbage Collection beziehen, leer. Sie können diese Widgets jedoch anpassen, indem Sie die CloudFormation Dashboard-Vorlage ändern und den entsprechenden Garbage-Collection-Typ auf die Namensdimension der Metriken anwenden, die sich auf die Garbage-Collection beziehen. Wenn Sie beispielsweise die parallele Garbage Collection verwenden, ändern Sie den Wert **name=\\"G1 Young Generation\\"** auf **name=\\"Parallel GC\\"** (bei der Garbage-Collection-Anzahlmetrik `jvm.gc.collections.count`).

1. [Öffnen Sie die CloudWatch Konsole „**Dashboard erstellen“** über diesen Link: Home? https://console.aws.amazon.com/cloudwatch/ \#dashboards? ApacheTomcatOnEcDashboardTemplate=](https://console.aws.amazon.com/cloudwatch/home?#dashboards?dashboardTemplate=ApacheTomcatOnEc2&referrer=os-catalog) 2&referrer=os-catalog. 

1. Sorgen Sie dafür, dass die ausgewählte Region auf der Konsole die Region ist, in der die JVM-Workload ausgeführt wird.

1. Geben Sie einen Namen für das Dashboard ein und wählen Sie **Dashboard erstellen**.

   Um dieses Dashboard leicht von ähnlichen Dashboards in anderen Regionen zu unterscheiden, empfehlen wir, den Namen der Region in den Namen des Dashboards aufzunehmen, z. B. **TomcatDashboard-us-east-1**.

1. Zeigen Sie eine Vorschau des Dashboards an und wählen Sie **Speichern** aus, um das Dashboard zu erstellen.

**Um das Dashboard zu erstellen über CloudFormation**

1. Öffnen Sie den Assistenten CloudFormation **zum schnellen Erstellen von Stacks** über diesen Link: [https://console.aws.amazon.com/cloudformation/Home? \#/ stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/Tomcat\_EC2/CloudWatch/CFN/v1.0.0/dashboard -template-1.0.0.json](https://console.aws.amazon.com/cloudformation/home?#/stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/Tomcat_EC2/CloudWatch/CFN/v1.0.0/dashboard-template-1.0.0.json). 

1. Sorgen Sie dafür, dass die ausgewählte Region auf der Konsole die Region ist, in der die JVM-Workload ausgeführt wird.

1. Geben Sie unter **Stack-Name** einen Namen für diesen Stack, z. B. **TomcatDashboard-us-east-1**, ein.

1. Geben Sie im Abschnitt **Parameter** den Namen des Dashboards unter dem Parameter an. **DashboardName**

1. Um dieses Dashboard leicht von ähnlichen Dashboards in anderen Regionen zu unterscheiden, empfehlen wir, den Namen der Region in den Namen des Dashboards aufzunehmen, z. B. **TomcatDashboard-us-east-1**.

1. Bestätigen Sie die Zugriffsmöglichkeiten für Transformationen unter **Funktionen und Transformationen**. Beachten Sie, dass dadurch CloudFormation keine IAM-Ressourcen hinzugefügt werden.

1. Überprüfen Sie die Einstellungen und wählen Sie dann **Stack erstellen** aus. 

1. Wenn der Stack-Status **CREATE\_COMPLETE** lautet, wählen Sie unter dem erstellten Stack die Registerkarte **Ressourcen** und dann den Link unter **Physische ID** aus, um zum Dashboard zu gelangen. Sie können auch in der CloudWatch Konsole auf das Dashboard zugreifen, indem Sie im linken Navigationsbereich der Konsole **Dashboards** auswählen und den Namen des Dashboards unter **Benutzerdefinierte** Dashboards suchen.

Wenn Sie die Vorlagendatei bearbeiten möchten, um sie für beliebige Zwecke anzupassen, können Sie im **Assistenten zum Erstellen von Stacks** die Option **Eine Vorlagendatei hochladen** auswählen, um die bearbeitete Vorlage hochzuladen. Weitere Informationen finden Sie unter [Einen Stack auf der CloudFormation Konsole erstellen](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html). Sie können diesen Link verwenden, um die Vorlage herunterzuladen: [https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/Tomcat\_EC2/CloudWatch/CFN/v1.0.0/dashboard-template-1.0.0.json](https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/Tomcat_EC2/CloudWatch/CFN/v1.0.0/dashboard-template-1.0.0.json). 

**Anmerkung**  
In Lösungs-Dashboards werden derzeit nur Metriken zur Garbage Collection angezeigt, die sich auf den G1 Garbage Collector beziehen. Dabei handelt es sich um den Standard-Collector für die neuesten Java-Versionen. Wenn Sie einen anderen Garbage-Collection-Algorithmus verwenden, sind die Widgets, die sich auf die Garbage Collection beziehen, leer. Sie können diese Widgets jedoch anpassen, indem Sie die CloudFormation Dashboard-Vorlage ändern und den entsprechenden Garbage-Collection-Typ auf die Namensdimension der Messwerte anwenden, die sich auf die Müllsammlung beziehen. Wenn Sie beispielsweise die parallele Garbage Collection verwenden, ändern Sie den Wert **name=\\"G1 Young Generation\\"** auf **name=\\"Parallel GC\\"** (bei der Garbage-Collection-Anzahlmetrik `jvm.gc.collections.count`). 

### Erste Schritte mit dem Tomcat-Überwachungs-Dashboard
<a name="Solution-Tomcat-GetStarted"></a>

Hier finden Sie ein paar Aufgaben, die Sie mit dem neuen Tomcat-Dashboard ausprobieren können. Mit diesen Aufgaben können Sie prüfen, ob das Dashboard ordnungsgemäß funktioniert, und Sie erhalten praktische Erfahrung mit der Überwachung einer Tomcat-Anwendung. Wenn Sie diese Optionen ausprobieren, werden Sie sich mit der Navigation im Dashboard und der Interpretation der visualisierten Metriken vertraut machen.

**Verwenden der Drop-down-Liste **

Das Dashboard bietet oben eine Drop-down-Liste, mit der Sie die spezifische Tomcat-Anwendung, die Sie überwachen möchten, filtern und auswählen können. Um Metriken für eine bestimmte Tomcat-Anwendung anzusehen, wählen Sie den Namen der Anwendung in der Drop-down-Liste **Tomcat-App** aus. 

**Überprüfen des Zustands der Anwendung**

Suchen Sie im Bereich **App-Übersicht** nach den Widgets **Anforderungen**, **Fehler** und **Fehlerrate**. Diese bieten eine allgemeine Zusammenfassung der Anwendungsleistung bei der Anforderungsverarbeitung. Suchen Sie nach einer ungewöhnlich hohen Anzahl oder Raten von Fehlern, die auf zu untersuchende Probleme hinweisen könnten.

**Überwachen der Bearbeitung von Anforderungen **

Suchen Sie im Abschnitt **Bearbeitungszeit von Anforderungen** nach den Widgets **Max. Bearbeitungszeit** und **Gesamtzeit für die Bearbeitung aller Anforderungen**. Diese Metriken helfen Ihnen dabei, potenzielle Leistungsengpässe bei der Bearbeitung von Anforderungen zu erkennen. Suchen Sie nach Servern, die im Vergleich zu anderen deutlich höhere maximale Verarbeitungszeiten haben. 

**Analysieren des Netzwerkverkehrs**

Suchen Sie im Abschnitt **Netzwerkverkehr** nach den Widgets **Gesendeter Datenverkehr** und **Empfangener Datenverkehr**. Hier wird die Datenmenge angezeigt, die von der Anwendung über das Netzwerk gesendet und empfangen wird. Ein unerwartet hohes Datenverkehrsaufkommen könnte auf mögliche Probleme mit der Netzwerkauslastung oder auf eine ineffiziente Datenübertragung hinweisen.

**Untersuchen der Threadnutzung **

Suchen Sie im Abschnitt **Sitzungen und Threads** nach den Widgets **Anzahl aktiver Threads**, **Anzahl der Threads** und **Sitzungen**. Diese Metriken bieten Einblicke in das Thread-Management der Anwendung und die aktiven Benutzersitzungen. Suchen Sie nach Servern mit einer ungewöhnlich hohen Anzahl ausgelasteter Threads oder Sitzungen, was auf mögliche Ressourcenbeschränkungen hinweisen könnte.