fluent-plugin-systemd 1.0.2 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 51791abc856b31177f2053533b7d8d3cf31e9d7d
4
- data.tar.gz: 5e306cc82ca65d76d69bf71f50208b5d3aaed005
2
+ SHA256:
3
+ metadata.gz: 5fd5812366214998e6e503dc83b4fa502a5787cb6574ace1a27a0579d5897376
4
+ data.tar.gz: 9555574c64af76aeb1cc4acfd5ef20a6eda63cea01ce4f5a45d2929707ef4466
5
5
  SHA512:
6
- metadata.gz: 413d7ff33b0224b0af859e58b58045781fda8dd35139a9b11db5cc37f3a33f9a6f26527de8aa380e78a963049588fb01940d2b4414ac8f3b638b49bb24c3d71f
7
- data.tar.gz: 6fcab5af997ce17913cd44e7cd81531fcc399e1a998f39dfebb2c7b7721eda29b32f1b6e9ef7c0cf744809aee1915cea25ec224c8e4b9e04bcdf119b4cfe6bd1
6
+ metadata.gz: 84eccb26a0d0d9e52c8a257221f0076f1f502d535cfc383ef0e844ccab83a83d928d06fe8085c7fe963b2f10254efa024b290e8c2e7ac73fe9dec4fc7ae72b12
7
+ data.tar.gz: 3145138bb666f7c2a7f5287a0bd6c93fe8a3ba14741b9d356da00787139307db577e0f3bd5e6f1556c2f97987fad2dc4d501d98f79bb02a1f8befe04c529ba23
data/README.md CHANGED
@@ -28,11 +28,11 @@ Join the #plugin-systemd channel on the [Fluentd Slack](http://slack.fluentd.org
28
28
 
29
29
  Simply use RubyGems:
30
30
 
31
- gem install fluent-plugin-systemd -v 1.0.1
31
+ gem install fluent-plugin-systemd -v 1.0.3
32
32
 
33
33
  or
34
34
 
35
- td-agent-gem install fluent-plugin-systemd -v 1.0.1
35
+ td-agent-gem install fluent-plugin-systemd -v 1.0.3
36
36
 
37
37
  ## Upgrading
38
38
 
@@ -47,8 +47,9 @@ If you are upgrading to version 1.0 from a previous version of this plugin take
47
47
  matches [{ "_SYSTEMD_UNIT": "kubelet.service" }]
48
48
  read_from_head true
49
49
 
50
- <storage kubelet-pos>
50
+ <storage>
51
51
  @type local
52
+ path /var/log/fluentd-journald-kubelet-cursor.json
52
53
  </storage>
53
54
 
54
55
  <entry>
@@ -84,7 +85,7 @@ description of this property and how to use it.
84
85
 
85
86
  **`storage`**
86
87
 
