fluent-plugin-netflow 1.0.0.rc2 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 78e9dab567c3ee1eff5d5b30e7eede743e4a4296
4
- data.tar.gz: 53a5b634e3ed77404d31ccf24ed8910b27406f79
2
+ SHA256:
3
+ metadata.gz: f1fd86450ab2ad4b1c125ee6b58e7aa1fceb80778d0fd693ab5b1192b8de9b28
4
+ data.tar.gz: c9aadcfb6475585c180baaff51732672cc67fdde183a0dc41827192bc0fecddc
5
5
  SHA512:
6
- metadata.gz: 487882f6056cdd022238fa39623d92ff0d5c5460220e02d0639d58e756add067cce05516b944c29016e964c8b1946280458c76fd11d18668856098a9bae18a07
7
- data.tar.gz: 92df36281eea0ac2380effed945ef0e84d48ffffd6d0a2caf5ac401ca20baaa6d3bd9e87aa42e158448b433b042fd412705ffd382754832230dd0294c6b161ed
6
+ metadata.gz: 3e44e5a9d7d1e672e88c99e2df9ea21d851fb6b30323a6aa1b9573d5cef5e71c5c6feeefdfac85ab1288f3c6946e7df04d92c5076686518c0da71a59a4a6478f
7
+ data.tar.gz: 22f41cd759942b12a6aedf19d6b4a9c6dbfa2565609c42aa432930fd0d9d56d9572c5d57458b0e9c1e9513e7d8c84348955c904749f77dc0ab06496f46cccf14
data/README.md CHANGED
@@ -7,6 +7,13 @@
7
7
 
8
8
  [Fluentd](http://fluentd.org/) input plugin that acts as Netflow v5/v9 collector.
9
9
 
10
+ ## Requirements
11
+
12
+ | fluent-plugin-netflow | fluentd | ruby |
13
+ |------------------------|---------|------|
14
+ | >= 1.0.0 | >= v0.14.0 | >= 2.1 |
15
+ | < 1.0.0 | >= v0.12.0 | >= 1.9 |
16
+
10
17
 
11
18
  ## Installation
12
19
 
@@ -58,10 +65,13 @@ When set to true, the plugin stores system uptime for ```first_switched``` and `
58
65
 
59
66
  YAML file containing Netflow field definitions to overfide pre-defined templates. Example is like below
60
67
 
61
- ---
62
- 4: # field value
63
- - :uint8 # field length
64
- - :protocol # field type
68
+ ```yaml
69
+ ---
70
+ option:
71
+ 4: # field value
72
+ - :uint8 # field length
73
+ - :protocol # field type
74
+ ```
65
75
 
66
76
 
67
77
  ## Performance Evaluation
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.0.rc2
1
+ 1.1.0
@@ -9,7 +9,6 @@ Gem::Specification.new do |gem|
9
9
  gem.version = File.read("VERSION").strip
10
10
  gem.authors = ["Masahiro Nakagawa"]
11
11
  gem.email = "repeatedly@gmail.com"
12
- gem.has_rdoc = false
13
12
  #gem.platform = Gem::Platform::RUBY
14
13
  gem.license = 'Apache License (2.0)'
15
14
  gem.files = `git ls-files`.split("\n")
@@ -38,6 +38,10 @@ module Fluent::Plugin
38
38
  end
39
39
  config_param :max_bytes, :integer, default: 2048
40
40
 
41
+ def multi_workers_ready?
42
+ true
43
+ end
44
+
41
45
  def configure(conf)
42
46
  super
43
47
 
@@ -68,7 +72,7 @@ module Fluent::Plugin
68
72
  end
69
73
 
70
74
  record['host'] = host
71
- router.emit(@tag, time, record)
75
+ router.emit(@tag, Integer(time), record)
72
76
  }
73
77
  rescue => e
74
78
  log.warn "unexpected error on parsing", data: data.dump, error_class: e.class, error: e.message
@@ -133,8 +133,9 @@ module Fluent
133
133
  uint16 :field_type
134
134
  uint16 :field_length
135
135
  end
136
- end
137
- skip length: lambda { templates.length.odd? ? 2 : 0 }
136
+ # 10 is byte length of fields. flowset_id, floset_length, template_id, option_scope_length, option_length
137
+ skip length: lambda { flowset_length - 10 - templates[0][:scope_length] - templates[0][:option_length] }
138
+ end
138
139
  end
139
140
 
140
141
  class Netflow9PDU < BinData::Record
@@ -40,7 +40,16 @@ module Fluent
40
40
  if @definitions
41
41
  raise Fluent::ConfigError, "definitions file #{@definitions} doesn't exist" unless File.exist?(@definitions)
42
42
  begin
43
- @template_fields['option'].merge!(YAML.load_file(@definitions))
43
+ template_fields_custom = YAML.load_file(@definitions)
44
+ if template_fields_custom.first.last.is_a?(Array) # compatibility for older definition files
45
+ @template_fields['option'].merge!(template_fields_custom)
46
+ else
47
+ @template_fields.each do |key, _|
48
+ if template_fields_custom.key?(key)
49
+ @template_fields[key].merge!(template_fields_custom[key])
50
+ end
51
+ end
52
+ end
44
53
  rescue => e
45
54
  raise Fluent::ConfigError, "Bad syntax in definitions file #{@definitions}, error_class = #{e.class.name}, error = #{e.message}"
46
55
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-netflow
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.rc2
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Masahiro Nakagawa
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-05-16 00:00:00.000000000 Z
11
+ date: 2022-06-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluentd
@@ -120,12 +120,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
120
120
  version: '0'
121
121
  required_rubygems_version: !ruby/object:Gem::Requirement
122
122
  requirements:
123
- - - ">"
123
+ - - ">="
124
124
  - !ruby/object:Gem::Version
125
- version: 1.3.1
125
+ version: '0'
126
126
  requirements: []
127
- rubyforge_project:
128
- rubygems_version: 2.6.11
127
+ rubygems_version: 3.1.6
129
128
  signing_key:
130
129
  specification_version: 4
131
130
  summary: Netflow plugin for Fluentd