cfn_monitor 0.2.0 → 0.3.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 466206e0f5cedb6a5006c98a0004ce27dddf0fe0d793ed1842e1ec3d11fb8382
4
- data.tar.gz: 72c10dbcead4deccf275f20609342474b37ae41c310643bc52d0340a0af67017
3
+ metadata.gz: f82fba1b0a02e6030b91b9edda8a57a64521771cec555774f454d5f744e7b90a
4
+ data.tar.gz: e5418101905069220eee2c3f2125be30a6082544bec2767297ef4e42b457a287
5
5
  SHA512:
6
- metadata.gz: a1622b83a7cdfbf96757582b130b7c04c2ce7789f8f9de4f04c0610e2ab59795c2207361f79f157777bf7d858f42018cdaf0f430b9bb05053888b5950118058c
7
- data.tar.gz: 9bd6dced53b3f49fa8516194a031239fe290bce680b3b59d9284a789e8509de2916c27988d830dc7b70038d561b0fa45402453e1258ebf138ce4235ee797affa
6
+ metadata.gz: '0186c8bc6f63540f48798cc32a1947bf36279226600ba758834155ba3a9e5ad574f4877972681d781969f10dab08aabb0dba2388d712d64ef7cabf79d6212ee7'
7
+ data.tar.gz: 00ac7ac7ceae22e0828ef760805799079a362f076e7f694ce097306a26e07f3b8a2c5f446e52b2bbebe7315b482e653abb9d666218f10e028cfc91d2429a0c8c
@@ -16,7 +16,21 @@ module CfnMonitor
16
16
  verbose_cfndsl = STDOUT
17
17
  end
18
18
 
19
- application = options['application'] || '.'
19
+ if options['application']
20
+ application = options['application']
21
+ custom_alarms_config_file = "#{application}/alarms.yml"
22
+ custom_templates_config_file = "#{application}/templates.yml"
23
+ output_path = "output/#{application}"
24
+ else
25
+ application = File.basename(Dir.getwd)
26
+ custom_alarms_config_file = "alarms.yml"
27
+ custom_templates_config_file = "templates.yml"
28
+ output_path = "output"
29
+ end
30
+
31
+ upload_path = "cloudformation/monitoring/#{application}"
32
+
33
+ application = File.basename(Dir.getwd)
20
34
 
21
35
  template_path = File.join(File.dirname(__FILE__),'../config/templates.yml')
22
36
  config_path = File.join(File.dirname(__FILE__),'../config/config.yml')
@@ -24,11 +38,6 @@ module CfnMonitor
24
38
  global_templates_config = YAML.load(File.read(template_path))
25
39
  config = YAML.load(File.read(config_path))
26
40
 
27
- custom_alarms_config_file = "#{application}/alarms.yml"
28
- custom_templates_config_file = "#{application}/templates.yml"
29
- output_path = "output/#{application}"
30
- upload_path = "cloudformation/monitoring/#{application}"
31
-
32
41
  # Load custom config files
33
42
  if File.file?(custom_alarms_config_file)
34
43
  custom_alarms_config = YAML.load(File.read(custom_alarms_config_file))
@@ -1,3 +1,3 @@
1
1
  module CfnMonitor
2
- VERSION = "0.2.0".freeze
2
+ VERSION = "0.3.0".freeze
3
3
  end
@@ -484,3 +484,98 @@ templates:
484
484
  Statistic: Sum
485
485
  Threshold: 80
486
486
  EvaluationPeriods: 2
