riemann-babbler 0.1.2 → 0.1.3
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.
- data/Gemfile +1 -0
- data/README.md +3 -3
- data/lib/riemann/babbler/plugins/disk.rb +24 -8
- data/lib/riemann/babbler/plugins/net.rb +27 -20
- data/lib/riemann/version.rb +1 -1
- data/riemann-babbler.gemspec +2 -1
- metadata +19 -5
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -11,13 +11,13 @@ Riemann-babbler is plugin manager for riemann-tools.
|
|
11
11
|
Usage:
|
12
12
|
riemann-babbler [options]
|
13
13
|
where [options] are:
|
14
|
-
--config, -c
|
14
|
+
--config, -c: Config file (default: /etc/riemann-babbler/config.yml)
|
15
15
|
--version, -v: Print version and exit
|
16
16
|
--help, -h: Show this message
|
17
17
|
```
|
18
18
|
|
19
19
|
### Описание конфига
|
20
|
-
Bubbler имеет собственные
|
20
|
+
Bubbler имеет собственные конфиг, значения полученные через --config будут смерджены
|
21
21
|
```yaml
|
22
22
|
riemann:
|
23
23
|
host: riemann.host # хост riemann куда слать сообщения
|
@@ -25,7 +25,7 @@ riemann:
|
|
25
25
|
tags: # таги которые будут сообшатся
|
26
26
|
- prod
|
27
27
|
- web
|
28
|
-
suffix: ".testing" # окончание `hostname` в
|
28
|
+
suffix: ".testing" # окончание `hostname` в графите как начало
|
29
29
|
|
30
30
|
plugins:
|
31
31
|
dirs:
|
@@ -1,19 +1,35 @@
|
|
1
1
|
class Riemann::Babbler::Disk
|
2
2
|
include Riemann::Babbler
|
3
3
|
|
4
|
+
require 'sys/filesystem'
|
5
|
+
include Sys
|
6
|
+
|
7
|
+
NOT_MONITORING_FS = [
|
8
|
+
'sysfs',
|
9
|
+
'nfs',
|
10
|
+
'devpts',
|
11
|
+
'squashfs',
|
12
|
+
'proc'
|
13
|
+
]
|
14
|
+
|
4
15
|
def plugin
|
5
16
|
options.plugins.disk
|
6
17
|
end
|
7
18
|
|
8
19
|
def disk
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
20
|
+
# собираем только необходимые для мониторинга маунт-поинты
|
21
|
+
# точнее выбираем из mounts только те, у которых fstype не попадает
|
22
|
+
# в NOT_MONITORING_FS
|
23
|
+
monit_points = []
|
24
|
+
File.read('/proc/mounts').split("\n").each do |line|
|
25
|
+
mtab = line.split(/\s+/)
|
26
|
+
monit_points << mtab[1] unless NOT_MONITORING_FS.include? mtab[2]
|
27
|
+
end
|
28
|
+
disk = Hash.new
|
29
|
+
monit_points.each do |point|
|
30
|
+
point_stat = Filesystem.stat point
|
31
|
+
disk.merge!({point + " storage" => (point_stat.blocks_free/point_stat.blocks_available)})
|
32
|
+
disk.merge!({point + " inode" => (point_stat.files_free/point_stat.files_available)})
|
17
33
|
end
|
18
34
|
disk
|
19
35
|
end
|
@@ -2,25 +2,30 @@ class Riemann::Babbler::Net
|
|
2
2
|
include Riemann::Babbler
|
3
3
|
|
4
4
|
WORDS = ['rx bytes',
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
5
|
+
'rx packets',
|
6
|
+
'rx errs',
|
7
|
+
'rx drop',
|
8
|
+
'rx fifo',
|
9
|
+
'rx frame',
|
10
|
+
'rx compressed',
|
11
|
+
'rx multicast',
|
12
|
+
'tx bytes',
|
13
|
+
'tx packets',
|
14
|
+
'tx drops',
|
15
|
+
'tx fifo',
|
16
|
+
'tx colls',
|
17
|
+
'tx carrier',
|
18
|
+
'tx compressed']
|
19
19
|
|
20
20
|
def plugin
|
21
21
|
options.plugins.net
|
22
22
|
end
|
23
23
|
|
24
|
+
def init
|
25
|
+
@diff = Hash.new
|
26
|
+
@old_status = Hash.new
|
27
|
+
end
|
28
|
+
|
24
29
|
def net
|
25
30
|
f = File.read('/proc/net/dev')
|
26
31
|
status = Hash.new
|
@@ -36,16 +41,18 @@ class Riemann::Babbler::Net
|
|
36
41
|
end
|
37
42
|
end
|
38
43
|
end
|
39
|
-
|
44
|
+
status.each_key { |key| @diff[key] = status[key] - @old_status[key] } if @old_status
|
45
|
+
@old_status = status
|
46
|
+
@diff
|
40
47
|
end
|
41
48
|
|
42
49
|
def tick
|
43
50
|
net.each do |service, value|
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
end
|
51
|
+
report({
|
52
|
+
:service => service,
|
53
|
+
:metric => value
|
54
|
+
})
|
55
|
+
end unless net.nil?
|
49
56
|
end
|
50
57
|
|
51
58
|
end
|
data/lib/riemann/version.rb
CHANGED
data/riemann-babbler.gemspec
CHANGED
@@ -15,7 +15,8 @@ Gem::Specification.new do |s|
|
|
15
15
|
s.add_dependency('configatron')
|
16
16
|
s.add_dependency('logger')
|
17
17
|
s.add_dependency('trollop')
|
18
|
-
s.add_dependency('parallel')
|
18
|
+
s.add_dependency('parallel')
|
19
|
+
s.add_dependency('sys-filesystem')
|
19
20
|
|
20
21
|
s.files = `git ls-files`.split("\n")
|
21
22
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: riemann-babbler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-04-
|
12
|
+
date: 2013-04-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: riemann-client
|
@@ -91,6 +91,22 @@ dependencies:
|
|
91
91
|
- - ! '>='
|
92
92
|
- !ruby/object:Gem::Version
|
93
93
|
version: '0'
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: sys-filesystem
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ! '>='
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '0'
|
102
|
+
type: :runtime
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
94
110
|
description: Some plugins mannager for riemann.
|
95
111
|
email:
|
96
112
|
- vadv.mkn@gmail.com
|
@@ -129,9 +145,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
129
145
|
- - ! '>='
|
130
146
|
- !ruby/object:Gem::Version
|
131
147
|
version: '0'
|
132
|
-
segments:
|
133
|
-
- 0
|
134
|
-
hash: 879882508046739386
|
135
148
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
136
149
|
none: false
|
137
150
|
requirements:
|
@@ -145,3 +158,4 @@ signing_key:
|
|
145
158
|
specification_version: 3
|
146
159
|
summary: Riemann health cheker.
|
147
160
|
test_files: []
|
161
|
+
has_rdoc:
|