Contoh Java/beban JMX kerja untuk klaster Amazon ECS - Amazon CloudWatch

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Contoh Java/beban JMX kerja untuk klaster Amazon ECS

JMXEksportir adalah eksportir resmi Prometheus yang dapat mengikis dan mengekspos sebagai metrik Prometheus. JMX mBeans Untuk informasi selengkapnya, silakan lihat prometheus/jmx_exporter.

CloudWatch Agen dengan dukungan Prometheus menggores metrik JMX Java/Prometheus berdasarkan konfigurasi penemuan layanan di cluster Amazon. ECS Anda dapat mengonfigurasi JMX Eksportir untuk mengekspos metrik pada port atau metrics_path yang berbeda. Jika Anda mengubah port atau jalur, perbarui ecs_service_discovery bagian default dalam konfigurasi CloudWatch agen.

Untuk mengumpulkan metrik dari contoh beban kerja Prometheus untuk ECS Amazon, Anda harus menjalankan Container Insights di cluster. Untuk informasi tentang cara melakukan instalasi Wawasan Kontainer, silakan lihat Menyiapkan Wawasan Kontainer di Amazon ECS.

Untuk menginstal Java/ JMX contoh beban kerja untuk klaster Amazon ECS
  1. Ikuti langkah-langkah yang ada di bagian ini untuk membuat citra Docker Anda.

  2. Tentukan dua label docker berikut di file definisi ECS tugas Amazon. Anda kemudian dapat menjalankan definisi tugas sebagai ECS layanan Amazon atau ECS tugas Amazon di cluster.

    • Tetapkan ECS_PROMETHEUS_EXPORTER_PORT untuk menunjuk ke containerPort di mana metrik Prometheus terekspos.

    • Atur Java_EMF_Metrics ke true. CloudWatch Agen menggunakan bendera ini untuk menghasilkan format metrik yang disematkan dalam peristiwa log.

    Berikut adalah contohnya:

    { "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" }

Pengaturan default CloudWatch agen dalam AWS CloudFormation template memungkinkan penemuan layanan berbasis label docker dan penemuan layanan berbasis definisi ARN tugas. Untuk melihat pengaturan default ini, lihat baris 65 dari file YAML konfigurasi CloudWatch agen. Kontainer-kontainer yang memiliki label ECS_PROMETHEUS_EXPORTER_PORT akan ditemukan secara otomatis berdasarkan port kontainer yang ditentukan untuk scraping Prometheus.

Pengaturan default CloudWatch agen juga memiliki metric_declaration pengaturan untuk 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 wadah dengan label dockerJava_EMF_Metrics=“true”, format metrik yang disematkan akan dihasilkan.