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

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
- 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