Carico di lavoro Java/JMX di esempio per cluster Amazon ECS
JMX Exporter è un esportatore ufficiale di Prometheus che può recuperare ed esporre JMX mBeans JMX come metriche Prometheus. Per ulteriori informazioni, vedere prometheus/jmx_exporter
L'agente CloudWatch con supporto Prometheus recupera i parametri Java/JMX di Prometheus in base alla configurazione di individuazione del servizio nel cluster Amazon ECS. È possibile configurare JMX Exporter per esporre le metriche su una porta o metrics_path diverso. Se modifichi la porta o il percorso, aggiorna la sezione ecs_service_discovery predefinita nella configurazione dell'agente CloudWatch.
Per raccogliere parametri da un carico di lavoro Prometheus di esempio per Amazon ECS, devi eseguire Container Insights nel cluster. Per informazioni sull'installazione di Container Insights, consulta Configurazione di Container Insights su Amazon ECS.
Per installare il carico di lavoro di esempio Java/JMX per cluster Amazon ECS
-
Procedi come descritto in queste sezioni per creare le immagini Docker.
-
Specifica le due etichette Docker seguenti nel file di definizione dell'attività Amazon ECS. Puoi quindi eseguire la definizione dell'attività come servizio Amazon ECS o attività Amazon ECS nel cluster.
-
Imposta
ECS_PROMETHEUS_EXPORTER_PORTper puntare all'elemento containerPort in cui sono esposti i parametri Prometheus. -
Imposta
Java_EMF_Metricssutrue. L'agente CloudWatch utilizza questo flag per generare il formato della metrica incorporato nell'evento di log.
Di seguito è riportato un esempio:
{ "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" } -
L'impostazione predefinita dell'agente CloudWatch nel modello CloudFormation consente sia l'individuazione dei servizi basata su etichette Docker che la definizione delle attività di individuazione dei servizi basata su ARN. Per visualizzare queste impostazioni predefinite, consulta la riga 65 del file di configurazione YAML dell'agente CloudWatchECS_PROMETHEUS_EXPORTER_PORT verranno individuati automaticamente in base alla porta del container specificata per lo scraping di Prometheus.
L'impostazione predefinita dell'agente CloudWatch ha anche l'impostazione metric_declaration per Java/JMX alla riga 112 dello stesso file. Tutte le etichette Docker dei container di destinazione verranno aggiunte come etichette aggiuntive nei parametri di Prometheus e inviate a CloudWatch Logs. Per i container Java/JMX con etichetta Docker Java_EMF_Metrics=“true”, verrà generato il formato della metrica incorporata.