487
+ ElasticLoadBalancerSingleInstance: # AWS::ElasticLoadBalancing::LoadBalancer
488
+ HealthyHosts:
489
+ AlarmActions: crit
490
+ Namespace: AWS/ELB
491
+ MetricName: HealthyHostCount
492
+ ComparisonOperator: LessThanThreshold
493
+ DimensionsName: LoadBalancerName
494
+ Statistic: Minimum
495
+ Threshold: 1
496
+ Threshold.development: 1
497
+ EvaluationPeriods: 1
498
+ TreatMissingData: notBreaching
499
+ UnHealthyHosts:
500
+ AlarmActions: warn
501
+ Namespace: AWS/ELB
502
+ MetricName: UnHealthyHostCount
503
+ ComparisonOperator: GreaterThanThreshold
504
+ DimensionsName: LoadBalancerName
505
+ Statistic: Maximum
506
+ Threshold: 0
507
+ EvaluationPeriods: 10
508
+ TreatMissingData: notBreaching
509
+ # Custom metric checks. The dimensions are configured in the CloudWatch agent's config on the instance.
510
+ DiskSpaceCheck:
511
+ CritLowDiskSpaceRootPath:
512
+ AlarmActions: crit
513
+ Namespace: CWAgent
514
+ ComparisonOperator: GreaterThanThreshold
515
+ Dimensions: [ { Name: 'path', Value: '/' }, { Name: 'host', Value: "${metric}" }, { Name: 'device', Value: 'xvda1' }, { Name: 'fstype', Value: 'ext4' } ]
516
+ Statistic: Maximum
517
+ Threshold: 85 # Percentage used
518
+ Period: 60
519
+ EvaluationPeriods: 1
520
+ MetricName: DiskSpaceUsedPercent
521
+ TreatMissingData: breaching
522
+
523
+ WarnLowDiskSpaceRootPath:
524
+ AlarmActions: warn
525
+ Namespace: CWAgent
526
+ ComparisonOperator: GreaterThanThreshold
527
+ Dimensions: [ { Name: 'path', Value: '/' }, { Name: 'host', Value: "${metric}" }, { Name: 'device', Value: 'xvda1' }, { Name: 'fstype', Value: 'ext4' } ]
528
+ Statistic: Maximum
529
+ Threshold: 75 # Percentage used
530
+ Period: 60
531
+ EvaluationPeriods: 1
532
+ MetricName: DiskSpaceUsedPercent
533
+ TreatMissingData: breaching
534
+
535
+ CritLowDiskSpaceDataPath:
536
+ AlarmActions: crit
537
+ Namespace: CWAgent
538
+ ComparisonOperator: GreaterThanThreshold
539
+ Dimensions: [ { Name: 'path', Value: '/data' }, { Name: 'host', Value: "${metric}" }, { Name: 'device', Value: 'xvdf' }, { Name: 'fstype', Value: 'ext4' } ]
540
+ Statistic: Maximum
541
+ Threshold: 85 # Percentage used
542
+ Period: 60
543
+ EvaluationPeriods: 1
544
+ MetricName: DiskSpaceUsedPercent
545
+ TreatMissingData: breaching
546
+
547
+ WarnLowDiskSpaceDataPath:
548
+ AlarmActions: warn
549
+ Namespace: CWAgent
550
+ ComparisonOperator: GreaterThanThreshold
551
+ Dimensions: [ { Name: 'path', Value: '/data' }, { Name: 'host', Value: "${metric}" }, { Name: 'device', Value: 'xvdf' }, { Name: 'fstype', Value: 'ext4' } ]
552
+ Statistic: Maximum
553
+ Threshold: 75 # Percentage used
554
+ Period: 60
555
+ EvaluationPeriods: 1
556
+ MetricName: DiskSpaceUsedPercent
557
+ TreatMissingData: breaching
558
+
559
+ CritLowDiskSpaceDockerPath:
560
+ AlarmActions: crit
561
+ Namespace: CWAgent
562
+ ComparisonOperator: GreaterThanThreshold
563
+ Dimensions: [ { Name: 'path', Value: '/var/lib/docker' }, { Name: 'host', Value: "${metric}" }, { Name: 'device', Value: 'xvdcz' }, { Name: 'fstype', Value: 'ext4' } ]
564
+ Statistic: Maximum
565
+ Threshold: 85 # Percentage used
566
+ Period: 60
567
+ EvaluationPeriods: 1
568
+ MetricName: DiskSpaceUsedPercent
569
+ TreatMissingData: breaching
570
+
571
+ WarnLowDiskSpaceDockerPath:
572
+ AlarmActions: warn
573
+ Namespace: CWAgent
574
+ ComparisonOperator: GreaterThanThreshold
575
+ Dimensions: [ { Name: 'path', Value: '/var/lib/docker' }, { Name: 'host', Value: "${metric}" }, { Name: 'device', Value: 'xvdcz' }, { Name: 'fstype', Value: 'ext4' } ]
576
+ Statistic: Maximum
577
+ Threshold: 75 # Percentage used
578
+ Period: 60
579
+ EvaluationPeriods: 1
580
+ MetricName: DiskSpaceUsedPercent
581
+ TreatMissingData: breaching
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.2.0
4
+ version: 0.3.0
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-01-21 00:00:00.000000000 Z
13
+ date: 2019-02-10 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: thor