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 +5 -5
- data/README.md +2 -0
- data/bin/sensu-plugins-azure-burstable-metrics.rb +4 -3
- data/install.bash +21 -2
- data/lib/provider/az.bash +1 -1
- data/lib/provider/az.rb +0 -0
- data/lib/provider/base.rb +0 -0
- data/lib/provider/file.rb +0 -0
- data/lib/rubygems_plugin.rb +1 -1
- data/lib/sensu-plugins-azure-burstable-metrics/version.rb +1 -1
- metadata +33 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 690fd329b969efa3d0c0943497c34dc6f5a0e3535cab445aeb0d34d2176b6ae9
|
4
|
+
data.tar.gz: bd23beb2692d53ce229a368280e36d1400095f955b87c09bef78aac567e12dbc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
+
[](https://travis-ci.com/ElvenSpellmaker/sensu-plugins-azure-burstable-metrics) [](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
|
57
|
+
Parallel.map(machines, in_threads: 5) { |machine|
|
57
58
|
process_machine(machine, time, start_time, end_time)
|
58
|
-
|
59
|
+
}
|
59
60
|
|
60
61
|
ok
|
61
62
|
end
|
data/install.bash
CHANGED
@@ -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 '
|
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
|
42
|
+
pip install --upgrade "$AZ_PACKAGE==$AZ_VERSION"
|
24
43
|
check_error $?
|
data/lib/provider/az.bash
CHANGED
@@ -15,6 +15,6 @@ done
|
|
15
15
|
|
16
16
|
. $ENV_DIR/bin/activate &> /dev/null
|
17
17
|
|
18
|
-
az login --service-
|
18
|
+
az login --service-principal -u "$SPN_ID" -p "$SPN_SECRET" --tenant "$TENANT_ID" &> /dev/null
|
19
19
|
|
20
20
|
eval az $AZ_COMMAND
|
data/lib/provider/az.rb
CHANGED
File without changes
|
data/lib/provider/base.rb
CHANGED
File without changes
|
data/lib/provider/file.rb
CHANGED
File without changes
|
data/lib/rubygems_plugin.rb
CHANGED
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.
|
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:
|
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
|
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
|
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
|
-
|
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
|