fluent-plugin-fortigate-log-parser 0.1.1 → 0.2.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.
@@ -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-fortigate-log-parser"
|
7
|
-
spec.version = "0.
|
7
|
+
spec.version = "0.2.0"
|
8
8
|
spec.authors = ["Yoshinori TERAOKA"]
|
9
9
|
spec.email = ["jyobijyoba@gmail.com"]
|
10
10
|
spec.summary = %q{fluentd plugin for parse FortiGate log}
|
@@ -99,14 +99,18 @@ module Fluent
|
|
99
99
|
end
|
100
100
|
end
|
101
101
|
|
102
|
+
# rsyslog workaround (remove the unnecessary white space)
|
103
|
+
# rsyslog insert a space (0x20) after first semi-colon
|
104
|
+
# (eg. time=12:34:56 -> time=12: 34:56)
|
105
|
+
record['time'].gsub!(' ', '')
|
106
|
+
|
102
107
|
time_str = record['date'] + ' ' + record['time']
|
103
108
|
time = nil
|
104
109
|
|
105
110
|
if @prev_time && time_str == @prev_time_str
|
106
111
|
time = @prev_time
|
107
112
|
else
|
108
|
-
|
109
|
-
time = Time.strptime(time_str, '%Y-%m-%d %H: %M:%S').to_i
|
113
|
+
time = Time.strptime(time_str, '%Y-%m-%d %H:%M:%S').to_i
|
110
114
|
@prev_time = time
|
111
115
|
@prev_time_str = time_str
|
112
116
|
end
|
@@ -57,17 +57,17 @@ class FortigateSyslogParserOutputTest < Test::Unit::TestCase
|
|
57
57
|
def test_emit
|
58
58
|
d1 = create_driver(CONFIG)
|
59
59
|
d1.run do
|
60
|
-
d1.emit({'message' => 'Aug 17 00:00:00 fortigate date=2014-08-16,time=23:
|
60
|
+
d1.emit({'message' => 'Aug 17 00:00:00 fortigate date=2014-08-16,time=23:59:59,devname=TEST_NAME,devid=TEST_ID,logid=0000000001'})
|
61
61
|
end
|
62
62
|
emits = d1.emits
|
63
63
|
assert_equal 1, emits.length
|
64
64
|
assert_equal '0000000001', emits[0][2]['logid']
|
65
65
|
end
|
66
66
|
|
67
|
-
def
|
67
|
+
def test_emit_uri_escape
|
68
68
|
d1 = create_driver(CONFIG)
|
69
69
|
d1.run do
|
70
|
-
d1.emit({'message' => 'Aug 17 00:00:00 fortigate date=2014-08-16,time=23:
|
70
|
+
d1.emit({'message' => 'Aug 17 00:00:00 fortigate date=2014-08-16,time=23:59:59,file=あああ,filename=いいい'})
|
71
71
|
end
|
72
72
|
emits = d1.emits
|
73
73
|
assert_equal 1, emits.length
|
@@ -78,7 +78,7 @@ class FortigateSyslogParserOutputTest < Test::Unit::TestCase
|
|
78
78
|
def test_emit_rewrite_tag
|
79
79
|
d1 = create_driver(CONFIG_REWRITE_TAG, 'before.test')
|
80
80
|
d1.run do
|
81
|
-
d1.emit({'message' => 'Aug 17 00:00:00 fortigate date=2014-08-16,time=23:
|
81
|
+
d1.emit({'message' => 'Aug 17 00:00:00 fortigate date=2014-08-16,time=23:59:59'})
|
82
82
|
end
|
83
83
|
emits = d1.emits
|
84
84
|
assert_equal 1, emits.length
|
@@ -88,7 +88,7 @@ class FortigateSyslogParserOutputTest < Test::Unit::TestCase
|
|
88
88
|
def test_emit_message_key
|
89
89
|
d1 = create_driver(CONFIG_MESSAGE_KEY)
|
90
90
|
d1.run do
|
91
|
-
d1.emit({'mykey' => 'Aug 17 00:00:00 fortigate date=2014-08-16,time=23:
|
91
|
+
d1.emit({'mykey' => 'Aug 17 00:00:00 fortigate date=2014-08-16,time=23:59:59,key1=value1,key2=value2'})
|
92
92
|
end
|
93
93
|
emits = d1.emits
|
94
94
|
assert_equal 1, emits.length
|
@@ -97,6 +97,16 @@ class FortigateSyslogParserOutputTest < Test::Unit::TestCase
|
|
97
97
|
end
|
98
98
|
|
99
99
|
def test_emit_date_parse
|
100
|
+
d1 = create_driver()
|
101
|
+
d1.run do
|
102
|
+
d1.emit({'message' => 'Aug 17 00:00:00 fortigate date=2014-08-16,time=23:59:59'})
|
103
|
+
end
|
104
|
+
emits = d1.emits
|
105
|
+
assert_equal 1, emits.length
|
106
|
+
assert_equal 1408201199, emits[0][1]
|
107
|
+
end
|
108
|
+
|
109
|
+
def test_rsync_workaround
|
100
110
|
d1 = create_driver()
|
101
111
|
d1.run do
|
102
112
|
d1.emit({'message' => 'Aug 17 00:00:00 fortigate date=2014-08-16,time=23: 59:59'})
|
@@ -109,7 +119,7 @@ class FortigateSyslogParserOutputTest < Test::Unit::TestCase
|
|
109
119
|
def test_emit_country_map
|
110
120
|
d1 = create_driver(CONFIG_COUNTRY_MAP)
|
111
121
|
d1.run do
|
112
|
-
d1.emit({'message' => 'Aug 17 00:00:00 fortigate date=2014-08-16,time=23:
|
122
|
+
d1.emit({'message' => 'Aug 17 00:00:00 fortigate date=2014-08-16,time=23:59:59,srccountry=Japan,dstcountry=United States'})
|
113
123
|
end
|
114
124
|
emits = d1.emits
|
115
125
|
assert_equal 1, emits.length
|
@@ -122,7 +132,7 @@ class FortigateSyslogParserOutputTest < Test::Unit::TestCase
|
|
122
132
|
def test_emit_os_version4
|
123
133
|
d1 = create_driver(CONFIG_OS_VERSION4)
|
124
134
|
d1.run do
|
125
|
-
d1.emit({'message' => 'Aug 17 00:00:00 fortigate date=2014-08-16,time=23:
|
135
|
+
d1.emit({'message' => 'Aug 17 00:00:00 fortigate date=2014-08-16,time=23:59:59,src_country=Japan,dst_country=United States'})
|
126
136
|
end
|
127
137
|
emits = d1.emits
|
128
138
|
assert_equal 1, emits.length
|
@@ -135,7 +145,7 @@ class FortigateSyslogParserOutputTest < Test::Unit::TestCase
|
|
135
145
|
def test_emit_keys
|
136
146
|
d1 = create_driver(CONFIG_KEYS)
|
137
147
|
d1.run do
|
138
|
-
d1.emit({'message' => 'Aug 17 00:00:00 fortigate date=2014-08-16,time=23:
|
148
|
+
d1.emit({'message' => 'Aug 17 00:00:00 fortigate date=2014-08-16,time=23:59:59,a=A,b=B,c=C,x=X,y=Y,z=Z'})
|
139
149
|
end
|
140
150
|
expected = {'a' => 'A', 'b' => 'B', 'c' => 'C'}
|
141
151
|
emits = d1.emits
|
@@ -146,7 +156,7 @@ class FortigateSyslogParserOutputTest < Test::Unit::TestCase
|
|
146
156
|
def test_emit_remove_keys
|
147
157
|
d1 = create_driver(CONFIG_REMOVE_KEYS)
|
148
158
|
d1.run do
|
149
|
-
d1.emit({'message' => 'Aug 17 00:00:00 fortigate date=2014-08-16,time=23:
|
159
|
+
d1.emit({'message' => 'Aug 17 00:00:00 fortigate date=2014-08-16,time=23:59:59,a=A,b=B,c=C,x=X,y=Y,z=Z'})
|
150
160
|
end
|
151
161
|
expected = {'x' => 'X', 'y' => 'Y', 'z' => 'Z'}
|
152
162
|
emits = d1.emits
|
metadata
CHANGED
@@ -1,32 +1,36 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-fortigate-log-parser
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Yoshinori TERAOKA
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date:
|
12
|
+
date: 2015-03-20 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: fluentd
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
|
-
- - '>='
|
19
|
+
- - ! '>='
|
18
20
|
- !ruby/object:Gem::Version
|
19
21
|
version: '0'
|
20
22
|
type: :runtime
|
21
23
|
prerelease: false
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
23
26
|
requirements:
|
24
|
-
- - '>='
|
27
|
+
- - ! '>='
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: '0'
|
27
30
|
- !ruby/object:Gem::Dependency
|
28
31
|
name: bundler
|
29
32
|
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
30
34
|
requirements:
|
31
35
|
- - ~>
|
32
36
|
- !ruby/object:Gem::Version
|
@@ -34,6 +38,7 @@ dependencies:
|
|
34
38
|
type: :development
|
35
39
|
prerelease: false
|
36
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
37
42
|
requirements:
|
38
43
|
- - ~>
|
39
44
|
- !ruby/object:Gem::Version
|
@@ -41,6 +46,7 @@ dependencies:
|
|
41
46
|
- !ruby/object:Gem::Dependency
|
42
47
|
name: rake
|
43
48
|
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
44
50
|
requirements:
|
45
51
|
- - ~>
|
46
52
|
- !ruby/object:Gem::Version
|
@@ -48,6 +54,7 @@ dependencies:
|
|
48
54
|
type: :development
|
49
55
|
prerelease: false
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
51
58
|
requirements:
|
52
59
|
- - ~>
|
53
60
|
- !ruby/object:Gem::Version
|
@@ -74,26 +81,27 @@ files:
|
|
74
81
|
homepage: https://github.com/yteraoka/fluent-plugin-fortigate-log-parser
|
75
82
|
licenses:
|
76
83
|
- MIT
|
77
|
-
metadata: {}
|
78
84
|
post_install_message:
|
79
85
|
rdoc_options: []
|
80
86
|
require_paths:
|
81
87
|
- lib
|
82
88
|
required_ruby_version: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
83
90
|
requirements:
|
84
|
-
- - '>='
|
91
|
+
- - ! '>='
|
85
92
|
- !ruby/object:Gem::Version
|
86
93
|
version: '0'
|
87
94
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
95
|
+
none: false
|
88
96
|
requirements:
|
89
|
-
- - '>='
|
97
|
+
- - ! '>='
|
90
98
|
- !ruby/object:Gem::Version
|
91
99
|
version: '0'
|
92
100
|
requirements: []
|
93
101
|
rubyforge_project:
|
94
|
-
rubygems_version:
|
102
|
+
rubygems_version: 1.8.23
|
95
103
|
signing_key:
|
96
|
-
specification_version:
|
104
|
+
specification_version: 3
|
97
105
|
summary: fluentd plugin for parse FortiGate log
|
98
106
|
test_files:
|
99
107
|
- test/helper.rb
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: c33c6ce6da8275fca39ff791e778d17585e2a357
|
4
|
-
data.tar.gz: c91268bdff674aeb2f50fe2d6274211e2fa62a94
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: f3c4a395b9f7f71243382e93a875c0e7bb3404382b4e51a79cbd2d790cf99014bac3f805fc74199308f19036b64bfa37ea776487f8ba5d0a67174b335bc7f95e
|
7
|
-
data.tar.gz: a15d3d154bc6ed865b5c3e1a44fc35471491bcc335e134e4296cbb3e2f5374e67afb8d3e4c30d8174f44b09406253e4edcf6a7e2ee64e0bdd0529263da06910b
|