sensu-plugins-azure-burstable-metrics 0.0.3 → 0.0.8

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
- SHA1:
3
- metadata.gz: d5cdf2ac9d672268a82bbb734e5f397ceb03078f
4
- data.tar.gz: 7a34963590928735f6c95cc11d27674e9ea35eb5
2
+ SHA256:
3
+ metadata.gz: 690fd329b969efa3d0c0943497c34dc6f5a0e3535cab445aeb0d34d2176b6ae9
4
+ data.tar.gz: bd23beb2692d53ce229a368280e36d1400095f955b87c09bef78aac567e12dbc
5
5
  SHA512:
6
- metadata.gz: d74553d99db3544b7a273fa4cdf8d3811e7faef5d1996d9d629cc9f8965354d4c0f2ae717fb6cf3f3c1318401eac8c5a869c502566776cc1e9d00f7177d230e7
7
- data.tar.gz: 4d570ab6fc5ca5e5b9547ba58a23dbe940d31384e59bb09a59d01aa17a808d7edb655b7a10e666d20ddb092f60fc4582bb372fb280e1faf5bd8c07913723af6e
6
+ metadata.gz: e1fcf5b8b930b5c48552e6dadb8c3bd8a1835ccf3f61b594437fff7605a650809ac9b4f6f80d418fc2828840bb7a6563d8fd3957ef1f9f937045d262135cdd53
7
+ data.tar.gz: 3673b312b851aae17f377f6f643292914f310b52ed278c2c3a57cc2bacc0ee451fa11fe9a469a25b5be1553bacf4cd1771d1935847e9b5cb18a1b378d0fea8b1
data/README.md CHANGED
@@ -1,6 +1,8 @@
1
1
  Sensu Plugins Azure Burstable Metrics
2
2
  =====================================
3
3
 
4
+ [![Build Status](https://travis-ci.com/ElvenSpellmaker/sensu-plugins-azure-burstable-metrics.svg?branch=master)](https://travis-ci.com/ElvenSpellmaker/sensu-plugins-azure-burstable-metrics) [![Gem Version](https://badge.fury.io/rb/sensu-plugins-azure-burstable-metrics.svg)](https://badge.fury.io/rb/sensu-plugins-azure-burstable-metrics)
5
+
4
6
  This is a hacky Sensu plug-in to call out to the `az` to list all vms in a
5
7
  subscription and then gather metrics about burstable credits and output them in
6
8
  a Graphite way.
@@ -1,6 +1,7 @@
1
1
  #! /usr/bin/env ruby
2
2
 
3
3
  require 'json'
4
+ require 'parallel'
4
5
  require 'sensu-plugin/metric/cli'
5
6
  require 'time'
6
7
 
@@ -47,15 +48,15 @@ class BurstableMetrics < Sensu::Plugin::Metric::CLI::Graphite
47
48
  config[:tenant_id],
48
49
  )
49
50
 
50
- machines = @metrics_client.vm_list.select! { |machine| machine['hardwareProfile']['vmSize'] =~ /.*B\d{1,2}s$/ }
51
+ machines = @metrics_client.vm_list.select! { |machine| machine['hardwareProfile']['vmSize'] =~ /.*B\d{1,2}m?s$/ }
51
52
 
52
53
  time = Time.now.utc
53
54
  start_time = (time - 120).strftime(@@time_format)
54
55
  end_time = (time - 60).strftime(@@time_format)
55
56
 
56
- machines.each do |machine|
57
+ Parallel.map(machines, in_threads: 5) { |machine|
57
58
  process_machine(machine, time, start_time, end_time)
58
- end
59
+ }
59
60
 
60
61
  ok
61
62
  end
@@ -1,5 +1,10 @@
1
1
  #!/bin/bash
2
2
 
3
+ if [ "$TRAVIS" = true ]; then
4
+ echo "This is Travis, don't pre-install \`az\`... Exiting 0..."
5
+ exit 0
6
+ fi
7
+
3
8
  ENV_DIR="/az-python"
4
9
 
5
10
  check_error()
@@ -10,15 +15,29 @@ check_error()
10
15
  fi
11
16
  }
