fluent-plugin-syslog_rfc5424 0.7.0 → 0.7.1.alpha1
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 +4 -4
- data/.gitignore +3 -0
- data/README.md +12 -12
- data/fluent-plugin-syslog_rfc5424.gemspec +1 -1
- data/lib/fluent/plugin/formatter_syslog_rfc5424.rb +2 -2
- data/lib/fluent/plugin/out_syslog_rfc5424.rb +6 -2
- data/test/plugin/formatter_syslog_rfc5424_spec.rb +18 -0
- data/test/plugin/out_syslog_rfc5424_spec.rb +28 -0
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4f20adbe28656d64f9ad85d6ef642df03387a153
|
4
|
+
data.tar.gz: 80af7c193d2aad826f2d44f7d1adc9f1fd5658b7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 21473d51186b0512828bcb3981a723e7479d762804aa84627388193a46a2bd0b743e7ef6197109b1024ef9f6c4f8291985d88fcc35d3f36cfb306234c4742c84
|
7
|
+
data.tar.gz: 2867cc9f1b2e9274bad415149e7e4faa567eca8eafa4606cad6f469f5ce5139d1fa43fd6bc4cf385b353eb5f9b296cc6c553677887a783ca2a36ea4f528e2fb9
|
data/.gitignore
CHANGED
data/README.md
CHANGED
@@ -39,11 +39,13 @@ Or install it yourself as:
|
|
39
39
|
|
40
40
|
### Configuration
|
41
41
|
|
42
|
-
| name | type |
|
43
|
-
| -------------- | ------- |
|
44
|
-
| host | string |
|
45
|
-
| port | integer |
|
46
|
-
| transport | string |
|
42
|
+
| name | type | description |
|
43
|
+
| -------------- | ------- | --------------------------------- |
|
44
|
+
| host | string | syslog target host |
|
45
|
+
| port | integer | syslog target port |
|
46
|
+
| transport | string | transport protocol (tls [default], udp, or tcp) |
|
47
|
+
| insecure | boolean | skip ssl validation |
|
48
|
+
| trusted_ca_path | string | file path to ca to trust |
|
47
49
|
|
48
50
|
#### Format Section
|
49
51
|
|
@@ -52,25 +54,23 @@ Defaults to `syslog_rfc5424`
|
|
52
54
|
| name |type | description |
|
53
55
|
| -------------- | ------- | ------- |
|
54
56
|
| rfc6587_message_size | boolean | prepends message length for syslog transmission (true by default) |
|
57
|
+
| app_name_field | string | sets app name in syslog from field in fluentd, delimited by '.' (default app_name) |
|
58
|
+
| proc_id_field | string | sets proc id in syslog from field in fluentd, delimited by '.' (default proc_id) |
|
55
59
|
|
56
60
|
|
57
61
|
## Formatter Usage
|
58
62
|
|
59
63
|
```
|
60
64
|
<match **>
|
61
|
-
@type
|
65
|
+
@type syslog_rfc5424
|
62
66
|
<format>
|
63
67
|
@type syslog_rfc5424
|
68
|
+
app_name_field example.custom_field_1
|
69
|
+
proc_id_field example.custom_field_2
|
64
70
|
</format>
|
65
71
|
</match>
|
66
72
|
```
|
67
73
|
|
68
|
-
### Configuration
|
69
|
-
|
70
|
-
| name |type | description |
|
71
|
-
| -------------- | ------- | ------- |
|
72
|
-
| rfc6587_message_size | boolean | prepends message length for syslog transmission (false by default) |
|
73
|
-
|
74
74
|
|
75
75
|
## Development
|
76
76
|
|
@@ -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-syslog_rfc5424"
|
7
|
-
spec.version = "0.7.
|
7
|
+
spec.version = "0.7.1.alpha1"
|
8
8
|
spec.authors = ["Pivotal"]
|
9
9
|
spec.email = %w(cf-loggregator@pivotal.io)
|
10
10
|
spec.homepage = "https://github.com/cloudfoundry/fluent-plugin-syslog_rfc5424"
|
@@ -5,7 +5,7 @@ module Fluent
|
|
5
5
|
class FormatterSyslogRFC5424 < Formatter
|
6
6
|
Fluent::Plugin.register_formatter('syslog_rfc5424', self)
|
7
7
|
|
8
|
-
config_param :rfc6587_message_size, :bool, default:
|
8
|
+
config_param :rfc6587_message_size, :bool, default: true
|
9
9
|
config_param :app_name_field, :string, default: "app_name"
|
10
10
|
config_param :proc_id_field, :string, default: "proc_id"
|
11
11
|
|
@@ -33,7 +33,7 @@ module Fluent
|
|
33
33
|
log.debug(msg)
|
34
34
|
|
35
35
|
return msg unless @rfc6587_message_size
|
36
|
-
|
36
|
+
msg.delete!("\n")
|
37
37
|
msg.length.to_s + ' ' + msg
|
38
38
|
end
|
39
39
|
end
|
@@ -15,7 +15,6 @@ module Fluent
|
|
15
15
|
config_param :trusted_ca_path, :string, default: nil
|
16
16
|
config_section :format do
|
17
17
|
config_set_default :@type, DEFAULT_FORMATTER
|
18
|
-
config_set_default :rfc6587_message_size, true
|
19
18
|
end
|
20
19
|
|
21
20
|
def configure(config)
|
@@ -28,7 +27,12 @@ module Fluent
|
|
28
27
|
socket = find_or_create_socket(@transport.to_sym, @host, @port)
|
29
28
|
tag = chunk.metadata.tag
|
30
29
|
chunk.each do |time, record|
|
31
|
-
|
30
|
+
begin
|
31
|
+
socket.puts @formatter.format(tag, time, record)
|
32
|
+
rescue
|
33
|
+
@sockets[socket_key(@transport.to_sym, @host, @port)] = nil
|
34
|
+
raise
|
35
|
+
end
|
32
36
|
end
|
33
37
|
end
|
34
38
|
|
@@ -13,6 +13,7 @@ class FormatterSyslogRFC5424Test < Test::Unit::TestCase
|
|
13
13
|
def test_format_default
|
14
14
|
formatter_driver = create_driver %(
|
15
15
|
@type syslog_rfc5424
|
16
|
+
rfc6587_message_size false
|
16
17
|
)
|
17
18
|
tag = "test-formatter"
|
18
19
|
time = Fluent::EventTime.new(0, 123456000)
|
@@ -48,10 +49,26 @@ class FormatterSyslogRFC5424Test < Test::Unit::TestCase
|
|
48
49
|
formatter_driver.instance.format(tag, time, record)
|
49
50
|
end
|
50
51
|
|
52
|
+
def test_format_with_message_size_and_new_line
|
53
|
+
formatter_driver = create_driver %(
|
54
|
+
@type syslog_rfc5424
|
55
|
+
rfc6587_message_size true
|
56
|
+
)
|
57
|
+
tag = "test-formatter"
|
58
|
+
time = Fluent::EventTime.new(0, 123456000)
|
59
|
+
record = {"log" => "test-log\n\n"}
|
60
|
+
|
61
|
+
formatted_message = "<14>1 1970-01-01T00:00:00.123456+00:00 - - - - - test-log"
|
62
|
+
message_size = formatted_message.length
|
63
|
+
assert_equal "#{message_size} #{formatted_message}",
|
64
|
+
formatter_driver.instance.format(tag, time, record)
|
65
|
+
end
|
66
|
+
|
51
67
|
def test_format_with_app_name
|
52
68
|
formatter_driver = create_driver %(
|
53
69
|
@type syslog_rfc5424
|
54
70
|
app_name_field example.custom_field
|
71
|
+
rfc6587_message_size false
|
55
72
|
)
|
56
73
|
tag = "test-formatter"
|
57
74
|
time = Fluent::EventTime.new(0, 123456000)
|
@@ -67,6 +84,7 @@ class FormatterSyslogRFC5424Test < Test::Unit::TestCase
|
|
67
84
|
formatter_driver = create_driver %(
|
68
85
|
@type syslog_rfc5424
|
69
86
|
proc_id_field example.custom_field
|
87
|
+
rfc6587_message_size false
|
70
88
|
)
|
71
89
|
tag = "test-formatter"
|
72
90
|
time = Fluent::EventTime.new(0, 123456000)
|
@@ -43,6 +43,34 @@ class OutSyslogRFC5424Test < Test::Unit::TestCase
|
|
43
43
|
end
|
44
44
|
end
|
45
45
|
|
46
|
+
def test_reconnects
|
47
|
+
output_driver = create_driver %(
|
48
|
+
@type syslog_rfc5424
|
49
|
+
host example.com
|
50
|
+
port 123
|
51
|
+
)
|
52
|
+
|
53
|
+
bad_socket = Minitest::Mock.new
|
54
|
+
mock(bad_socket).puts(@formatted_log) {
|
55
|
+
raise StandardError
|
56
|
+
}
|
57
|
+
stub(bad_socket).close
|
58
|
+
|
59
|
+
|
60
|
+
good_socket = Minitest::Mock.new
|
61
|
+
mock(good_socket).puts(@formatted_log)
|
62
|
+
stub(good_socket).close
|
63
|
+
|
64
|
+
any_instance_of(Fluent::Plugin::OutSyslogRFC5424) do |fluent_plugin|
|
65
|
+
mock(fluent_plugin).socket_create(:tls, "example.com", 123, {:insecure=>false, :verify_fqdn=>true, :cert_paths=>nil}).returns(bad_socket)
|
66
|
+
mock(fluent_plugin).socket_create(:tls, "example.com", 123, {:insecure=>false, :verify_fqdn=>true, :cert_paths=>nil}).returns(good_socket)
|
67
|
+
end
|
68
|
+
|
69
|
+
output_driver.run(shutdown: false, force_flush_retry: true) do
|
70
|
+
output_driver.feed("tag", @time, {"log" => "hi"})
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
46
74
|
def test_non_tls
|
47
75
|
output_driver = create_driver %(
|
48
76
|
@type syslog_rfc5424
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-syslog_rfc5424
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.1.alpha1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pivotal
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-01-
|
11
|
+
date: 2020-01-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -145,9 +145,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
145
145
|
version: '0'
|
146
146
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
147
147
|
requirements:
|
148
|
-
- - "
|
148
|
+
- - ">"
|
149
149
|
- !ruby/object:Gem::Version
|
150
|
-
version:
|
150
|
+
version: 1.3.1
|
151
151
|
requirements: []
|
152
152
|
rubyforge_project:
|
153
153
|
rubygems_version: 2.6.13
|