ciinabox-ecs 0.2.14.alpha.1545258054 → 0.2.14.alpha.1565134498
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/config/default_params.yml +2 -0
- data/config/files/amazon-cloudwatch-agent.json +55 -0
- data/templates/ecs-cluster.rb +17 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e880b7dba8c1467738c20447f2c674653a5c07fba682096bb1b4a88c0ad0fc20
|
4
|
+
data.tar.gz: 0ef6400c28bf7ac39c28097397b43258c6b17dc27142e2a69a285119f94dff5e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 324fedec1ea455468cdf7129b9863911790ebc73fb3d7abc1bccd99032158326da723dd23233bb6dbf2939c3df04db8b1877664217cdba89dbf5dd8da01ac661
|
7
|
+
data.tar.gz: e611e774cce5d858f740917666e1f6694811e49effd4f9659f3b6c77f60ed911ec230475bf8ed4d61aa716541c60aaaffbf45afc590c21eccc3382fbf4352dc8
|
data/config/default_params.yml
CHANGED
@@ -174,6 +174,8 @@ data_volume_retain_daily_backups: 7
|
|
174
174
|
data_volume_retain_weekly_backups: 4
|
175
175
|
data_volume_reatin_monthly_backups: 12
|
176
176
|
|
177
|
+
# Install the CloudWatch agent and configure it to push metrics (disk, memory)
|
178
|
+
enable_cloudwatch_agent: false
|
177
179
|
|
178
180
|
ecs_iam_role_permissions_default:
|
179
181
|
- name: assume-role
|
@@ -0,0 +1,55 @@
|
|
1
|
+
{
|
2
|
+
"agent": {
|
3
|
+
"metrics_collection_interval": 60,
|
4
|
+
"logfile": "/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log",
|
5
|
+
"debug": false
|
6
|
+
},
|
7
|
+
"metrics": {
|
8
|
+
"metrics_collected": {
|
9
|
+
"disk": {
|
10
|
+
"resources": [
|
11
|
+
"/",
|
12
|
+
"/data",
|
13
|
+
"/var/lib/docker"
|
14
|
+
],
|
15
|
+
"measurement": [
|
16
|
+
{
|
17
|
+
"name": "used_percent",
|
18
|
+
"rename": "DiskSpaceUsedPercent"
|
19
|
+
},
|
20
|
+
{
|
21
|
+
"name": "inodes_used",
|
22
|
+
"rename": "INodesUsedCount"
|
23
|
+
},
|
24
|
+
{
|
25
|
+
"name": "inodes_total",
|
26
|
+
"rename": "INodesTotalCount"
|
27
|
+
}
|
28
|
+
]
|
29
|
+
},
|
30
|
+
"mem": {
|
31
|
+
"measurement": [
|
32
|
+
{
|
33
|
+
"name": "used_percent",
|
34
|
+
"rename": "MemoryUsedPercent"
|
35
|
+
}
|
36
|
+
]
|
37
|
+
}
|
38
|
+
}
|
39
|
+
},
|
40
|
+
"logs": {
|
41
|
+
"logs_collected": {
|
42
|
+
"files": {
|
43
|
+
"collect_list": [
|
44
|
+
{
|
45
|
+
"file_path": "/var/log/cloud-init-output.log",
|
46
|
+
"log_group_name": "/aws/cloudwatch-agent/ciinabox-ecs-xx",
|
47
|
+
"log_stream_name": "cloud-init-output.log-{instance_id}",
|
48
|
+
"timezone": "UTC"
|
49
|
+
}
|
50
|
+
]
|
51
|
+
}
|
52
|
+
}
|
53
|
+
}
|
54
|
+
}
|
55
|
+
|
data/templates/ecs-cluster.rb
CHANGED
@@ -140,6 +140,19 @@ CloudFormation {
|
|
140
140
|
"echo \"#{proxy_config}\" >> /opt/proxy/proxy_config.conf\n"
|
141
141
|
end
|
142
142
|
|
143
|
+
enable_cloudwatch_agent_userdata = []
|
144
|
+
if defined? enable_cloudwatch_agent and enable_cloudwatch_agent
|
145
|
+
enable_cloudwatch_agent_userdata = [
|
146
|
+
"mkdir -p /opt/aws/amazon-cloudwatch-agent/etc/\n",
|
147
|
+
"echo '#{File.open('config/files/amazon-cloudwatch-agent.json').read()}' > /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json\n",
|
148
|
+
"wget https://s3.amazonaws.com/amazoncloudwatch-agent/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm\n",
|
149
|
+
"echo 'Installing CloudWatch agent...'\n",
|
150
|
+
"rpm -U amazon-cloudwatch-agent.rpm\n",
|
151
|
+
"/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json -s\n"]
|
152
|
+
end
|
153
|
+
|
154
|
+
|
155
|
+
|
143
156
|
ecs_allow_sg_ingress = [
|
144
157
|
{ IpProtocol: 'tcp', FromPort: '32768', ToPort: '65535', CidrIp: FnJoin( "", [ FnFindInMap('EnvironmentType','ciinabox','NetworkPrefix'),".", FnFindInMap('EnvironmentType','ciinabox','StackOctet'), ".0.0/",FnFindInMap('EnvironmentType','ciinabox','StackMask') ] ) },
|
145
158
|
]
|
@@ -171,8 +184,10 @@ CloudFormation {
|
|
171
184
|
UserData FnBase64(FnJoin("", [
|
172
185
|
"#!/bin/bash\n",
|
173
186
|
"echo ECS_CLUSTER=", Ref('ECSCluster'), " >> /etc/ecs/ecs.config\n",
|
187
|
+
"echo ECS_ENABLE_TASK_CPU_MEM_LIMIT=false >> /etc/ecs/ecs.config\n",
|
174
188
|
"INSTANCE_ID=$(echo `/opt/aws/bin/ec2-metadata -i | cut -f2 -d:`)\n",
|
175
189
|
"PRIVATE_IP=`/opt/aws/bin/ec2-metadata -o | cut -f2 -d: | cut -f2 -d-`\n",
|
190
|
+
"hostname ciinabox-ecs-xx\n",
|
176
191
|
"#{proxy_config_userdata}",
|
177
192
|
"yum install -y python-pip\n",
|
178
193
|
"python-pip install --upgrade awscli\n",
|
@@ -184,14 +199,15 @@ CloudFormation {
|
|
184
199
|
"mkdir -p /data\n",
|
185
200
|
"mount /data && echo \"ECS Data volume already formatted\" || mkfs -t ext4 /dev/xvdf\n",
|
186
201
|
"mount -a && echo 'mounting ECS Data volume' || echo 'failed to mount ECS Data volume'\n",
|
187
|
-
"#{user_data_init_devices}",
|
188
202
|
"export BOOTSTRAP=/data/bootstrap \n",
|
189
203
|
"if [ ! -e \"$BOOTSTRAP\" ]; then echo \"boostrapping\"; chmod -R 777 /data; mkdir -p /data/jenkins; chown -R 1000:1000 /data/jenkins; touch $BOOTSTRAP; fi \n",
|
190
204
|
"ifconfig eth0 mtu 1500\n",
|
191
205
|
"curl https://amazon-ssm-", Ref("AWS::Region"), ".s3.amazonaws.com/latest/linux_amd64/amazon-ssm-agent.rpm -o /tmp/amazon-ssm-agent.rpm\n",
|
192
206
|
"yum install -y /tmp/amazon-ssm-agent.rpm\n",
|
207
|
+
*enable_cloudwatch_agent_userdata,
|
193
208
|
"stop ecs\n",
|
194
209
|
"service docker stop\n",
|
210
|
+
"#{user_data_init_devices}",
|
195
211
|
"service docker start\n",
|
196
212
|
"start ecs\n",
|
197
213
|
"echo 'done!!!!'\n"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ciinabox-ecs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.14.alpha.
|
4
|
+
version: 0.2.14.alpha.1565134498
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Base2Services
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-08-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -127,6 +127,7 @@ files:
|
|
127
127
|
- config/default_params.yml
|
128
128
|
- config/default_params.yml.example
|
129
129
|
- config/default_services.yml
|
130
|
+
- config/files/amazon-cloudwatch-agent.json
|
130
131
|
- ext/common_helper.rb
|
131
132
|
- ext/config/managed_policies.yml
|
132
133
|
- ext/helper.rb
|
@@ -167,7 +168,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
167
168
|
- !ruby/object:Gem::Version
|
168
169
|
version: 1.3.1
|
169
170
|
requirements: []
|
170
|
-
rubygems_version: 3.0.
|
171
|
+
rubygems_version: 3.0.4
|
171
172
|
signing_key:
|
172
173
|
specification_version: 4
|
173
174
|
summary: Manage ciinabox on Aws Ecs
|