12
17
 
18
+ AZ_PACKAGE='azure-cli'
19
+ AZ_VERSION='2.0.31'
20
+
21
+ if [ -f "$ENV_DIR/bin/activate" ]; then
22
+ . "$ENV_DIR/bin/activate"
23
+ if [ "$(pip freeze | grep -oP "$AZ_PACKAGE"'==\K.*')" == "$AZ_VERSION" ]; then
24
+ echo '`az` is already installed in the virtualenv at the correct version!'
25
+ exit 0
26
+ fi
27
+ fi
28
+
13
29
  virtualenv $ENV_DIR
14
30
  check_error $?
15
31
 
16
32
  . $ENV_DIR/bin/activate
17
33
  check_error $?
18
34
 
19
- pip install --upgrade 'wheel==0.31.0'
35
+ pip install --upgrade 'pip==10.0.1'
36
+ check_error $?
37
+ # `azure-cli` will actually replace wheel with this version...
38
+ pip install --upgrade 'wheel==0.30.0'
20
39
  check_error $?
21
40
  pip install --upgrade 'setuptools==39.0.1'
22
41
  check_error $?
23
- pip install --upgrade 'azure-cli==2.0.31'
42
+ pip install --upgrade "$AZ_PACKAGE==$AZ_VERSION"
24
43
  check_error $?
@@ -15,6 +15,6 @@ done
15
15
 
16
16
  . $ENV_DIR/bin/activate &> /dev/null
17
17
 
18
- az login --service-principle -u "$SPN_ID" -p "$SPN_SECRET" --tenant "$TENANT_ID" &> /dev/null
18
+ az login --service-principal -u "$SPN_ID" -p "$SPN_SECRET" --tenant "$TENANT_ID" &> /dev/null
19
19
 
20
20
  eval az $AZ_COMMAND
File without changes
File without changes
File without changes
@@ -1,4 +1,4 @@
1
- Gem.pre_install do
1
+ Gem.post_install do
2
2
  %x(#{File.dirname(__FILE__) + '/../install.bash'})
3
3
 
4
4
  $?.success?
@@ -2,7 +2,7 @@ module SensuPluginsAzureBurstableMetrics
2
2
  class Version
3
3
  MAJOR = 0
4
4
  MINOR = 0
5
- PATCH = 3
5
+ PATCH = 8
6
6
 
7
7
  VER_STRING = [MAJOR, MINOR, PATCH].compact.join('.')
8
8
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sensu-plugins-azure-burstable-metrics
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jack
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-05-08 00:00:00.000000000 Z
11
+ date: 2020-07-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -16,14 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 2.1.0
19
+ version: 2.3.1
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.1.0
26
+ version: 2.3.1
27
+ - !ruby/object:Gem::Dependency
28
+ name: parallel
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '='
32
+ - !ruby/object:Gem::Version
33
+ version: 1.12.1
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '='
39
+ - !ruby/object:Gem::Version
40
+ version: 1.12.1
41
+ - !ruby/object:Gem::Dependency
42
+ name: mixlib-cli
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '='
46
+ - !ruby/object:Gem::Version
47
+ version: 1.7.0
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '='
53
+ - !ruby/object:Gem::Version
54
+ version: 1.7.0
27
55
  - !ruby/object:Gem::Dependency
28
56
  name: sensu-plugin
29
57
  requirement: !ruby/object:Gem::Requirement
@@ -94,8 +122,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
94
122
  - !ruby/object:Gem::Version
95
123
  version: '0'
96
124
  requirements: []
97
- rubyforge_project:
98
- rubygems_version: 2.6.8
125
+ rubygems_version: 3.1.2
99
126
  signing_key:
100
127
  specification_version: 4
101
128
  summary: Sensu metrics plugin for Azure Burstable Machines