fluent-plugin-netflow 1.0.0.rc2 → 1.1.0

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.
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