sensu-plugins-aws-boutetnico 1.2.0 → 1.3.4
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 +5 -5
- data/README.md +0 -1
- data/bin/check-expiring-reservations.rb +0 -0
- data/bin/metrics-cloudwatch-ebs.rb +0 -0
- data/bin/metrics-cloudwatch-ec2.rb +0 -0
- data/bin/metrics-cloudwatch-ses.rb +0 -0
- data/bin/metrics-reservation-utilization.rb +0 -0
- data/bin/metrics-savings-plans-utilization.rb +96 -0
- data/bin/metrics-ses-usage.rb +0 -0
- data/lib/sensu-plugins-aws/version.rb +2 -2
- metadata +76 -74
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: fe094383d830db96850748921c9254b10ee8a42e
|
4
|
+
data.tar.gz: 871bbc246d176877295c8dd26b771d2558b4595f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 23fd3ad60e3e4df3fc498f2cf217619f8d8f46851ce8d6536084c82c9c5c45608cfb4352d3a5a429a6c3d1e41b41dcaa62d348f48862ff9f5b6b380ffc997c7f
|
7
|
+
data.tar.gz: 21359c746241a7c7084c4d00aff7faf1fa7364f2450ed24ec0cd0302ebca2e8eb7af62130e62c0d940c8b10ec0a5762660039c257af924e0a61dbd633df635be
|
data/README.md
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
## Sensu-Plugins-aws
|
2
2
|
|
3
|
-
[](https://travis-ci.org/boutetnico/sensu-plugins-aws)
|
4
3
|
[](https://badge.fury.io/rb/sensu-plugins-aws-boutetnico.svg)
|
5
4
|
[](https://bonsai.sensu.io/assets/boutetnico/sensu-plugins-aws)
|
6
5
|
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,96 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
2
|
+
#
|
3
|
+
# savings-plans-utilization
|
4
|
+
#
|
5
|
+
# DESCRIPTION:
|
6
|
+
# Gets Savings Plans Utilization of an AWS account.
|
7
|
+
#
|
8
|
+
# OUTPUT:
|
9
|
+
# metric-data
|
10
|
+
#
|
11
|
+
# PLATFORMS:
|
12
|
+
# Linux
|
13
|
+
#
|
14
|
+
# DEPENDENCIES:
|
15
|
+
# gem: aws-sdk
|
16
|
+
# gem: sensu-plugin
|
17
|
+
# gem: sensu-plugins-aws
|
18
|
+
#
|
19
|
+
# USAGE:
|
20
|
+
# metrics-savings-plans-utilization.rb
|
21
|
+
#
|
22
|
+
# NOTES:
|
23
|
+
#
|
24
|
+
# LICENSE:
|
25
|
+
# Copyright (c) 2020, Nicolas Boutet amd3002@gmail.com
|
26
|
+
# Released under the same terms as Sensu (the MIT license); see LICENSE
|
27
|
+
# for details.
|
28
|
+
#
|
29
|
+
|
30
|
+
require 'sensu-plugin/metric/cli'
|
31
|
+
require 'aws-sdk'
|
32
|
+
require 'sensu-plugins-aws'
|
33
|
+
|
34
|
+
class SavingsPlansUtilizationMetrics < Sensu::Plugin::Metric::CLI::Graphite
|
35
|
+
include Common
|
36
|
+
|
37
|
+
option :from,
|
38
|
+
short: '-f TIME',
|
39
|
+
long: '--from TIME',
|
40
|
+
default: Time.now - 2 * 86_400, # start date cannot be after 2 days ago
|
41
|
+
proc: proc { |a| Time.parse a },
|
42
|
+
description: 'The beginning of the time period that you want the usage and costs for (inclusive).'
|
43
|
+
|
44
|
+
option :to,
|
45
|
+
short: '-t TIME',
|
46
|
+
long: '--to TIME',
|
47
|
+
default: Time.now,
|
48
|
+
proc: proc { |a| Time.parse a },
|
49
|
+
description: 'The end of the time period that you want the usage and costs for (exclusive).'
|
50
|
+
|
51
|
+
option :granularity,
|
52
|
+
short: '-g GRANULARITY',
|
53
|
+
long: '--granularity GRANULARITY',
|
54
|
+
required: false,
|
55
|
+
in: %w[HOURLY DAILY MONTHLY],
|
56
|
+
description: 'The granularity of the Amazon Web Services utillization data for your Savings Plans.',
|
57
|
+
default: 'DAILY'
|
58
|
+
|
59
|
+
option :scheme,
|
60
|
+
description: 'Metric naming scheme, text to prepend to metric.',
|
61
|
+
short: '-s SCHEME',
|
62
|
+
long: '--scheme SCHEME',
|
63
|
+
default: 'sensu.aws.savings_plans_utilization'
|
64
|
+
|
65
|
+
option :aws_region,
|
66
|
+
short: '-r AWS_REGION',
|
67
|
+
long: '--aws-region REGION',
|
68
|
+
description: 'AWS Region (defaults to us-east-1).',
|
69
|
+
default: 'us-east-1'
|
70
|
+
|
71
|
+
def run
|
72
|
+
begin
|
73
|
+
client = Aws::CostExplorer::Client.new(aws_config)
|
74
|
+
|
75
|
+
utilization = client.get_savings_plans_utilization(
|
76
|
+
time_period: {
|
77
|
+
start: config[:from].strftime('%Y-%m-%d'),
|
78
|
+
end: config[:to].strftime('%Y-%m-%d')
|
79
|
+
},
|
80
|
+
granularity: config[:granularity]
|
81
|
+
)
|
82
|
+
|
83
|
+
utilization.savings_plans_utilizations_by_time.each do |period|
|
84
|
+
period.to_h.each do |category, values|
|
85
|
+
next if category.to_s == 'time_period'
|
86
|
+
values.to_h.each do |key, value|
|
87
|
+
output "#{config[:scheme]}.#{category}.#{key}", value, Time.parse(period.time_period.end).to_i
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
91
|
+
rescue StandardError => e
|
92
|
+
critical "Error: exception: #{e}"
|
93
|
+
end
|
94
|
+
ok
|
95
|
+
end
|
96
|
+
end
|
data/bin/metrics-ses-usage.rb
CHANGED
File without changes
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sensu-plugins-aws-boutetnico
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.4
|
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: 2020-
|
11
|
+
date: 2020-05-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sensu-plugin
|
@@ -248,92 +248,93 @@ description: |-
|
|
248
248
|
for EC2, SES, and SNS.
|
249
249
|
email: "<sensu-users@googlegroups.com>"
|
250
250
|
executables:
|
251
|
-
- check-reserved-instances.rb
|
252
|
-
- check-vpc-nameservers.rb
|
253
|
-
- metrics-autoscaling-instance-count.rb
|
254
|
-
- check-cloudwatch-alarm.rb
|
255
|
-
- check-dynamodb-throttle.rb
|
256
|
-
- metrics-cloudwatch-ebs.rb
|
257
|
-
- check-cloudwatch-alarms.rb
|
258
|
-
- check-kms-key.rb
|
259
|
-
- check-ses-limit.rb
|
260
|
-
- metrics-s3.rb
|
261
|
-
- handler-sns.rb
|
262
|
-
- check-s3-bucket-visibility.rb
|
263
|
-
- metrics-cloudfront.rb
|
264
|
-
- check-ec2-network.rb
|
265
|
-
- check-rds-events.rb
|
266
|
-
- metrics-rds.rb
|
267
|
-
- check-instances-count.rb
|
268
|
-
- metrics-sqs.rb
|
269
|
-
- check-emr-steps.rb
|
270
|
-
- check-ebs-burst-limit.rb
|
271
251
|
- check-redshift-events.rb
|
272
|
-
- check-
|
273
|
-
- check-
|
252
|
+
- check-alb-target-group-health.rb
|
253
|
+
- check-ebs-burst-limit.rb
|
254
|
+
- handler-ses.rb
|
274
255
|
- check-expiring-reservations.rb
|
275
|
-
-
|
276
|
-
- check-
|
277
|
-
- check-
|
256
|
+
- check-cloudwatch-alarm.rb
|
257
|
+
- check-configservice-rules.rb
|
258
|
+
- check-s3-object.rb
|
259
|
+
- check-rds.rb
|
260
|
+
- check-route.rb
|
278
261
|
- check-sqs-messages.rb
|
279
|
-
- check-
|
262
|
+
- check-dynamodb-capacity.rb
|
263
|
+
- check-s3-bucket.rb
|
264
|
+
- check-elb-health.rb
|
265
|
+
- check-asg-instances-inservice.rb
|
266
|
+
- metrics-cloudfront.rb
|
267
|
+
- metrics-emr-steps.rb
|
268
|
+
- check-sns-subscriptions.rb
|
280
269
|
- check-emr-cluster.rb
|
281
|
-
-
|
282
|
-
- metrics-
|
270
|
+
- metrics-ec2-count.rb
|
271
|
+
- metrics-ses.rb
|
272
|
+
- check-s3-tag.rb
|
273
|
+
- metrics-cloudwatch-ebs.rb
|
274
|
+
- check-subnet-ip-consumption.rb
|
275
|
+
- check-instance-events.rb
|
276
|
+
- check-ec2-network.rb
|
283
277
|
- check-ebs-snapshots.rb
|
284
|
-
-
|
285
|
-
-
|
278
|
+
- check-elb-nodes.rb
|
279
|
+
- check-reserved-instances.rb
|
280
|
+
- check-rds-pending.rb
|
281
|
+
- metrics-ec2-filter.rb
|
282
|
+
- check-elb-health-sdk.rb
|
283
|
+
- check-direct-connect-virtual-interfaces.rb
|
284
|
+
- handler-scale-asg-up.rb
|
285
|
+
- check-elb-latency.rb
|
286
|
+
- metrics-elb.rb
|
286
287
|
- metrics-cloudwatch-ec2.rb
|
287
|
-
- check-
|
288
|
-
-
|
289
|
-
- check-
|
288
|
+
- check-instance-reachability.rb
|
289
|
+
- check-trustedadvisor-service-limits.rb
|
290
|
+
- check-vpc-vpn.rb
|
291
|
+
- metrics-autoscaling-instance-count.rb
|
292
|
+
- metrics-s3.rb
|
293
|
+
- check-eni-status.rb
|
294
|
+
- check-elb-health-fog.rb
|
295
|
+
- check-instances-count.rb
|
296
|
+
- check-elb-instances-inservice.rb
|
290
297
|
- check-route53-domain-expiration.rb
|
298
|
+
- metrics-ses-usage.rb
|
299
|
+
- metrics-sqs.rb
|
291
300
|
- check-elasticache-failover.rb
|
292
301
|
- check-ec2-filter.rb
|
293
|
-
-
|
294
|
-
-
|
295
|
-
- check-
|
296
|
-
- metrics-
|
297
|
-
- check-elb-health-fog.rb
|
298
|
-
- handler-scale-asg-up.rb
|
302
|
+
- handler-scale-asg-down.rb
|
303
|
+
- check-cloudfront-tag.rb
|
304
|
+
- check-vpc-nameservers.rb
|
305
|
+
- metrics-waf.rb
|
299
306
|
- check-sensu-client.rb
|
300
|
-
- check-elb-nodes.rb
|
301
|
-
- check-s3-object.rb
|
302
|
-
- check-trustedadvisor-service-limits.rb
|
303
|
-
- check-ses-statistics.rb
|
304
|
-
- check-cloudwatch-metric.rb
|
305
|
-
- check-beanstalk-health.rb
|
306
|
-
- check-dynamodb-capacity.rb
|
307
307
|
- metrics-cloudwatch-ses.rb
|
308
|
-
-
|
309
|
-
-
|
310
|
-
-
|
311
|
-
-
|
312
|
-
- check-cloudwatch-composite-metric.rb
|
313
|
-
- metrics-ec2-count.rb
|
314
|
-
- metrics-elasticache.rb
|
315
|
-
- check-cloudfront-tag.rb
|
316
|
-
- check-alb-target-group-health.rb
|
317
|
-
- check-elb-health-sdk.rb
|
318
|
-
- check-elb-latency.rb
|
319
|
-
- check-s3-bucket.rb
|
320
|
-
- handler-scale-asg-down.rb
|
308
|
+
- metrics-rds.rb
|
309
|
+
- metrics-asg.rb
|
310
|
+
- check-dynamodb-throttle.rb
|
311
|
+
- handler-sns.rb
|
321
312
|
- check-elb-certs.rb
|
322
|
-
- check-efs-metric.rb
|
323
|
-
- check-vpc-vpn.rb
|
324
|
-
- check-subnet-ip-consumption.rb
|
325
|
-
- check-ecs-service-health.rb
|
326
|
-
- check-rds.rb
|
327
|
-
- handler-ses.rb
|
328
313
|
- check-asg-instances-created.rb
|
329
|
-
- check-
|
330
|
-
- check-instance-reachability.rb
|
314
|
+
- check-ecs-service-health.rb
|
331
315
|
- check-certificate-expiry.rb
|
332
|
-
- check-
|
333
|
-
-
|
334
|
-
-
|
335
|
-
- check-
|
316
|
+
- check-efs-metric.rb
|
317
|
+
- check-eip-allocation.rb
|
318
|
+
- check-elb-sum-requests.rb
|
319
|
+
- check-s3-bucket-visibility.rb
|
320
|
+
- metrics-elasticache.rb
|
321
|
+
- check-cloudwatch-composite-metric.rb
|
322
|
+
- metrics-billing.rb
|
323
|
+
- check-kms-key.rb
|
324
|
+
- check-ses-statistics.rb
|
325
|
+
- metrics-savings-plans-utilization.rb
|
326
|
+
- check-cloudwatch-metric.rb
|
336
327
|
- check-beanstalk-elb-metric.rb
|
328
|
+
- check-rds-events.rb
|
329
|
+
- check-autoscaling-cpucredits.rb
|
330
|
+
- check-ec2-cpu_balance.rb
|
331
|
+
- check-ses-limit.rb
|
332
|
+
- handler-ec2_node.rb
|
333
|
+
- metrics-reservation-utilization.rb
|
334
|
+
- check-beanstalk-health.rb
|
335
|
+
- check-instance-health.rb
|
336
|
+
- check-emr-steps.rb
|
337
|
+
- check-cloudwatch-alarms.rb
|
337
338
|
extensions: []
|
338
339
|
extra_rdoc_files: []
|
339
340
|
files:
|
@@ -422,6 +423,7 @@ files:
|
|
422
423
|
- bin/metrics-rds.rb
|
423
424
|
- bin/metrics-reservation-utilization.rb
|
424
425
|
- bin/metrics-s3.rb
|
426
|
+
- bin/metrics-savings-plans-utilization.rb
|
425
427
|
- bin/metrics-ses-usage.rb
|
426
428
|
- bin/metrics-ses.rb
|
427
429
|
- bin/metrics-sqs.rb
|
@@ -457,7 +459,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
457
459
|
version: '0'
|
458
460
|
requirements: []
|
459
461
|
rubyforge_project:
|
460
|
-
rubygems_version: 2.
|
462
|
+
rubygems_version: 2.6.14.4
|
461
463
|
signing_key:
|
462
464
|
specification_version: 4
|
463
465
|
summary: Sensu plugins for working with an AWS environment
|