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 +7 -0
- data/.gitignore +9 -0
- data/.rspec +3 -0
- data/Gemfile +2 -0
- data/README.md +32 -0
- data/Rakefile +2 -0
- data/fluent-plugin-fw1_loggrabber_parser.gemspec +34 -0
- data/lib/fluent/plugin/parser_fw1_loggrabber.rb +49 -0
- data/lib/fluent/plugin/parser_fw1_loggrabber/version.rb +7 -0
- metadata +128 -0
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
data/.rspec
ADDED
data/Gemfile
ADDED
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,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
|
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: []
|