cloudscopes 0.8.11 → 0.9.0
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 +4 -4
- data/config/monitoring.yaml +2 -1
- data/lib/cloudscopes/configuration.rb +4 -0
- data/lib/cloudscopes/ec2.rb +19 -0
- data/lib/cloudscopes/sample.rb +14 -3
- data/lib/cloudscopes/version.rb +1 -1
- data/lib/cloudscopes.rb +1 -0
- metadata +19 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c10cf3fdfa70ce1de5a02adb3bf4efd0d96804da
|
4
|
+
data.tar.gz: 88d6da877e73a5d78c51bd375c7b083512cfe212
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: be20dacf290f31e39a3bf7360317adcf9a2eb7d568d5453eb45b2098585ba372911acd146e4b5ebb73aa0cb8d692c1c71a5cfb287b24232a9d6d132f6f6730e0
|
7
|
+
data.tar.gz: 0ca2172ae69b6afd2a2f605ff6aee2f5adadddcc6c07094b4091dd9a457c85931fbbeaee1c59273b1a31ce99ed9f21bc02b3463cc14645522e1e19106b657b8e
|
data/config/monitoring.yaml
CHANGED
@@ -3,6 +3,8 @@ settings:
|
|
3
3
|
key: AWS_KEY_ID
|
4
4
|
secret: AWS_SECRET_KEY
|
5
5
|
region: us-west-2
|
6
|
+
dimensions:
|
7
|
+
InstanceId: "#{ec2.availability_zone}.#{ec2.instance_id}"
|
6
8
|
|
7
9
|
metrics:
|
8
10
|
Systems:
|
@@ -15,7 +17,6 @@ metrics:
|
|
15
17
|
- name: Memory Utilization
|
16
18
|
unit: Percent
|
17
19
|
value: 100 * memory.MemUsed / memory.MemTotal
|
18
|
-
|
19
20
|
- name: Available Space on System
|
20
21
|
unit: Gigabytes
|
21
22
|
value: filesystem.df("/").avail / 1024 / 1024 / 1024
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'net/http'
|
2
|
+
|
3
|
+
module Cloudscopes
|
4
|
+
|
5
|
+
class Ec2
|
6
|
+
|
7
|
+
@@baseurl = 'http://169.254.169.254/latest/meta-data'
|
8
|
+
|
9
|
+
def instance_id
|
10
|
+
@@instanceid ||= Net::HTTP.get(URI("#{@@baseurl}/instance-id"))
|
11
|
+
end
|
12
|
+
|
13
|
+
def availability_zone
|
14
|
+
@@az ||= Net::HTTP.get(URI("#{@@baseurl}/placement/availability-zone"))
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
data/lib/cloudscopes/sample.rb
CHANGED
@@ -4,8 +4,19 @@ module Cloudscopes
|
|
4
4
|
|
5
5
|
attr_reader :name, :value, :unit
|
6
6
|
|
7
|
-
|
8
|
-
|
7
|
+
def dimensions
|
8
|
+
Cloudscopes.data_dimensions.collect do |key,value|
|
9
|
+
begin
|
10
|
+
if ! value.start_with?('"') and value.include?('#') # user wants to expand a string expression, but can't be bothered with escaping double quotes
|
11
|
+
{ name: key, value: Cloudscopes.get_binding.eval('"' + value + '"') }
|
12
|
+
else
|
13
|
+
{ name: key, value: Cloudscopes.get_binding.eval(value) }
|
14
|
+
end
|
15
|
+
rescue NameError # assume the user meant to send the static text
|
16
|
+
{ name: key, value: value }
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
9
20
|
|
10
21
|
def initialize(namespace, metric)
|
11
22
|
@name = metric['name']
|
@@ -29,7 +40,7 @@ module Cloudscopes
|
|
29
40
|
return nil if @value.nil?
|
30
41
|
data = { metric_name: @name, value: @value }
|
31
42
|
data[:unit] = @unit if @unit
|
32
|
-
data[:dimensions] =
|
43
|
+
data[:dimensions] = dimensions
|
33
44
|
data
|
34
45
|
end
|
35
46
|
|
data/lib/cloudscopes/version.rb
CHANGED
data/lib/cloudscopes.rb
CHANGED
metadata
CHANGED
@@ -1,75 +1,75 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cloudscopes
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Oded Arbel
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-04-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.40'
|
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
26
|
version: '1.40'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: ffi
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '1.9'
|
34
|
-
- -
|
34
|
+
- - ">="
|
35
35
|
- !ruby/object:Gem::Version
|
36
36
|
version: 1.9.3
|
37
37
|
type: :runtime
|
38
38
|
prerelease: false
|
39
39
|
version_requirements: !ruby/object:Gem::Requirement
|
40
40
|
requirements:
|
41
|
-
- - ~>
|
41
|
+
- - "~>"
|
42
42
|
- !ruby/object:Gem::Version
|
43
43
|
version: '1.9'
|
44
|
-
- -
|
44
|
+
- - ">="
|
45
45
|
- !ruby/object:Gem::Version
|
46
46
|
version: 1.9.3
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: bundler
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
|
-
- - ~>
|
51
|
+
- - "~>"
|
52
52
|
- !ruby/object:Gem::Version
|
53
53
|
version: '1.6'
|
54
54
|
type: :development
|
55
55
|
prerelease: false
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
57
|
requirements:
|
58
|
-
- - ~>
|
58
|
+
- - "~>"
|
59
59
|
- !ruby/object:Gem::Version
|
60
60
|
version: '1.6'
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
62
|
name: rake
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
64
64
|
requirements:
|
65
|
-
- - ~>
|
65
|
+
- - "~>"
|
66
66
|
- !ruby/object:Gem::Version
|
67
67
|
version: '0'
|
68
68
|
type: :development
|
69
69
|
prerelease: false
|
70
70
|
version_requirements: !ruby/object:Gem::Requirement
|
71
71
|
requirements:
|
72
|
-
- - ~>
|
72
|
+
- - "~>"
|
73
73
|
- !ruby/object:Gem::Version
|
74
74
|
version: '0'
|
75
75
|
description: Ruby gem to report system statistics to web based monitoring services
|
@@ -83,9 +83,9 @@ extensions: []
|
|
83
83
|
extra_rdoc_files:
|
84
84
|
- README.md
|
85
85
|
files:
|
86
|
-
- .buildpath
|
87
|
-
- .gitignore
|
88
|
-
- .project
|
86
|
+
- ".buildpath"
|
87
|
+
- ".gitignore"
|
88
|
+
- ".project"
|
89
89
|
- Gemfile
|
90
90
|
- LICENSE
|
91
91
|
- README.md
|
@@ -97,6 +97,7 @@ files:
|
|
97
97
|
- config/monitoring.yaml
|
98
98
|
- lib/cloudscopes.rb
|
99
99
|
- lib/cloudscopes/configuration.rb
|
100
|
+
- lib/cloudscopes/ec2.rb
|
100
101
|
- lib/cloudscopes/filesystem.rb
|
101
102
|
- lib/cloudscopes/globals.rb
|
102
103
|
- lib/cloudscopes/memory.rb
|
@@ -116,17 +117,17 @@ require_paths:
|
|
116
117
|
- lib
|
117
118
|
required_ruby_version: !ruby/object:Gem::Requirement
|
118
119
|
requirements:
|
119
|
-
- -
|
120
|
+
- - ">="
|
120
121
|
- !ruby/object:Gem::Version
|
121
122
|
version: '0'
|
122
123
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
123
124
|
requirements:
|
124
|
-
- -
|
125
|
+
- - ">="
|
125
126
|
- !ruby/object:Gem::Version
|
126
127
|
version: '0'
|
127
128
|
requirements: []
|
128
129
|
rubyforge_project:
|
129
|
-
rubygems_version: 2.
|
130
|
+
rubygems_version: 2.4.6
|
130
131
|
signing_key:
|
131
132
|
specification_version: 4
|
132
133
|
summary: Ruby gem to report system statistics to web based monitoring services such
|