Beispiel für JMX Java/Workload für Amazon-Cluster ECS - Amazon CloudWatch

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.

Beispiel für JMX Java/Workload für Amazon-Cluster ECS

JMXExporter ist ein offizieller Prometheus-Exporteur, der Metriken auslesen und als Prometheus-Metriken veröffentlichen kann. JMX mBeans Weitere Informationen finden Sie unter prometheus/jmx_exporter.

Der CloudWatch Agent mit Prometheus-Unterstützung scannt die JMX Java/Prometheus-Metriken auf der Grundlage der Service Discovery-Konfiguration im Amazon-Cluster. ECS Sie können den JMX Exporter so konfigurieren, dass die Metriken auf einem anderen Port oder metrics_path angezeigt werden. Wenn Sie den Port oder Pfad ändern, aktualisieren Sie den ecs_service_discovery Standardabschnitt in der Agentenkonfiguration. CloudWatch

Um Metriken aus einem Prometheus-Beispiel-Workload für Amazon zu sammelnECS, müssen Sie Container Insights im Cluster ausführen. Informationen zur Installation von Container Insights finden Sie unter Container Insights auf Amazon einrichten ECS.

Um den JMX Java/Beispiel-Workload für Amazon-Cluster zu installieren ECS
  1. Führen Sie die Schritte in diesen Abschnitten aus, um Ihre Docker-Images zu erstellen.

  2. Geben Sie die folgenden zwei Docker-Labels in der ECS Amazon-Aufgabendefinitionsdatei an. Anschließend können Sie die Aufgabendefinition als ECS Amazon-Service oder ECS Amazon-Aufgabe im Cluster ausführen.

    • Legt festECS_PROMETHEUS_EXPORTER_PORT, containerPort wo die Prometheus-Metriken angezeigt werden.

    • Setzen Sie Java_EMF_Metrics auf true. Der CloudWatch Agent verwendet dieses Flag, um das eingebettete Metrikformat im Protokollereignis zu generieren.

    Im Folgenden wird ein Beispiel gezeigt:

    { "family": "workload-java-ec2-bridge", "taskRoleArn": "{{task-role-arn}}", "executionRoleArn": "{{execution-role-arn}}", "networkMode": "bridge", "containerDefinitions": [ { "name": "tomcat-prometheus-workload-java-ec2-bridge-dynamic-port", "image": "your_docker_image_tag_for_tomcat_with_prometheus_metrics", "portMappings": [ { "hostPort": 0, "protocol": "tcp", "containerPort": 9404 } ], "dockerLabels": { "ECS_PROMETHEUS_EXPORTER_PORT": "9404", "Java_EMF_Metrics": "true" } } ], "requiresCompatibilities": [ "EC2" ], "cpu": "256", "memory": "512" }

Die Standardeinstellung des CloudWatch Agenten in AWS CloudFormation Die Vorlage ermöglicht sowohl die auf Docker-Labels basierende Diensterkennung als auch die auf Aufgabendefinitionen ARN basierende Diensterkennung. Informationen zu diesen Standardeinstellungen finden Sie in Zeile 65 der CloudWatch YAMLAgent-Konfigurationsdatei. Die Container mit der ECS_PROMETHEUS_EXPORTER_PORT-Bezeichnung werden basierend auf dem angegebenen Container-Port für das Prometheus-Scraping automatisch erkannt.

Die Standardeinstellung des CloudWatch Agenten hat auch die metric_declaration Einstellung für Java/ JMX in Zeile 112 derselben Datei. Alle Docker-Labels der Zielcontainer werden als zusätzliche Labels zu den Prometheus-Metriken hinzugefügt und an Logs gesendet. CloudWatch Für die JMX Java/Container mit Docker-Label Java_EMF_Metrics=“true” wird das eingebettete metrische Format generiert.