sensu-plugins-aws 17.2.0 → 18.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b36dab6cf60e69799a81ab1c2230748ef5a37ce59b2a6502d88021f61b08ee5f
4
- data.tar.gz: 192ac2ab3a2c8d98a0c54999c3a68907b02435fec764469866f4c06bc0ea7df5
3
+ metadata.gz: 54838ff66b0e5849220a8b08d1b76ec644b68407eca3d01b6bff2831023ccd7f
4
+ data.tar.gz: f11e57b9e4a804fba44694711fc0985f18b00ba10e4350ed576b53490787f304
5
5
  SHA512:
6
- metadata.gz: 2d9d0d4047cc921381b7852a0863712f180f33ab58ee1ac2a06fc4f35e47312ac19e7a35abc5efe2f56ea70a5538e19901fade16b5bc2cd1c5fa3615170df516
7
- data.tar.gz: 84b1aa478dda231780147e703339f754f2483343c550966d97bf2d72f0e2f5edd0bd0809ad4a48c3c41d43437a7294d626716376e1c24a8b65f89c3837ca78f5
6
+ metadata.gz: 353c9b344ed3940c55144ab907b987fc7c446810199a0ec9656f557d44d2a362c706d60112822afdcea5b3459d0fc839155f021d7244169b83845f0c5df8f967
7
+ data.tar.gz: 1d4ca6e7c132ae96d80935babfb02e9f4016586d01359ebf8ee550c2fcd5eabd44fa43561aa2a4a6a134f2d317acc5585fc9ffd47d72b19a8c5646ea91905256
@@ -5,6 +5,16 @@ This CHANGELOG follows the format listed [here](https://github.com/sensu-plugins
5
5
 
6
6
  ## [Unreleased]
7
7
 
8
+ ## [18.1.0] - 2019-05-06
9
+ ### Added
10
+ - `check-ec2-cpu_balance.rb`: `--filter` option added to filter which instance to check. (@boutetnico)
11
+
12
+ ## [18.0.0] - 2019-04-2
13
+ ### Breaking Changes
14
+ - `check-alb-target-group-health.rb` will now alert if a n ALB has no health targets (@kunal-plivo)
15
+ - removed ruby `< 2.3` support (@majormoses)
16
+ - bump `sensu-plugin` dependency from `~> 2.0` to `~> 4.0` you can read the changelog entries for [4.0](https://github.com/sensu-plugins/sensu-plugin/blob/master/CHANGELOG.md#400---2018-02-17) and [3.0](https://github.com/sensu-plugins/sensu-plugin/blob/master/CHANGELOG.md#300---2018-12-04) (@majormoses)
17
+
8
18
  ## [17.2.0] - 2019-04-02
9
19
  ### Added
10
20
  - `check-rds-pending.rb`: adding option `--db-instance-identifier` to support checking only a single db instance for pending maintenance events, instead of all instances in a region. (@mattdoller)
@@ -564,7 +574,9 @@ WARNING: This release contains major breaking changes that will impact all user
564
574
  ### Added
565
575
  - initial release
566
576
 
567
- [Unreleased]: https://github.com/sensu-plugins/sensu-plugins-aws/compare/17.1.0...HEAD
577
+ [Unreleased]: https://github.com/sensu-plugins/sensu-plugins-aws/compare/18.1.0...HEAD
578
+ [18.1.0]: https://github.com/sensu-plugins/sensu-plugins-aws/compare/18.0.0...18.1.0
579
+ [18.0.0]: https://github.com/sensu-plugins/sensu-plugins-aws/compare/17.2.0...18.0.0
568
580
  [17.2.0]: https://github.com/sensu-plugins/sensu-plugins-aws/compare/17.1.0...17.2.0
569
581
  [17.1.0]: https://github.com/sensu-plugins/sensu-plugins-aws/compare/17.0.0...17.1.0
570
582
  [17.0.0]: https://github.com/sensu-plugins/sensu-plugins-aws/compare/16.2.0...17.0.0
@@ -68,9 +68,11 @@ class CheckALBTargetGroupHealth < Sensu::Plugin::Check::CLI
68
68
  target_groups.each do |target_group|
69
69
  health = alb.describe_target_health(target_group_arn: target_group.target_group_arn)
70
70
  unhealthy_targets = health.target_health_descriptions.select { |t| t.target_health.state == 'unhealthy' }.map { |t| t.target.id }
71
- unless unhealthy_targets.empty?
71
+ healthy_targets = health.target_health_descriptions.select { |t| t.target_health.state == 'healthy' }.map { |t| t.target.id }
72
+ if !unhealthy_targets.empty? || healthy_targets.empty?
72
73
  unhealthy_groups[target_group.target_group_name] = {
73
74
  unhealthy_targets: unhealthy_targets,
75
+ healthy_targets: healthy_targets,
74
76
  total_targets: health.target_health_descriptions.size
75
77
  }
76
78
  end
@@ -84,6 +86,8 @@ class CheckALBTargetGroupHealth < Sensu::Plugin::Check::CLI
84
86
  if !unhealthy_groups.empty?
85
87
  message = 'Unhealthy ALB target groups: '
86
88
  message += unhealthy_groups.map { |target_group, value| "#{target_group} - #{value[:unhealthy_targets].size}/#{value[:total_targets]} unhealthy targets: {#{value[:unhealthy_targets].join(', ')}}" }.join(', ')
89
+ message += ' : Healthy ALB target groups: '
90
+ message += unhealthy_groups.map { |target_group, value| "#{target_group} - #{value[:healthy_targets].size}/#{value[:total_targets]} healthy targets: {#{value[:healthy_targets].join(', ')}}" }.join(', ')
87
91
  if config[:crit]
88
92
  critical message
89
93
  else
@@ -19,6 +19,7 @@
19
19
  # ./check-ec2-cpu_balance -c 20
20
20
  # ./check-ec2-cpu_balance -w 25 -c 20
21
21
  # ./check-ec2-cpu_balance -c 20 -t 'Name'
22
+ # ./check-ec2-cpu_balance -c 20 -t 'Name' -F "{name:tag-value,values:[infrastructure]}"
22
23
  #
23
24
  # NOTES:
24
25
  #
@@ -31,9 +32,11 @@
31
32
  require 'sensu-plugins-aws'
32
33
  require 'sensu-plugin/check/cli'
33
34
  require 'aws-sdk'
35
+ require 'sensu-plugins-aws/filter'
34
36
 
35
37
  class EC2CpuBalance < Sensu::Plugin::Check::CLI
36
38
  include Common
39
+ include Filter
37
40
 
38
41
  option :critical,
39
42
  description: 'Trigger a critical when value is below VALUE',
@@ -66,6 +69,12 @@ class EC2CpuBalance < Sensu::Plugin::Check::CLI
66
69
  proc: proc { |x| x.split(',') },
67
70
  default: %w[t2 t3]
68
71
 
72
+ option :filter,
73
+ short: '-F FILTER',
74
+ long: '--filter FILTER',
75
+ description: 'String representation of the filter to apply',
76
+ default: '{}'
77
+
69
78
  def data(instance)
70
79
  client = Aws::CloudWatch::Client.new
71
80
  stats = 'Average'
@@ -94,14 +103,14 @@ class EC2CpuBalance < Sensu::Plugin::Check::CLI
94
103
  end
95
104
 
96
105
  def run
106
+ filters = Filter.parse(config[:filter])
107
+ filters.push(
108
+ name: 'instance-state-name',
109
+ values: ['running']
110
+ )
97
111
  ec2 = Aws::EC2::Client.new
98
112
  instances = ec2.describe_instances(
99
- filters: [
100
- {
101
- name: 'instance-state-name',
102
- values: ['running']
103
- }
104
- ]
113
+ filters: filters
105
114
  )
106
115
 
107
116
  messages = "\n"
@@ -1,7 +1,7 @@
1
1
  module SensuPluginsAWS
2
2
  module Version
3
- MAJOR = 17
4
- MINOR = 2
3
+ MAJOR = 18
4
+ MINOR = 1
5
5
  PATCH = 0
6
6
  VER_STRING = [MAJOR, MINOR, PATCH].compact.join('.')
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sensu-plugins-aws
3
3
  version: !ruby/object:Gem::Version
4
- version: 17.2.0
4
+ version: 18.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sensu-Plugins and contributors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-04-03 00:00:00.000000000 Z
11
+ date: 2019-05-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sensu-plugin
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '2.0'
19
+ version: '4.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '2.0'
26
+ version: '4.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: aws-sdk
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -417,7 +417,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
417
417
  requirements:
418
418
  - - ">="
419
419
  - !ruby/object:Gem::Version
420
- version: 2.1.0
420
+ version: 2.3.0
421
421
  required_rubygems_version: !ruby/object:Gem::Requirement
422
422
  requirements:
423
423
  - - ">="