fluent-plugin-munin 0.2.2 → 0.3.1
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/README.md +14 -7
- data/fluent-plugin-munin.gemspec +1 -1
- data/lib/fluent/plugin/in_munin.rb +18 -1
- data/test/plugin/test_in_munin.rb +5 -3
- metadata +8 -8
data/README.md
CHANGED
@@ -30,10 +30,12 @@ gem install fluent-plugin-munin
|
|
30
30
|
# specify munin plugin names by comma separated values.
|
31
31
|
service cpu # Optional (not specify, fetch all enabled munin metrics)
|
32
32
|
# inserting hostname into record.
|
33
|
-
record_hostname yes # Optional (
|
34
|
-
#
|
35
|
-
|
36
|
-
|
33
|
+
record_hostname yes # Optional (default: no)
|
34
|
+
# converting values type from string to number.
|
35
|
+
convert_type yes # Optional (default: no)
|
36
|
+
# metrics datasets to be nested or separated record.
|
37
|
+
nest_result no # Optional (default: no)
|
38
|
+
nest_key data # Optional (default: result)
|
37
39
|
</source>
|
38
40
|
|
39
41
|
<match input.munin.*>
|
@@ -52,16 +54,21 @@ record_hostname: yes, nest_result: no
|
|
52
54
|
input.munin.cpu: {"hostname":"myhost.example.com","service":"cpu","user":"113183","nice":"340","system":"26584","idle":"74205345","iowait":"26134","irq":"1","softirq":"506","steal":"0","guest":"0"}
|
53
55
|
`````
|
54
56
|
|
55
|
-
record_hostname: yes, nest_result: yes
|
57
|
+
record_hostname: yes, nest_result: no, convert_type: yes #RECOMMEND
|
58
|
+
`````
|
59
|
+
input.munin.cpu: {"hostname":"myhost.example.com","service":"cpu","user":113183,"nice":340,"system":26584,"idle":74205345,"iowait":26134,"irq":1,"softirq":506,"steal":0,"guest":0}
|
60
|
+
`````
|
61
|
+
|
62
|
+
record_hostname: yes, nest_result: yes, nest_key: data
|
56
63
|
`````
|
57
64
|
input.munin.cpu: {"hostname":"myhost.example.com","service":"cpu","data":{"user":"113183","nice":"340","system":"26584","idle":"74205345","iowait":"26134","irq":"1","softirq":"506","steal":"0","guest":"0"}}
|
58
65
|
`````
|
59
66
|
|
60
67
|
### MongoDB find example
|
61
|
-
record_hostname: yes, nest_result: yes
|
68
|
+
record_hostname: yes, nest_result: yes, convert_type: yes
|
62
69
|
`````
|
63
70
|
> use munin
|
64
|
-
> db.cpu.find({ "data.iowait" : { $gt :
|
71
|
+
> db.cpu.find({ "data.iowait" : { $gt : 200000 } })
|
65
72
|
`````
|
66
73
|
|
67
74
|
## TODO
|
data/fluent-plugin-munin.gemspec
CHANGED
@@ -3,7 +3,7 @@ $:.push File.expand_path("../lib", __FILE__)
|
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "fluent-plugin-munin"
|
6
|
-
s.version = "0.
|
6
|
+
s.version = "0.3.1"
|
7
7
|
s.authors = ["Kentaro Yoshida"]
|
8
8
|
s.email = ["y.ken.studio@gmail.com"]
|
9
9
|
s.homepage = "https://github.com/y-ken/fluent-plugin-munin"
|
@@ -14,6 +14,7 @@ module Fluent
|
|
14
14
|
config_param :service, :string, :default => 'all'
|
15
15
|
config_param :nest_result, :string, :default => nil
|
16
16
|
config_param :nest_key, :string, :default => 'result'
|
17
|
+
config_param :convert_type, :string, :default => 'no'
|
17
18
|
config_param :record_hostname, :string, :default => nil
|
18
19
|
|
19
20
|
def configure(conf)
|
@@ -22,8 +23,9 @@ module Fluent
|
|
22
23
|
@interval = Config.time_value(@interval)
|
23
24
|
service_list = get_service_list
|
24
25
|
@services = @service == 'all' ? service_list : @service.split(',')
|
25
|
-
@record_hostname = Config.bool_value(@record_hostname) || false
|
26
26
|
@nest_result = Config.bool_value(@nest_result) || false
|
27
|
+
@convert_type = Config.bool_value(@convert_type) || false
|
28
|
+
@record_hostname = Config.bool_value(@record_hostname) || false
|
27
29
|
$log.info "munin-node connected: #{@hostname} #{service_list}"
|
28
30
|
$log.info "following munin-node service: #{@service}"
|
29
31
|
end
|
@@ -90,11 +92,26 @@ module Fluent
|
|
90
92
|
@munin ||= get_connection
|
91
93
|
begin
|
92
94
|
values = @munin.fetch(key)
|
95
|
+
return convert_type(values[key]) if @convert_type
|
93
96
|
return values[key]
|
94
97
|
rescue Munin::ConnectionError
|
95
98
|
@munin = get_connection
|
96
99
|
retry
|
97
100
|
end
|
98
101
|
end
|
102
|
+
|
103
|
+
def convert_type(ary)
|
104
|
+
data = Hash.new
|
105
|
+
ary.each do |key,value|
|
106
|
+
if value == value.to_f.to_s
|
107
|
+
data.store(key, value.to_f)
|
108
|
+
elsif value == value.to_i.to_s
|
109
|
+
data.store(key, value.to_i)
|
110
|
+
else
|
111
|
+
data.store(key, value)
|
112
|
+
end
|
113
|
+
end
|
114
|
+
return data
|
115
|
+
end
|
99
116
|
end
|
100
117
|
end
|
@@ -10,7 +10,8 @@ class MuninInputTest < Test::Unit::TestCase
|
|
10
10
|
port 4949
|
11
11
|
interval 30
|
12
12
|
tag_prefix input.munin
|
13
|
-
record_hostname
|
13
|
+
record_hostname yes
|
14
|
+
convert_type no
|
14
15
|
]
|
15
16
|
|
16
17
|
def create_driver(conf=CONFIG,tag='test')
|
@@ -26,9 +27,10 @@ class MuninInputTest < Test::Unit::TestCase
|
|
26
27
|
port 4949
|
27
28
|
interval 30
|
28
29
|
tag_prefix input.munin
|
29
|
-
record_hostname
|
30
|
+
record_hostname yes
|
31
|
+
convert_type no
|
30
32
|
]
|
31
|
-
d.instance.inspect
|
33
|
+
p d.instance.inspect
|
32
34
|
assert_equal 'localhost', d.instance.host
|
33
35
|
assert_equal 4949, d.instance.port
|
34
36
|
assert_equal 30, d.instance.interval
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-munin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-10-
|
12
|
+
date: 2012-10-20 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: fluentd
|
16
|
-
requirement: &
|
16
|
+
requirement: &15089900 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *15089900
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: fluentd
|
27
|
-
requirement: &
|
27
|
+
requirement: &15089460 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *15089460
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: munin-ruby
|
38
|
-
requirement: &
|
38
|
+
requirement: &15089040 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *15089040
|
47
47
|
description:
|
48
48
|
email:
|
49
49
|
- y.ken.studio@gmail.com
|