cfn_monitor 0.3.0 → 0.3.1
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/Gemfile.lock +65 -0
- data/cfn_monitor.gemspec +1 -1
- data/lib/cfn_monitor/version.rb +1 -1
- data/lib/config/config.yml +2 -1
- data/lib/config/templates.yml +63 -5
- data/lib/templates/alarms.rb +8 -2
- data/lib/templates/master.rb +4 -0
- data/lib/templates/resources.rb +4 -0
- metadata +6 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5eb7a9ec110ec59c924741f75f73f51fe4adcfd8e721607f25161c4591173dbc
|
|
4
|
+
data.tar.gz: a75e7a68d8be164a3792d1588fe12b707be29df411986ea929fca972b5e10032
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f9ba5341adf013866a399c30ab6279b54a2c0007796c927f45a3643d245b7de985312c32bec7c34388ed521a5f9031314e669b6dac2c294d9f5d8714ae398a69
|
|
7
|
+
data.tar.gz: 3debd964f85d66c8f80c1046b266aca364793eeb8e997b0d2c7b7d50ea819da3ed4804ca5c4e1bcc6b65e1c3b0c28444ec0dc719c9f8e033a482e2f241884fbf
|
data/Gemfile.lock
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
PATH
|
|
2
|
+
remote: .
|
|
3
|
+
specs:
|
|
4
|
+
cfn_monitor (0.3.1)
|
|
5
|
+
aws-sdk-cloudformation (~> 1, < 2)
|
|
6
|
+
aws-sdk-elasticloadbalancingv2 (~> 1, < 2)
|
|
7
|
+
aws-sdk-s3 (~> 1, < 2)
|
|
8
|
+
cfndsl (~> 0.16)
|
|
9
|
+
thor (~> 0.19)
|
|
10
|
+
|
|
11
|
+
GEM
|
|
12
|
+
remote: https://rubygems.org/
|
|
13
|
+
specs:
|
|
14
|
+
aws-eventstream (1.0.2)
|
|
15
|
+
aws-partitions (1.147.0)
|
|
16
|
+
aws-sdk-cloudformation (1.18.0)
|
|
17
|
+
aws-sdk-core (~> 3, >= 3.48.2)
|
|
18
|
+
aws-sigv4 (~> 1.1)
|
|
19
|
+
aws-sdk-core (3.48.3)
|
|
20
|
+
aws-eventstream (~> 1.0, >= 1.0.2)
|
|
21
|
+
aws-partitions (~> 1.0)
|
|
22
|
+
aws-sigv4 (~> 1.1)
|
|
23
|
+
jmespath (~> 1.0)
|
|
24
|
+
aws-sdk-elasticloadbalancingv2 (1.26.0)
|
|
25
|
+
aws-sdk-core (~> 3, >= 3.48.2)
|
|
26
|
+
aws-sigv4 (~> 1.1)
|
|
27
|
+
aws-sdk-kms (1.16.0)
|
|
28
|
+
aws-sdk-core (~> 3, >= 3.48.2)
|
|
29
|
+
aws-sigv4 (~> 1.1)
|
|
30
|
+
aws-sdk-s3 (1.36.0)
|
|
31
|
+
aws-sdk-core (~> 3, >= 3.48.2)
|
|
32
|
+
aws-sdk-kms (~> 1)
|
|
33
|
+
aws-sigv4 (~> 1.0)
|
|
34
|
+
aws-sigv4 (1.1.0)
|
|
35
|
+
aws-eventstream (~> 1.0, >= 1.0.2)
|
|
36
|
+
cfndsl (0.16.13)
|
|
37
|
+
diff-lcs (1.3)
|
|
38
|
+
jmespath (1.4.0)
|
|
39
|
+
rake (10.5.0)
|
|
40
|
+
rspec (0.9.4)
|
|
41
|
+
rspec-core (3.8.0)
|
|
42
|
+
rspec-support (~> 3.8.0)
|
|
43
|
+
rspec-expectations (3.8.2)
|
|
44
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
45
|
+
rspec-support (~> 3.8.0)
|
|
46
|
+
rspec-mocks (3.8.0)
|
|
47
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
48
|
+
rspec-support (~> 3.8.0)
|
|
49
|
+
rspec-support (3.8.0)
|
|
50
|
+
thor (0.20.3)
|
|
51
|
+
|
|
52
|
+
PLATFORMS
|
|
53
|
+
ruby
|
|
54
|
+
|
|
55
|
+
DEPENDENCIES
|
|
56
|
+
bundler (~> 2)
|
|
57
|
+
cfn_monitor!
|
|
58
|
+
rake (~> 10.0)
|
|
59
|
+
rspec (~> 0.9)
|
|
60
|
+
rspec-core (~> 3.8)
|
|
61
|
+
rspec-expectations (~> 3.8)
|
|
62
|
+
rspec-mocks (~> 3.8)
|
|
63
|
+
|
|
64
|
+
BUNDLED WITH
|
|
65
|
+
2.0.1
|
data/cfn_monitor.gemspec
CHANGED
|
@@ -30,7 +30,7 @@ Gem::Specification.new do |spec|
|
|
|
30
30
|
spec.add_dependency "aws-sdk-s3", "~> 1", "<2"
|
|
31
31
|
spec.add_dependency "aws-sdk-elasticloadbalancingv2", "~> 1", "<2"
|
|
32
32
|
|
|
33
|
-
spec.add_development_dependency "bundler", "~>
|
|
33
|
+
spec.add_development_dependency "bundler", "~> 2"
|
|
34
34
|
spec.add_development_dependency "rake", "~> 10.0"
|
|
35
35
|
spec.add_development_dependency "rspec", "~> 0.9"
|
|
36
36
|
spec.add_development_dependency "rspec-core", "~> 3.8"
|
data/lib/cfn_monitor/version.rb
CHANGED
data/lib/config/config.yml
CHANGED
data/lib/config/templates.yml
CHANGED
|
@@ -484,6 +484,24 @@ templates:
|
|
|
484
484
|
Statistic: Sum
|
|
485
485
|
Threshold: 80
|
|
486
486
|
EvaluationPeriods: 2
|
|
487
|
+
DynamoDBReadThrottleEvents:
|
|
488
|
+
AlarmActions: warn
|
|
489
|
+
Namespace: AWS/DynamoDB
|
|
490
|
+
MetricName: ReadThrottleEvents
|
|
491
|
+
ComparisonOperator: GreaterThanOrEqualToThreshold
|
|
492
|
+
DimensionsName: TableName
|
|
493
|
+
Statistic: Sum
|
|
494
|
+
Threshold: 1
|
|
495
|
+
EvaluationPeriods: 2
|
|
496
|
+
DynamoDBWriteThrottleEvents:
|
|
497
|
+
AlarmActions: warn
|
|
498
|
+
Namespace: AWS/DynamoDB
|
|
499
|
+
MetricName: WriteThrottleEvents
|
|
500
|
+
ComparisonOperator: GreaterThanOrEqualToThreshold
|
|
501
|
+
DimensionsName: TableName
|
|
502
|
+
Statistic: Sum
|
|
503
|
+
Threshold: 1
|
|
504
|
+
EvaluationPeriods: 2
|
|
487
505
|
ElasticLoadBalancerSingleInstance: # AWS::ElasticLoadBalancing::LoadBalancer
|
|
488
506
|
HealthyHosts:
|
|
489
507
|
AlarmActions: crit
|
|
@@ -506,6 +524,7 @@ templates:
|
|
|
506
524
|
Threshold: 0
|
|
507
525
|
EvaluationPeriods: 10
|
|
508
526
|
TreatMissingData: notBreaching
|
|
527
|
+
|
|
509
528
|
# Custom metric checks. The dimensions are configured in the CloudWatch agent's config on the instance.
|
|
510
529
|
DiskSpaceCheck:
|
|
511
530
|
CritLowDiskSpaceRootPath:
|
|
@@ -519,7 +538,6 @@ templates:
|
|
|
519
538
|
EvaluationPeriods: 1
|
|
520
539
|
MetricName: DiskSpaceUsedPercent
|
|
521
540
|
TreatMissingData: breaching
|
|
522
|
-
|
|
523
541
|
WarnLowDiskSpaceRootPath:
|
|
524
542
|
AlarmActions: warn
|
|
525
543
|
Namespace: CWAgent
|
|
@@ -531,7 +549,6 @@ templates:
|
|
|
531
549
|
EvaluationPeriods: 1
|
|
532
550
|
MetricName: DiskSpaceUsedPercent
|
|
533
551
|
TreatMissingData: breaching
|
|
534
|
-
|
|
535
552
|
CritLowDiskSpaceDataPath:
|
|
536
553
|
AlarmActions: crit
|
|
537
554
|
Namespace: CWAgent
|
|
@@ -543,7 +560,6 @@ templates:
|
|
|
543
560
|
EvaluationPeriods: 1
|
|
544
561
|
MetricName: DiskSpaceUsedPercent
|
|
545
562
|
TreatMissingData: breaching
|
|
546
|
-
|
|
547
563
|
WarnLowDiskSpaceDataPath:
|
|
548
564
|
AlarmActions: warn
|
|
549
565
|
Namespace: CWAgent
|
|
@@ -555,7 +571,6 @@ templates:
|
|
|
555
571
|
EvaluationPeriods: 1
|
|
556
572
|
MetricName: DiskSpaceUsedPercent
|
|
557
573
|
TreatMissingData: breaching
|
|
558
|
-
|
|
559
574
|
CritLowDiskSpaceDockerPath:
|
|
560
575
|
AlarmActions: crit
|
|
561
576
|
Namespace: CWAgent
|
|
@@ -567,7 +582,6 @@ templates:
|
|
|
567
582
|
EvaluationPeriods: 1
|
|
568
583
|
MetricName: DiskSpaceUsedPercent
|
|
569
584
|
TreatMissingData: breaching
|
|
570
|
-
|
|
571
585
|
WarnLowDiskSpaceDockerPath:
|
|
572
586
|
AlarmActions: warn
|
|
573
587
|
Namespace: CWAgent
|
|
@@ -579,3 +593,47 @@ templates:
|
|
|
579
593
|
EvaluationPeriods: 1
|
|
580
594
|
MetricName: DiskSpaceUsedPercent
|
|
581
595
|
TreatMissingData: breaching
|
|
596
|
+
|
|
597
|
+
AmazonMQBroker: # AWS::AmazonMQ::Broker
|
|
598
|
+
CpuCreditBalanceCrit:
|
|
599
|
+
AlarmActions: crit
|
|
600
|
+
Namespace: AWS/AmazonMQ
|
|
601
|
+
MetricName: CpuCreditBalance
|
|
602
|
+
ComparisonOperator: LessThanThreshold
|
|
603
|
+
Dimensions: [ { Name: 'Broker', Value: "${metric}" } ]
|
|
604
|
+
Statistic: Minimum
|
|
605
|
+
Threshold: 15
|
|
606
|
+
EvaluationPeriods: 1
|
|
607
|
+
TreatMissingData: notBreaching
|
|
608
|
+
CpuCreditBalanceWarn:
|
|
609
|
+
AlarmActions: warn
|
|
610
|
+
Namespace: AWS/AmazonMQ
|
|
611
|
+
MetricName: CpuCreditBalance
|
|
612
|
+
ComparisonOperator: LessThanThreshold
|
|
613
|
+
Dimensions: [ { Name: 'Broker', Value: "${metric}" } ]
|
|
614
|
+
Statistic: Minimum
|
|
615
|
+
Threshold: 30
|
|
616
|
+
EvaluationPeriods: 1
|
|
617
|
+
TreatMissingData: notBreaching
|
|
618
|
+
CpuUtilizationCrit:
|
|
619
|
+
AlarmActions: crit
|
|
620
|
+
Namespace: AWS/AmazonMQ
|
|
621
|
+
MetricName: CpuUtilization
|
|
622
|
+
ComparisonOperator: GreaterThanThreshold
|
|
623
|
+
Dimensions: [ { Name: 'Broker', Value: "${metric}" } ]
|
|
624
|
+
Statistic: Maximum
|
|
625
|
+
Threshold: 95
|
|
626
|
+
Period: 60
|
|
627
|
+
EvaluationPeriods: 3
|
|
628
|
+
TreatMissingData: notBreaching
|
|
629
|
+
CpuUtilizationWarn:
|
|
630
|
+
AlarmActions: warn
|
|
631
|
+
Namespace: AWS/AmazonMQ
|
|
632
|
+
MetricName: CpuUtilization
|
|
633
|
+
ComparisonOperator: GreaterThanThreshold
|
|
634
|
+
Dimensions: [ { Name: 'Broker', Value: "${metric}" } ]
|
|
635
|
+
Statistic: Maximum
|
|
636
|
+
Threshold: 80
|
|
637
|
+
Period: 60
|
|
638
|
+
EvaluationPeriods: 3
|
|
639
|
+
TreatMissingData: notBreaching
|
data/lib/templates/alarms.rb
CHANGED
|
@@ -16,6 +16,9 @@ CloudFormation do
|
|
|
16
16
|
Parameter("SnsTopicTask"){
|
|
17
17
|
Type 'String'
|
|
18
18
|
}
|
|
19
|
+
Parameter("SnsTopicInfo"){
|
|
20
|
+
Type 'String'
|
|
21
|
+
}
|
|
19
22
|
Parameter("MonitoringDisabled"){
|
|
20
23
|
Type 'String'
|
|
21
24
|
}
|
|
@@ -30,11 +33,13 @@ CloudFormation do
|
|
|
30
33
|
Condition('CritSNS', FnNot(FnEquals(Ref("SnsTopicCrit"),'')))
|
|
31
34
|
Condition('WarnSNS', FnNot(FnEquals(Ref("SnsTopicWarn"),'')))
|
|
32
35
|
Condition('TaskSNS', FnNot(FnEquals(Ref("SnsTopicTask"),'')))
|
|
36
|
+
Condition('InfoSNS', FnNot(FnEquals(Ref("SnsTopicInfo"),'')))
|
|
33
37
|
|
|
34
38
|
actionsEnabledMap = {
|
|
35
39
|
crit: FnIf('CritSNS',[ Ref('SnsTopicCrit') ], [ ]),
|
|
36
40
|
warn: FnIf('WarnSNS',[ Ref('SnsTopicWarn') ], [ ]),
|
|
37
|
-
task: FnIf('TaskSNS',[ Ref('SnsTopicTask') ], [ ])
|
|
41
|
+
task: FnIf('TaskSNS',[ Ref('SnsTopicTask') ], [ ]),
|
|
42
|
+
info: FnIf('InfoSNS',[ Ref('SnsTopicInfo') ], [ ]),
|
|
38
43
|
}
|
|
39
44
|
|
|
40
45
|
alarms.each do |alarm|
|
|
@@ -162,12 +167,13 @@ CloudFormation do
|
|
|
162
167
|
Property('EvaluateLowSampleCountPercentile', params['EvaluateLowSampleCountPercentile']) unless params['EvaluateLowSampleCountPercentile'].nil?
|
|
163
168
|
Property('EvaluationPeriods', FnFindInMap("#{alarmHash}",'EvaluationPeriods',Ref('EnvironmentType')))
|
|
164
169
|
Property('ExtendedStatistic', params['ExtendedStatistic']) unless params['ExtendedStatistic'].nil?
|
|
170
|
+
Property('DatapointsToAlarm', params['DatapointsToAlarm']) unless params['DatapointsToAlarm'].nil?
|
|
165
171
|
Property('InsufficientDataActions', insufficientDataActions)
|
|
166
172
|
Property('MetricName', FnFindInMap("#{alarmHash}",'MetricName',Ref('EnvironmentType')))
|
|
167
173
|
Property('Namespace', FnFindInMap("#{alarmHash}",'Namespace',Ref('EnvironmentType')))
|
|
168
174
|
Property('OKActions', oKActions)
|
|
169
175
|
Property('Period', FnFindInMap("#{alarmHash}",'Period',Ref('EnvironmentType')))
|
|
170
|
-
Property('Statistic', FnFindInMap("#{alarmHash}",'Statistic',Ref('EnvironmentType')))
|
|
176
|
+
Property('Statistic', FnFindInMap("#{alarmHash}",'Statistic',Ref('EnvironmentType'))) unless !params['ExtendedStatistic'].nil?
|
|
171
177
|
Property('Threshold', FnFindInMap("#{alarmHash}",'Threshold',Ref('EnvironmentType')))
|
|
172
178
|
Property('TreatMissingData',FnFindInMap("#{alarmHash}",'TreatMissingData',Ref('EnvironmentType')))
|
|
173
179
|
Property('Unit', params['Unit']) unless params['Unit'].nil?
|
data/lib/templates/master.rb
CHANGED
|
@@ -19,6 +19,9 @@ CloudFormation do
|
|
|
19
19
|
Parameter("SnsTopicTask"){
|
|
20
20
|
Type 'String'
|
|
21
21
|
}
|
|
22
|
+
Parameter("SnsTopicInfo"){
|
|
23
|
+
Type 'String'
|
|
24
|
+
}
|
|
22
25
|
Parameter("MonitoringDisabled"){
|
|
23
26
|
Type 'String'
|
|
24
27
|
Default false
|
|
@@ -228,6 +231,7 @@ CloudFormation do
|
|
|
228
231
|
SnsTopicCrit: Ref('SnsTopicCrit'),
|
|
229
232
|
SnsTopicWarn: Ref('SnsTopicWarn'),
|
|
230
233
|
SnsTopicTask: Ref('SnsTopicTask'),
|
|
234
|
+
SnsTopicInfo: Ref('SnsTopicInfo'),
|
|
231
235
|
MonitoringDisabled: Ref('MonitoringDisabled'),
|
|
232
236
|
EnvironmentType: Ref('EnvironmentType'),
|
|
233
237
|
GetPhysicalIdFunctionArn: FnGetAtt('GetPhysicalIdFunction','Arn'),
|
data/lib/templates/resources.rb
CHANGED
|
@@ -15,6 +15,9 @@ CloudFormation do
|
|
|
15
15
|
Parameter("SnsTopicTask"){
|
|
16
16
|
Type 'String'
|
|
17
17
|
}
|
|
18
|
+
Parameter("SnsTopicInfo"){
|
|
19
|
+
Type 'String'
|
|
20
|
+
}
|
|
18
21
|
Parameter("MonitoringDisabled"){
|
|
19
22
|
Type 'String'
|
|
20
23
|
}
|
|
@@ -66,6 +69,7 @@ CloudFormation do
|
|
|
66
69
|
SnsTopicCrit: Ref('SnsTopicCrit'),
|
|
67
70
|
SnsTopicWarn: Ref('SnsTopicWarn'),
|
|
68
71
|
SnsTopicTask: Ref('SnsTopicTask'),
|
|
72
|
+
SnsTopicInfo: Ref('SnsTopicInfo'),
|
|
69
73
|
MonitoringDisabled: Ref('MonitoringDisabled'),
|
|
70
74
|
EnvironmentType: Ref('EnvironmentType'),
|
|
71
75
|
EnvironmentName: Ref('EnvironmentName')
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: cfn_monitor
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.3.
|
|
4
|
+
version: 0.3.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Base2Services
|
|
@@ -10,7 +10,7 @@ authors:
|
|
|
10
10
|
autorequire:
|
|
11
11
|
bindir: exe
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date: 2019-
|
|
13
|
+
date: 2019-03-28 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: thor
|
|
@@ -106,14 +106,14 @@ dependencies:
|
|
|
106
106
|
requirements:
|
|
107
107
|
- - "~>"
|
|
108
108
|
- !ruby/object:Gem::Version
|
|
109
|
-
version: '
|
|
109
|
+
version: '2'
|
|
110
110
|
type: :development
|
|
111
111
|
prerelease: false
|
|
112
112
|
version_requirements: !ruby/object:Gem::Requirement
|
|
113
113
|
requirements:
|
|
114
114
|
- - "~>"
|
|
115
115
|
- !ruby/object:Gem::Version
|
|
116
|
-
version: '
|
|
116
|
+
version: '2'
|
|
117
117
|
- !ruby/object:Gem::Dependency
|
|
118
118
|
name: rake
|
|
119
119
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -201,6 +201,7 @@ files:
|
|
|
201
201
|
- ".travis.yml"
|
|
202
202
|
- Dockerfile
|
|
203
203
|
- Gemfile
|
|
204
|
+
- Gemfile.lock
|
|
204
205
|
- LICENSE.txt
|
|
205
206
|
- README.md
|
|
206
207
|
- Rakefile
|
|
@@ -246,7 +247,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
246
247
|
- !ruby/object:Gem::Version
|
|
247
248
|
version: '0'
|
|
248
249
|
requirements: []
|
|
249
|
-
rubygems_version: 3.0.
|
|
250
|
+
rubygems_version: 3.0.3
|
|
250
251
|
signing_key:
|
|
251
252
|
specification_version: 4
|
|
252
253
|
summary: Configure and generate a cloudwatch monitoring cloudformation stack
|