fluent-plugin-nostat 0.1.1 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +46 -2
- data/fluent-plugin-nostat.gemspec +2 -2
- data/lib/fluent/plugin/in_nostat.rb +44 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 90b76a3a63ad5b11308798732e0d9478ec4f5901
|
4
|
+
data.tar.gz: c4af4b9b7d642605cb4878ed627dae32211a85c8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3d60fe29f11d1ecb8dfaa4d3016553ea33f5c4f5843ff8dc3f531142f167d5d9b9b75cad76e6b0c1387eb5042e284f082a05852e0b3bb3b7a9f169951345c7a5
|
7
|
+
data.tar.gz: 00acffadc1a169db0364548e4958c27f19de0536e81c6c3f3452147ef3c66454f1e9f05318a6830b62838bb6cc209a880a931bad4bf405b7bcf3ee3e72c3f938
|
data/README.md
CHANGED
@@ -15,11 +15,14 @@ $ gem install fluent-plugin-nostat
|
|
15
15
|
type nostat
|
16
16
|
run_interval 1
|
17
17
|
mode dstat # raw or dstat
|
18
|
+
output_type graphite # hash or graphite
|
18
19
|
</source>
|
19
20
|
```
|
20
|
-
* tag : If there is no tag, the tag will be "{tag_prefix}.{hostname}.nostat".
|
21
|
+
* tag : If there is no tag value, the tag will be "{tag_prefix}.{hostname}.nostat".
|
21
22
|
* run_interval : seconds
|
22
23
|
* **mode** : raw or dstat. **raw** : just get the values from /proc/{STATS}. **dstat** : modify the values as dstat.
|
24
|
+
* **output_type** : hash or graphite. **hash** : old version style. **graphite** : slice all output for grapite.
|
25
|
+
* tag_prefix : If there is no tag value, the tag will be "{tag_prefix}.{hostname}.nostat".
|
23
26
|
|
24
27
|
## output
|
25
28
|
### raw mode
|
@@ -42,5 +45,46 @@ cpu={"usr"=>52773, "sys"=>28330, "idl"=>2217987, "wai"=>1995, "siq"=>4112, "hiq"
|
|
42
45
|
cpu={"usr"=>0, "sys"=>0, "idl"=>100, "wai"=>0, "siq"=>0, "hiq"=>0} mem={"free"=>1693290496, "buff"=>0, "cach"=>60887040, "used"=>175230976} disk={"sda"=>{"read"=>0, "write"=>0}} net={"enp0s3"=>{"recv"=>344, "send"=>1668}, "enp0s8"=>{"recv"=>344, "send"=>1668}}
|
43
46
|
```
|
44
47
|
|
48
|
+
### graphite output style
|
49
|
+
* full configuration example
|
50
|
+
```
|
51
|
+
<source>
|
52
|
+
type nostat
|
53
|
+
tag_prefix graphite.
|
54
|
+
run_interval 60
|
55
|
+
mode dstat
|
56
|
+
output_type graphite
|
57
|
+
</source>
|
58
|
+
|
59
|
+
<match graphite.**>
|
60
|
+
type graphite
|
61
|
+
host 192.168.56.91
|
62
|
+
port 2003
|
63
|
+
tag_for prefix
|
64
|
+
remove_tag_prefix graphite
|
65
|
+
name_key_pattern ^*$
|
66
|
+
</match>
|
67
|
+
|
68
|
+
```
|
69
|
+
|
70
|
+
* output
|
71
|
+
```
|
72
|
+
tag : record
|
73
|
+
hostname.nostat.cpu : usr => 10
|
74
|
+
hostname.nostat.cpu : sys => 0
|
75
|
+
hostname.nostat.cpu : idl => 90
|
76
|
+
hostname.nostat.cpu : wai => 0
|
77
|
+
|
78
|
+
...
|
79
|
+
|
80
|
+
hostname.nostat.mem : free => 1693290496
|
81
|
+
hostname.nostat.mem : buff => 0
|
82
|
+
hostname.nostat.mem : cach => 60887040
|
83
|
+
hostname.nostat.mem : used => 175230976
|
84
|
+
|
85
|
+
...
|
86
|
+
|
87
|
+
```
|
88
|
+
|
45
89
|
## it was tested on
|
46
|
-
. CentOS 7.x (kernel 3.10.x)
|
90
|
+
. CentOS 7.x (kernel 3.10.x) with graphite
|
@@ -1,9 +1,9 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
# stub: fluent-plugin-nostat 0.
|
2
|
+
# stub: fluent-plugin-nostat 0.2.1 ruby lib
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "fluent-plugin-nostat"
|
6
|
-
s.version = "0.
|
6
|
+
s.version = "0.2.1"
|
7
7
|
|
8
8
|
s.require_paths = ["lib"]
|
9
9
|
s.authors = ["No JinHo"]
|
@@ -1,3 +1,7 @@
|
|
1
|
+
#
|
2
|
+
# by nozino (nozino@gamil.com)
|
3
|
+
#
|
4
|
+
|
1
5
|
module Fluent
|
2
6
|
class NostatInput < Input
|
3
7
|
Plugin.register_input('nostat', self)
|
@@ -27,6 +31,7 @@ module Fluent
|
|
27
31
|
config_param :tag, :string, :default => nil
|
28
32
|
config_param :run_interval, :time, :default => nil
|
29
33
|
config_param :mode, :string, :default => "raw"
|
34
|
+
config_param :output_type, :string, :default => "hash"
|
30
35
|
|
31
36
|
def configure(conf)
|
32
37
|
super
|
@@ -35,7 +40,7 @@ module Fluent
|
|
35
40
|
@tag = @tag_prefix + `hostname`.strip.split('.')[0].strip + ".nostat"
|
36
41
|
end
|
37
42
|
if !@run_interval
|
38
|
-
raise ConfigError, "'run_interval' option is required on
|
43
|
+
raise ConfigError, "'run_interval' option is required on nostat input"
|
39
44
|
end
|
40
45
|
end
|
41
46
|
|
@@ -217,6 +222,42 @@ module Fluent
|
|
217
222
|
stat
|
218
223
|
end
|
219
224
|
|
225
|
+
def emit_graphite_style (time, record)
|
226
|
+
# cpu
|
227
|
+
tag = @tag + ".cpu"
|
228
|
+
router.emit(tag, time, record["cpu"])
|
229
|
+
|
230
|
+
# memory
|
231
|
+
tag = @tag + ".mem"
|
232
|
+
router.emit(tag, time, record["mem"])
|
233
|
+
|
234
|
+
# disk
|
235
|
+
tag_prefix = @tag + ".disk"
|
236
|
+
|
237
|
+
record["disk"].each do |key, value|
|
238
|
+
tag = tag_prefix + "." + key
|
239
|
+
router.emit(tag, time, value)
|
240
|
+
end
|
241
|
+
|
242
|
+
# net
|
243
|
+
tag_prefix = @tag + ".net"
|
244
|
+
|
245
|
+
record["net"].each do |key, value|
|
246
|
+
tag = tag_prefix + "." + key
|
247
|
+
router.emit(tag, time, value)
|
248
|
+
end
|
249
|
+
end
|
250
|
+
|
251
|
+
def emit_record (time, record)
|
252
|
+
if @output_type == "graphite"
|
253
|
+
emit_graphite_style(time, record)
|
254
|
+
elsif @output_type == "hash"
|
255
|
+
router.emit(@tag, time, record)
|
256
|
+
else
|
257
|
+
log.error "invalid output_type. output_type=", @output_type
|
258
|
+
end
|
259
|
+
end
|
260
|
+
|
220
261
|
def run_periodic
|
221
262
|
until @finished
|
222
263
|
begin
|
@@ -230,10 +271,10 @@ module Fluent
|
|
230
271
|
record = stat
|
231
272
|
end
|
232
273
|
|
233
|
-
emit_tag = @tag.dup
|
234
274
|
time = Engine.now
|
275
|
+
|
276
|
+
emit_record(time,record)
|
235
277
|
|
236
|
-
router.emit(@tag, time, record)
|
237
278
|
rescue => e
|
238
279
|
log.error "nostat failed to emit", :error => e.to_s, :error_class => e.class.to_s, :tag => tag
|
239
280
|
log.error "nostat to run or shutdown child process", :error => $!.to_s, :error_class => $!.class.to_s
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-nostat
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- No JinHo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-04-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fluentd
|