@@ -94,15 +94,72 @@ Resources:
9494 --==BOUNDARY==
9595 Content-Type : text/cloud-config; charset="us-ascii"
9696
97+ # cloud-config
98+ repo_update : true
99+ repo_upgrade : security
100+
97101 packages :
98102 - jq
99103 - btrfs-progs
100104 - sed
101105 - git
102106 - amazon-ssm-agent
103107 - unzip
108+ - amazon-cloudwatch-agent
109+
110+ write_files :
111+ - permissions : ' 0644'
112+ path : /opt/aws/amazon-cloudwatch-agent/etc/config.json
113+ content : |
114+ {
115+ "agent": {
116+ "logfile": "/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log"
117+ },
118+ "logs": {
119+ "logs_collected": {
120+ "files": {
121+ "collect_list": [
122+ {
123+ "file_path": "/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log",
124+ "log_group_name": "/aws/ecs/container-instance/${Namespace}",
125+ "log_stream_name": "/aws/ecs/container-instance/${Namespace}/{instance_id}/amazon-cloudwatch-agent.log"
126+ },
127+ {
128+ "file_path": "/var/log/cloud-init.log",
129+ "log_group_name": "/aws/ecs/container-instance/${Namespace}",
130+ "log_stream_name": "/aws/ecs/container-instance/${Namespace}/{instance_id}/cloud-init.log"
131+ },
132+ {
133+ "file_path": "/var/log/cloud-init-output.log",
134+ "log_group_name": "/aws/ecs/container-instance/${Namespace}",
135+ "log_stream_name": "/aws/ecs/container-instance/${Namespace}/{instance_id}/cloud-init-output.log"
136+ },
137+ {
138+ "file_path": "/var/log/ecs/ecs-init.log",
139+ "log_group_name": "/aws/ecs/container-instance/${Namespace}",
140+ "log_stream_name": "/aws/ecs/container-instance/${Namespace}/{instance_id}/ecs-init.log"
141+ },
142+ {
143+ "file_path": "/var/log/ecs/ecs-agent.log",
144+ "log_group_name": "/aws/ecs/container-instance/${Namespace}",
145+ "log_stream_name": "/aws/ecs/container-instance/${Namespace}/{instance_id}/ecs-agent.log"
146+ },
147+ {
148+ "file_path": "/var/log/ecs/ecs-volume-plugin.log",
149+ "log_group_name": "/aws/ecs/container-instance/${Namespace}",
150+ "log_stream_name": "/aws/ecs/container-instance/${Namespace}/{instance_id}/ecs-volume-plugin.log"
151+ }
152+ ]
153+ }
154+ }
155+ }
156+ }
104157
105158 runcmd :
159+
160+ # start the amazon-cloudwatch-agent
161+ - /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:/opt/aws/amazon-cloudwatch-agent/etc/config.json
162+
106163 # install aws-cli v2 and copy the static binary in an easy to find location for bind-mounts into containers
107164 - curl -s "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "/tmp/awscliv2.zip"
108165 - unzip -q /tmp/awscliv2.zip -d /tmp
0 commit comments