Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Instal CloudWatch agen dengan koleksi metrik Prometheus di klaster Amazon ECS
Bagian ini menjelaskan cara mengatur CloudWatch agen dengan pemantauan Prometheus di cluster yang menjalankan Amazon ECS. Setelah melakukan hal tersebut, agen secara otomatis melakukan scraping terhadap dan mengimpor metrik-metrik untuk beban kerja berikut yang berjalan di klaster tersebut.
-
AWS App Mesh
-
Java/JMX
Anda juga dapat mengonfigurasi agen tersebut untuk melakukan scraping atas dan mengimpor metrik-metrik dari beban kerja dan sumber Prometheus tambahan.
Menyiapkan peran IAM
Anda memerlukan dua peran IAM untuk definisi tugas CloudWatch agen. Jika Anda menentukan CreateIAMRoles=True di CloudFormation tumpukan agar Wawasan Kontainer membuat peran ini untuk Anda, peran akan dibuat dengan izin yang benar. Jika Anda ingin membuat peran-peran itu sendiri atau menggunakan peran-peran yang sudah ada, maka peran dan izin berikut diperlukan.
-
CloudWatch peran tugas agen ECS - Wadah CloudWatch agen menggunakan peran ini. Ini harus mencakup CloudWatchAgentServerPolicy kebijakan dan kebijakan yang dikelola pelanggan yang berisi izin baca-saja berikut:
-
ec2:DescribeInstances -
ecs:ListTasks -
ecs:ListServices -
ecs:DescribeContainerInstances -
ecs:DescribeServices -
ecs:DescribeTasks -
ecs:DescribeTaskDefinition
-
-
CloudWatch peran eksekusi tugas agen ECS — Ini adalah peran yang diperlukan Amazon ECS untuk meluncurkan dan menjalankan kontainer Anda. Pastikan peran eksekusi tugas Anda memiliki Amazon SSMReadOnlyAccess, Amazon ECSTask ExecutionRolePolicy, dan CloudWatchAgentServerPolicykebijakan yang dilampirkan. Jika Anda ingin menyimpan data yang lebih sensitif untuk digunakan oleh Amazon ECS, silakan lihat Menentukan data sensitif.
Instal CloudWatch agen dengan pemantauan Prometheus dengan menggunakan CloudFormation
Anda gunakan AWS CloudFormation untuk menginstal CloudWatch agen dengan pemantauan Prometheus untuk klaster Amazon ECS. Daftar berikut menunjukkan parameter-parameter yang akan Anda gunakan dalam template CloudFormation .
-
ECSClusterNama - Menentukan target klaster Amazon ECS.
-
Buat IAMRoles - Tentukan
Trueuntuk membuat peran baru untuk peran tugas Amazon ECS dan peran eksekusi tugas Amazon ECS. TentukanFalseuntuk menggunakan kembali peran-peran yang ada. -
TaskRoleName— Jika Anda menentukan
Trueuntuk Buat IAMRoles, ini menentukan nama yang akan digunakan untuk peran tugas Amazon ECS yang baru. Jika Anda menetapkanFalseuntuk Buat IAMRoles, ini menentukan peran yang ada untuk digunakan sebagai peran tugas Amazon ECS. -
ExecutionRoleName— Jika Anda menentukan
Trueuntuk Buat IAMRoles, ini menentukan nama yang akan digunakan untuk peran eksekusi tugas Amazon ECS yang baru. Jika Anda menetapkanFalseuntuk Buat IAMRoles, ini menentukan peran yang ada untuk digunakan sebagai peran eksekusi tugas Amazon ECS. -
ECSNetworkMode - Jika Anda menggunakan tipe EC2 peluncuran, tentukan mode jaringan di sini. Harus
bridgeatauhost. -
ECSLaunchJenis - Tentukan salah satu
fargateatauEC2. -
SecurityGroupID - Jika ECSNetworkModenya
awsvpc, tentukan ID grup keamanan di sini. -
SubnetID - Jika ECSNetworkModenya
awsvpc, tentukan ID subnet di sini.
Sampel-sampel perintah
Bagian ini mencakup contoh CloudFormation perintah untuk menginstal Wawasan Kontainer dengan pemantauan Prometheus dalam berbagai skenario.
Buat CloudFormation tumpukan untuk cluster Amazon ECS dalam mode jaringan jembatan
export AWS_PROFILE=your_aws_config_profile_eg_defaultexport AWS_DEFAULT_REGION=your_aws_region_eg_ap-southeast-1export ECS_CLUSTER_NAME=your_ec2_ecs_cluster_nameexport ECS_NETWORK_MODE=bridge export CREATE_IAM_ROLES=True export ECS_TASK_ROLE_NAME=your_selected_ecs_task_role_nameexport ECS_EXECUTION_ROLE_NAME=your_selected_ecs_execution_role_namecurl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/ecs-task-definition-templates/deployment-mode/replica-service/cwagent-prometheus/cloudformation-quickstart/cwagent-ecs-prometheus-metric-for-bridge-host.yaml aws cloudformation create-stack --stack-name CWAgent-Prometheus-ECS-${ECS_CLUSTER_NAME}-EC2-${ECS_NETWORK_MODE} \ --template-body file://cwagent-ecs-prometheus-metric-for-bridge-host.yaml \ --parameters ParameterKey=ECSClusterName,ParameterValue=${ECS_CLUSTER_NAME} \ ParameterKey=CreateIAMRoles,ParameterValue=${CREATE_IAM_ROLES} \ ParameterKey=ECSNetworkMode,ParameterValue=${ECS_NETWORK_MODE} \ ParameterKey=TaskRoleName,ParameterValue=${ECS_TASK_ROLE_NAME} \ ParameterKey=ExecutionRoleName,ParameterValue=${ECS_EXECUTION_ROLE_NAME} \ --capabilities CAPABILITY_NAMED_IAM \ --region ${AWS_DEFAULT_REGION} \ --profile ${AWS_PROFILE}
Buat CloudFormation tumpukan untuk cluster Amazon ECS dalam mode jaringan host
export AWS_PROFILE=your_aws_config_profile_eg_defaultexport AWS_DEFAULT_REGION=your_aws_region_eg_ap-southeast-1export ECS_CLUSTER_NAME=your_ec2_ecs_cluster_nameexport ECS_NETWORK_MODE=host export CREATE_IAM_ROLES=True export ECS_TASK_ROLE_NAME=your_selected_ecs_task_role_nameexport ECS_EXECUTION_ROLE_NAME=your_selected_ecs_execution_role_namecurl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/ecs-task-definition-templates/deployment-mode/replica-service/cwagent-prometheus/cloudformation-quickstart/cwagent-ecs-prometheus-metric-for-bridge-host.yaml aws cloudformation create-stack --stack-name CWAgent-Prometheus-ECS-${ECS_CLUSTER_NAME}-EC2-${ECS_NETWORK_MODE} \ --template-body file://cwagent-ecs-prometheus-metric-for-bridge-host.yaml \ --parameters ParameterKey=ECSClusterName,ParameterValue=${ECS_CLUSTER_NAME} \ ParameterKey=CreateIAMRoles,ParameterValue=${CREATE_IAM_ROLES} \ ParameterKey=ECSNetworkMode,ParameterValue=${ECS_NETWORK_MODE} \ ParameterKey=TaskRoleName,ParameterValue=${ECS_TASK_ROLE_NAME} \ ParameterKey=ExecutionRoleName,ParameterValue=${ECS_EXECUTION_ROLE_NAME} \ --capabilities CAPABILITY_NAMED_IAM \ --region ${AWS_DEFAULT_REGION} \ --profile ${AWS_PROFILE}
Buat CloudFormation tumpukan untuk cluster Amazon ECS dalam mode jaringan awsvpc
export AWS_PROFILE=your_aws_config_profile_eg_defaultexport AWS_DEFAULT_REGION=your_aws_region_eg_ap-southeast-1export ECS_CLUSTER_NAME=your_ec2_ecs_cluster_nameexport ECS_LAUNCH_TYPE=EC2 export CREATE_IAM_ROLES=True export ECS_CLUSTER_SECURITY_GROUP=your_security_group_eg_sg-xxxxxxxxxxexport ECS_CLUSTER_SUBNET=your_subnet_eg_subnet-xxxxxxxxxxexport ECS_TASK_ROLE_NAME=your_selected_ecs_task_role_nameexport ECS_EXECUTION_ROLE_NAME=your_selected_ecs_execution_role_namecurl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/ecs-task-definition-templates/deployment-mode/replica-service/cwagent-prometheus/cloudformation-quickstart/cwagent-ecs-prometheus-metric-for-awsvpc.yaml aws cloudformation create-stack --stack-name CWAgent-Prometheus-ECS-${ECS_CLUSTER_NAME}-${ECS_LAUNCH_TYPE}-awsvpc \ --template-body file://cwagent-ecs-prometheus-metric-for-awsvpc.yaml \ --parameters ParameterKey=ECSClusterName,ParameterValue=${ECS_CLUSTER_NAME} \ ParameterKey=CreateIAMRoles,ParameterValue=${CREATE_IAM_ROLES} \ ParameterKey=ECSLaunchType,ParameterValue=${ECS_LAUNCH_TYPE} \ ParameterKey=SecurityGroupID,ParameterValue=${ECS_CLUSTER_SECURITY_GROUP} \ ParameterKey=SubnetID,ParameterValue=${ECS_CLUSTER_SUBNET} \ ParameterKey=TaskRoleName,ParameterValue=${ECS_TASK_ROLE_NAME} \ ParameterKey=ExecutionRoleName,ParameterValue=${ECS_EXECUTION_ROLE_NAME} \ --capabilities CAPABILITY_NAMED_IAM \ --region ${AWS_DEFAULT_REGION} \ --profile ${AWS_PROFILE}
Buat CloudFormation tumpukan untuk cluster Fargate dalam mode jaringan awsvpc
export AWS_PROFILE=your_aws_config_profile_eg_defaultexport AWS_DEFAULT_REGION=your_aws_region_eg_ap-southeast-1export ECS_CLUSTER_NAME=your_ec2_ecs_cluster_nameexport ECS_LAUNCH_TYPE=FARGATE export CREATE_IAM_ROLES=True export ECS_CLUSTER_SECURITY_GROUP=your_security_group_eg_sg-xxxxxxxxxxexport ECS_CLUSTER_SUBNET=your_subnet_eg_subnet-xxxxxxxxxxexport ECS_TASK_ROLE_NAME=your_selected_ecs_task_role_nameexport ECS_EXECUTION_ROLE_NAME=your_selected_ecs_execution_role_namecurl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/ecs-task-definition-templates/deployment-mode/replica-service/cwagent-prometheus/cloudformation-quickstart/cwagent-ecs-prometheus-metric-for-awsvpc.yaml aws cloudformation create-stack --stack-name CWAgent-Prometheus-ECS-${ECS_CLUSTER_NAME}-${ECS_LAUNCH_TYPE}-awsvpc \ --template-body file://cwagent-ecs-prometheus-metric-for-awsvpc.yaml \ --parameters ParameterKey=ECSClusterName,ParameterValue=${ECS_CLUSTER_NAME} \ ParameterKey=CreateIAMRoles,ParameterValue=${CREATE_IAM_ROLES} \ ParameterKey=ECSLaunchType,ParameterValue=${ECS_LAUNCH_TYPE} \ ParameterKey=SecurityGroupID,ParameterValue=${ECS_CLUSTER_SECURITY_GROUP} \ ParameterKey=SubnetID,ParameterValue=${ECS_CLUSTER_SUBNET} \ ParameterKey=TaskRoleName,ParameterValue=${ECS_TASK_ROLE_NAME} \ ParameterKey=ExecutionRoleName,ParameterValue=${ECS_EXECUTION_ROLE_NAME} \ --capabilities CAPABILITY_NAMED_IAM \ --region ${AWS_DEFAULT_REGION} \ --profile ${AWS_PROFILE}
AWS sumber daya yang dibuat oleh CloudFormation tumpukan
Tabel berikut mencantumkan AWS sumber daya yang dibuat saat Anda menggunakan CloudFormation untuk menyiapkan Wawasan Kontainer dengan pemantauan Prometheus di klaster Amazon ECS.
| Tipe sumber daya | Nama sumber daya | Komentar |
|---|---|---|
|
AWS::SSM::Parameter |
AmazonCloudWatch- CWAgent Konfigurasi-$ -$ -$ |
Ini adalah CloudWatch agen dengan App Mesh default dan definisi format metrik yang Java/JMX disematkan. |
|
AWS::SSM::Parameter |
AmazonCloudWatch-PrometheusConfigName-$ |
Ini adalah konfigurasi scraping Prometheus. |
|
AWS::IAM::Role |
$ECS_TASK_ROLE_NAME. |
Peran tugas Amazon ECS. Ini hanya dibuat jika Anda menentukan |
|
AWS::IAM::Role |
${ECS_EXECUTION_ROLE_NAME} |
Peran eksekusi tugas Amazon ECS. Ini hanya dibuat jika Anda sudah menentukan |
|
AWS::ECS::TaskDefinition |
|
|
|
AWS::ECS::Service |
cwagent-prometheus-replica-service-$ |
Menghapus CloudFormation tumpukan untuk CloudWatch agen dengan pemantauan Prometheus
Untuk menghapus CloudWatch agen dari cluster Amazon ECS, masukkan perintah ini.
export AWS_PROFILE=your_aws_config_profile_eg_defaultexport AWS_DEFAULT_REGION=your_aws_region_eg_ap-southeast-1export CLOUDFORMATION_STACK_NAME=your_cloudformation_stack_nameaws cloudformation delete-stack \ --stack-name ${CLOUDFORMATION_STACK_NAME} \ --region ${AWS_DEFAULT_REGION} \ --profile ${AWS_PROFILE}