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 +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
|
+
[![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
|
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
|