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 der AWS CloudFormation 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 at line 112 of the same file. All docker labels of the target containers will be added as additional labels in the Prometheus metrics and sent to CloudWatch Logs. For the Java/JMX Container mit Docker-LabelJava_EMF_Metrics=“true”, das eingebettete metrische Format wird generiert.