ciinabox-ecs 0.2.14.alpha.1545258054 → 0.2.14.alpha.1565134498
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|