fluent-plugin-df 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 216123b90b59322370df7ad113ecaefa7c67c07e
4
+ data.tar.gz: 5b3b8fc1f2ddc17c7bbe9c183d1c3ce21bd1f998
5
+ SHA512:
6
+ metadata.gz: bd2d36798960934ce0ad57778464f7f91aae5cac11f8bccd550ef4a199cdefa77319c5c6bd7e62d93e5fd2d6c07e3fb4c8d013102cc47454902622d57d64c012
7
+ data.tar.gz: 35a97e49b0c7ea11b92a34b7b3aa4ff05744b7b2f32429d1bbb511bf2c1e434f1400517bfeec5b389ca2225e63669c39a04de35fb5267f671ab904bcee282f3c
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "fluent-plugin-df"
7
- spec.version = "0.0.4"
7
+ spec.version = "0.0.5"
8
8
  spec.authors = ["tiwakawa"]
9
9
  spec.email = ["tiwakawa@aiming-inc.com"]
10
10
  spec.description = %q{Df input plugin for Fluent event collector}
@@ -2,16 +2,19 @@ module Fluent
2
2
  class DfInput < Fluent::Input
3
3
  Fluent::Plugin.register_input('df', self)
4
4
 
5
+ EXPECTED_DF_OUTPUT_COLS_LENGTH = 6 # filesystem, blocks, used, available, capacity, mounted on
6
+
5
7
  config_param :option, :string, default: '-k'
6
8
  config_param :interval, :integer, default: 3
7
9
  config_param :tag_prefix, :string, default: 'df'
8
10
  config_param :target_mounts, :string, default: '/'
9
11
  config_param :replace_slash, :bool, default: true
10
12
  config_param :tag, :string, default: nil
13
+ config_param :rm_percent, :bool, default: true
11
14
 
12
15
  def configure(conf)
13
16
  super
14
- @command = "df #{@option} #{@target_mounts} 2> /dev/null"
17
+ @command = "df -P #{@option} #{@target_mounts} 2> /dev/null"
15
18
  end
16
19
 
17
20
  def start
@@ -42,12 +45,17 @@ module Fluent
42
45
  fss.shift # remove header
43
46
  fss.map do |fs|
44
47
  f = fs.split(/\s+/)
48
+
49
+ unless f.length == EXPECTED_DF_OUTPUT_COLS_LENGTH
50
+ $log.warn "The output of the df command is unexpected. May not obtain the correct result."
51
+ end
52
+
45
53
  {
46
54
  'fs' => replace_slash_in(f[0]),
47
55
  'size' => f[1],
48
56
  'used' => f[2],
49
57
  'available' => f[3],
50
- 'capacity' => f[4].delete('%')
58
+ 'capacity' => f[4] && @rm_percent ? f[4].delete('%') : f[4]
51
59
  }
52
60
  end
53
61
  end
@@ -12,6 +12,7 @@ class DfInputTest < Test::Unit::TestCase
12
12
  target_mounts /
13
13
  replace_slash true
14
14
  tag free_disk
15
+ rm_percent true
15
16
  ]
16
17
 
17
18
  def create_driver(conf=CONFIG)
@@ -26,6 +27,7 @@ class DfInputTest < Test::Unit::TestCase
26
27
  assert_equal "/", d.instance.target_mounts
27
28
  assert_equal true, d.instance.replace_slash
28
29
  assert_equal "free_disk", d.instance.tag
30
+ assert_equal true, d.instance.rm_percent
29
31
  end
30
32
 
31
33
  # def test_emit
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-df
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
5
- prerelease:
4
+ version: 0.0.5
6
5
  platform: ruby
7
6
  authors:
8
7
  - tiwakawa
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-03-25 00:00:00.000000000 Z
11
+ date: 2013-07-24 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: bundler
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
@@ -30,33 +27,29 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rake
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - '>='
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: fluentd
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - '>='
52
46
  - !ruby/object:Gem::Version
53
47
  version: '0'
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - '>='
60
53
  - !ruby/object:Gem::Version
61
54
  version: '0'
62
55
  description: Df input plugin for Fluent event collector
@@ -78,27 +71,26 @@ files:
78
71
  homepage: https://github.com/tiwakawa/fluent-plugin-df
79
72
  licenses:
80
73
  - MIT
74
+ metadata: {}
81
75
  post_install_message:
82
76
  rdoc_options: []
83
77
  require_paths:
84
78
  - lib
85
79
  required_ruby_version: !ruby/object:Gem::Requirement
86
- none: false
87
80
  requirements:
88
- - - ! '>='
81
+ - - '>='
89
82
  - !ruby/object:Gem::Version
90
83
  version: '0'
91
84
  required_rubygems_version: !ruby/object:Gem::Requirement
92
- none: false
93
85
  requirements:
94
- - - ! '>='
86
+ - - '>='
95
87
  - !ruby/object:Gem::Version
96
88
  version: '0'
97
89
  requirements: []
98
90
  rubyforge_project:
99
- rubygems_version: 1.8.23
91
+ rubygems_version: 2.0.0
100
92
  signing_key:
101
- specification_version: 3
93
+ specification_version: 4
102
94
  summary: Df input plugin for Fluent event collector
103
95
  test_files:
104
96
  - test/helper.rb