fluent-plugin-fw1_loggrabber_parser 1.0.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: f79528ecaae4c3b524bdf38d0e2cf4cb0749f37f
4
+ data.tar.gz: 4f7cbb79ac005164fa34e414a75d11f65538e013
5
+ SHA512:
6
+ metadata.gz: eb6af6d69753b33b9911e1f5fc7dc9fcc0e97dd0faadce38151ef243968eb4e56e48125e4c733f9836623ca818f27cfde0d39869eb0528e19960bded02706176
7
+ data.tar.gz: a858112fafd10ec4c2ca75630a42e65c273c70a5beb92ead4c140cbda9679440782773f6b9149104d87cedbd22e417370295cf8900fb2112e72cb5c1435cf8d1
data/.gitignore ADDED
@@ -0,0 +1,9 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --color
2
+ --require spec_helper
3
+ --format doc
data/Gemfile ADDED
@@ -0,0 +1,2 @@
1
+ source 'https://rubygems.org'
2
+ gemspec
data/README.md ADDED
@@ -0,0 +1,32 @@
1
+ # fluent-plugin-fw1_loggrabber_parser
2
+
3
+ Parsing a LEA format file from FW1-LogGrabber.
4
+ https://github.com/certego/fw1-loggrabber
5
+
6
+ A separator of a LEA format file should be '|'(0x7c).
7
+
8
+
9
+ ## Installation
10
+
11
+ ```bash
12
+ # for fluentd
13
+ gem install fluent-plugin-fw1_loggrabber_parser
14
+
15
+ # for td-agent2
16
+ td-agent-gem install fluent-plugin-fw1_loggrabber_parser
17
+ ```
18
+
19
+ ## Usage
20
+
21
+ ```xml
22
+ <source>
23
+ @type tail
24
+ path /var/log//fw1.log
25
+ pos_file /var/log/td-agent/fw1.log.pos
26
+ tag fw1.log
27
+ format fw1_loggrabber
28
+ </source>
29
+ ```
30
+
31
+ ## parameters
32
+ - n/a
data/Rakefile ADDED
@@ -0,0 +1,2 @@
1
+ require "bundler/gem_tasks"
2
+ task :default => :spec
@@ -0,0 +1,34 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'fluent/plugin/parser_fw1_loggrabber/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "fluent-plugin-fw1_loggrabber_parser"
8
+ spec.version = Fluent::Plugin::Fw1LoggrabberParser::VERSION
9
+ spec.authors = ["Tomoyuki Sugimura"]
10
+ spec.email = ["tomoyuki.sugimura@gmail.com"]
11
+
12
+ spec.summary = %q{parse checkpoint firewall-1 LEA formatted log}
13
+ spec.description = %q{parse checkpoint firewall-1 LEA formatted log from file}
14
+ spec.homepage = "https://localhost.localdomain"
15
+ spec.license = "MIT"
16
+
17
+ # Prevent pushing this gem to RubyGems.org by setting 'allowed_push_host', or
18
+ # delete this section to allow pushing this gem to any host.
19
+ #if spec.respond_to?(:metadata)
20
+ # spac.metadata['allowed_push_host'] = "TODO: Set to 'http://mygemserver.com'"
21
+ #else
22
+ # raise "RubyGems 2.0 or newer is required to protect against public gem pushes."
23
+ #end
24
+
25
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
26
+ spec.bindir = "exe"
27
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
28
+ spec.require_paths = ["lib"]
29
+ spec.add_development_dependency "fluentd", "~> 0.10", ">= 0.10.43"
30
+ spec.add_development_dependency "bundler", "~> 1.11"
31
+ spec.add_development_dependency "rake", "~> 10.0"
32
+ spec.add_development_dependency "rspec"
33
+ spec.add_development_dependency "test-unit"
34
+ end
@@ -0,0 +1,49 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ module Fluent
4
+ class TextParser
5
+
6
+ class Fw1LoggrabberParser < Parser
7
+
8
+ # Register this parser as a parser plugin
9
+ Plugin.register_parser('fw1_loggrabber', self)
10
+
11
+ # This method is called after config_params have read configuration parameter
12
+ def initialize
13
+ super
14
+ @pattern_key_value = /(?<=^|[^\\]\|)([^=\s]+)=((?:[^|]|(?:(?<=\\)\|))+)/
15
+ end
16
+
17
+ def configure(conf={})
18
+ super
19
+ end
20
+
21
+ def parse(text)
22
+ record = logparse(text)
23
+ yield Engine.now, record
24
+ end
25
+
26
+
27
+ def logparse(text)
28
+
29
+ return {} if (nil == text)
30
+
31
+ record = Hash.new
32
+
33
+ begin
34
+ for pair in text.scan(@pattern_key_value) do
35
+ record[pair[0]] = pair[1]
36
+ end
37
+ rescue => e
38
+ log.error e.message
39
+ return {}
40
+ end
41
+
42
+ return record
43
+ end
44
+
45
+ end
46
+
47
+ end
48
+
49
+ end
@@ -0,0 +1,7 @@
1
+ module Fluent
2
+ module Plugin
3
+ module Fw1LoggrabberParser
4
+ VERSION = "1.0.0"
5
+ end
6
+ end
7
+ end
metadata ADDED
@@ -0,0 +1,128 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: fluent-plugin-fw1_loggrabber_parser
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Tomoyuki Sugimura
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2016-05-20 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: fluentd
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.10'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 0.10.43
23
+ type: :development
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '0.10'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 0.10.43
33
+ - !ruby/object:Gem::Dependency
34
+ name: bundler
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '1.11'
40
+ type: :development
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '1.11'
47
+ - !ruby/object:Gem::Dependency
48
+ name: rake
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '10.0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '10.0'
61
+ - !ruby/object:Gem::Dependency
62
+ name: rspec
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: test-unit
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ description: parse checkpoint firewall-1 LEA formatted log from file
90
+ email:
91
+ - tomoyuki.sugimura@gmail.com
92
+ executables: []
93
+ extensions: []
94
+ extra_rdoc_files: []
95
+ files:
96
+ - ".gitignore"
97
+ - ".rspec"
98
+ - Gemfile
99
+ - README.md
100
+ - Rakefile
101
+ - fluent-plugin-fw1_loggrabber_parser.gemspec
102
+ - lib/fluent/plugin/parser_fw1_loggrabber.rb
103
+ - lib/fluent/plugin/parser_fw1_loggrabber/version.rb
104
+ homepage: https://localhost.localdomain
105
+ licenses:
106
+ - MIT
107
+ metadata: {}
108
+ post_install_message:
109
+ rdoc_options: []
110
+ require_paths:
111
+ - lib
112
+ required_ruby_version: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ version: '0'
117
+ required_rubygems_version: !ruby/object:Gem::Requirement
118
+ requirements:
119
+ - - ">="
120
+ - !ruby/object:Gem::Version
121
+ version: '0'
122
+ requirements: []
123
+ rubyforge_project:
124
+ rubygems_version: 2.5.1
125
+ signing_key:
126
+ specification_version: 4
127
+ summary: parse checkpoint firewall-1 LEA formatted log
128
+ test_files: []