87
- Configuration for a [storage plugin](http://docs.fluentd.org/v0.14/articles/storage-plugin-overview) used to store the journald cursor.
88
+ Configuration for a [storage plugin](https://docs.fluentd.org/storage) used to store the journald cursor.
88
89
 
89
90
  **`read_from_head`**
90
91
 
@@ -92,6 +92,7 @@ module Fluent
92
92
  def seek_to(pos)
93
93
  @journal.seek(pos)
94
94
  return if pos == :head
95
+
95
96
  if pos == :tail
96
97
  @journal.move(-2)
97
98
  else
@@ -105,6 +106,7 @@ module Fluent
105
106
 
106
107
  def run
107
108
  return unless @journal || init_journal
109
+
108
110
  init_journal if @journal.wait(0) == :invalidate
109
111
  watch do |entry|
110
112
  emit(entry)
@@ -116,6 +118,7 @@ module Fluent
116
118
  rescue Fluent::Plugin::Buffer::BufferOverflowError => e
117
119
  retries ||= 0
118
120
  raise e if retries > 10
121
+
119
122
  retries += 1
120
123
  sleep 1.5**retries + rand(0..3)
121
124
  retry
@@ -129,6 +132,8 @@ module Fluent
129
132
 
130
133
  def watch(&block)
131
134
  yield_current_entry(&block) while @journal.move_next
135
+ rescue Systemd::JournalError => e
136
+ log.warn("Error moving to next Journal entry: #{e.class}: #{e.message}")
132
137
  end
133
138
 
134
139
  def yield_current_entry
@@ -67,6 +67,7 @@ module Fluent
67
67
  # Expose config state as read-only instance properties of the mutator.
68
68
  def method_missing(sym, *args)
69
69
  return @opts[sym] if @opts.members.include?(sym)
70
+
70
71
  super
71
72
  end
72
73
 
@@ -80,6 +81,7 @@ module Fluent
80
81
  def run(entry)
81
82
  return entry.to_h if @no_transform
82
83
  return map_fields(entry) if @opts.field_map_strict
84
+
83
85
  format_fields(entry, map_fields(entry))
84
86
  end
85
87
 
@@ -90,6 +92,7 @@ module Fluent
90
92
  @map.each_with_object({}) do |(cstm, sysds), mapped|
91
93
  vals = sysds.collect { |fld| entry[fld] }.compact
92
94
  next if vals.empty? # systemd field does not exist in source entry
95
+
93
96
  mapped[cstm] = join_if_needed(vals)
94
97
  end
95
98
  end
@@ -103,6 +106,7 @@ module Fluent
103
106
  entry.each_with_object(mapped || {}) do |(fld, val), formatted_entry|
104
107
  # don't mess with explicitly mapped fields
105
108
  next if @map_src_fields.include?(fld)
109
+
106
110
  fld = format_field_name(fld)
107
111
  # account for mapping (appending) to an existing systemd field
108
112
  formatted_entry[fld] = join_if_needed([val, mapped[fld]])
@@ -111,6 +115,7 @@ module Fluent
111
115
 
112
116
  def warnings
113
117
  return [] unless field_map_strict && field_map.empty?
118
+
114
119
  '`field_map_strict` set to true with empty `field_map`, expect no fields'
115
120
  end
116
121
 
@@ -119,6 +124,7 @@ module Fluent
119
124
  def join_if_needed(values)
120
125
  values.compact!
121
126
  return values.first if values.length == 1
127
+
122
128
  values.join(' ')
123
129
  end
124
130
 
@@ -146,7 +152,7 @@ module Fluent
146
152
  end
147
153
  end
148
154
 
149
- def validate_all_strings(arr, message, allow_nesting = false)
155
+ def validate_all_strings(arr, message, allow_nesting = false) # rubocop:disable Style/OptionalBooleanParameter
150
156
  valid = arr.all? do |value|
151
157
  value.is_a?(String) || allow_nesting && value.is_a?(Array) && value.all? { |key| key.is_a?(String) }
152
158
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-systemd
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ed Robinson
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-02-07 00:00:00.000000000 Z
11
+ date: 2021-04-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -44,28 +44,28 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '2.5'
47
+ version: '3.4'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '2.5'
54
+ version: '3.4'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rubocop
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - '='
60
60
  - !ruby/object:Gem::Version
61
- version: 0.53.0
61
+ version: 1.13.0
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - '='
67
67
  - !ruby/object:Gem::Version
68
- version: 0.53.0
68
+ version: 1.13.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: fluentd
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -92,14 +92,14 @@ dependencies:
92
92
  requirements:
93
93
  - - "~>"
94
94
  - !ruby/object:Gem::Version
95
- version: 1.3.2
95
+ version: 1.4.2
96
96
  type: :runtime
97
97
  prerelease: false
98
98
  version_requirements: !ruby/object:Gem::Requirement
99
99
  requirements:
100
100
  - - "~>"
101
101
  - !ruby/object:Gem::Version
102
- version: 1.3.2
102
+ version: 1.4.2
103
103
  description: This is a fluentd input plugin. It reads logs from the systemd journal.
104
104
  email:
105
105
  - edward-robinson@cookpad.com
@@ -116,7 +116,7 @@ homepage: https://github.com/reevoo/fluent-plugin-systemd
116
116
  licenses:
117
117
  - Apache-2.0
118
118
  metadata: {}
119
- post_install_message:
119
+ post_install_message:
120
120
  rdoc_options: []
121
121
  require_paths:
122
122
  - lib
@@ -131,9 +131,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
131
131
  - !ruby/object:Gem::Version
132
132
  version: '0'
133
133
  requirements: []
134
- rubyforge_project:
135
- rubygems_version: 2.6.13
136
- signing_key:
134
+ rubygems_version: 3.2.15
135
+ signing_key:
137
136
  specification_version: 4
138
137
  summary: Input plugin to read from systemd journal.
139
138
  test_files: []