fluent-plugin-oci-logging 1.0.2 → 1.0.12

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ff4390e3b3e77082712da61a486e9bf756a55e849053490e03eb884a260e0d5b
4
- data.tar.gz: 2e232b1bf8c667db6d4d2a96d9746b1a71a26d056e126a8b79eda83e3abaf5ed
3
+ metadata.gz: 8da08ff601b50140201c74c6b8fc5a15da8f25288315ceee1b42382e5a051d55
4
+ data.tar.gz: 37e3601768a8b5eee329b72775683a18afe50c90f9c2741d3a0aa2d6ae4d3f93
5
5
  SHA512:
6
- metadata.gz: 382946fb56ed0575bc5e7996c96f92abec7c59efaee23fba3a2e76077d280ed6ff22f555732e27ca6959f19f26a6961bf0298277da02d775ac5d48f8623ddc09
7
- data.tar.gz: 985ec4b0de8339aa19a33e03d6c67399137ca16f248657bc7b8216867f6e4c12577f9b1e9bd2d8114b7fe948f78fa860fe6b48ac342e42b773cc344407a633af
6
+ metadata.gz: '0293f60930bf42b4fed3411ba74dd9389e8d8138d9ee512ae09c8b00c55e57b96c8a3c0e9c2b1fc59ff83e8daff49239d5ba1f592a10721a2c350db624ced0a9'
7
+ data.tar.gz: 433fe08996fcbd80888fdb476acb5d904eda926f08d5cfd98e12bf454fd337ae87b1efa3b991ee9eec2f921e6e0f866322d8133d3eceec696c9e7f34315d8813
@@ -27,6 +27,7 @@ module Fluent
27
27
  PUBLIC_DEFAULT_LINUX_CA_PATH = '/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem'
28
28
  PUBLIC_DEFAULT_WINDOWS_CA_PATH = 'C:\\oracle_unified_agent\\unified-monitoring-agent\\embedded\\ssl\\certs\\cacert.pem'
29
29
  PUBLIC_DEFAULT_UBUNTU_CA_PATH = '/etc/ssl/certs/ca-certificates.crt'
30
+ PUBLIC_DEFAULT_DEBIAN_CA_PATH = PUBLIC_DEFAULT_UBUNTU_CA_PATH
30
31
 
31
32
  def logger
32
33
  @log ||= OS.windows? ? Logger.new(WINDOWS_UPLOADER_OUTPUT_LOG) : Logger.new($stdout)
@@ -219,10 +220,13 @@ module Fluent
219
220
  # Since r1 overlay has a different default make sure to update this
220
221
  #
221
222
  def set_default_ca_file
223
+ @ca_file = PUBLIC_DEFAULT_LINUX_CA_PATH if @ca_file.nil?
222
224
  if OS.windows?
223
225
  @ca_file = @ca_file == PUBLIC_DEFAULT_LINUX_CA_PATH ? PUBLIC_DEFAULT_WINDOWS_CA_PATH : @ca_file
224
226
  elsif OS.ubuntu?
225
227
  @ca_file = @ca_file == PUBLIC_DEFAULT_LINUX_CA_PATH ? PUBLIC_DEFAULT_UBUNTU_CA_PATH : @ca_file
228
+ elsif OS.debian?
229
+ @ca_file = @ca_file == PUBLIC_DEFAULT_LINUX_CA_PATH ? PUBLIC_DEFAULT_DEBIAN_CA_PATH : @ca_file
226
230
  else
227
231
  @ca_file = @region == 'r1' && @ca_file == PUBLIC_DEFAULT_LINUX_CA_PATH ? R1_CA_PATH : @ca_file
228
232
  end
@@ -43,7 +43,7 @@ module Fluent
43
43
 
44
44
  # create lumberjack request records
45
45
  logentry = ::OCI::Loggingingestion::Models::LogEntry.new
46
- logentry.time = Time.at(time).strftime('%FT%T.%LZ')
46
+ logentry.time = Time.at(time).utc.strftime('%FT%T.%LZ')
47
47
  begin
48
48
  logentry.data = content.to_json
49
49
  rescue StandardError
@@ -67,7 +67,7 @@ module Fluent
67
67
  log_entry_batch.source = @hostname
68
68
  log_entry_batch.type = PUBLIC_LOGGING_PREFIX + tagpath
69
69
  log_entry_batch.subject = sourceidentifier
70
- log_entry_batch.defaultlogentrytime = Time.at(time).strftime('%FT%T.%LZ')
70
+ log_entry_batch.defaultlogentrytime = Time.at(time).utc.strftime('%FT%T.%LZ')
71
71
  log_entry_batch.entries = []
72
72
 
73
73
  log_batches_map[requestkey] = log_entry_batch
@@ -27,6 +27,10 @@ module OS
27
27
  linux? and os_name_ubuntu?
28
28
  end
29
29
 
30
+ def self.debian?
31
+ linux? and os_name_debian?
32
+ end
33
+
30
34
  def self.os_name_ubuntu?
31
35
  os_name = 'not_found'
32
36
  file_name = '/etc/os-release'
@@ -45,4 +49,22 @@ module OS
45
49
  false
46
50
  end
47
51
 
52
+ def self.os_name_debian?
53
+ os_name = 'not_found'
54
+ file_name = '/etc/os-release'
55
+ if File.exists?(file_name)
56
+ File.foreach(file_name).each do |line|
57
+ if line.start_with?('ID=')
58
+ os_name = line.split('=')[1].strip
59
+ end
60
+ end
61
+ else
62
+ logger.info('Unknown linux distribution detected')
63
+ end
64
+ os_name == 'debian' ? true : false
65
+ rescue StandardError => e
66
+ log.error "Unable to detect ubuntu platform due to: #{e.message}"
67
+ false
68
+ end
69
+
48
70
  end
@@ -42,6 +42,8 @@ module Fluent
42
42
 
43
43
  helpers :event_emitter
44
44
 
45
+ PAYLOAD_SIZE = 9*1024*1024 #restricting payload size at 9MB
46
+
45
47
  def configure(conf)
46
48
  super
47
49
  log.debug 'determining the signer type'
@@ -73,19 +75,30 @@ module Fluent
73
75
  log.debug "writing chunk metadata #{chunk.metadata}", \
74
76
  dump_unique_id_hex(chunk.unique_id)
75
77
  log_batches_map = {}
76
-
77
- # For standard chunk format (without #format() method)
78
+ # For standard chunk format (without #format() method)
79
+ size = 0
78
80
  chunk.each do |time, record|
79
81
  begin
80
82
  tag = get_modified_tag(chunk.metadata.tag)
81
83
  source_identifier = record.key?('tailed_path') ? record['tailed_path'] : ''
84
+ content = flatten_hash(record)
85
+ size += content.to_json.bytesize
82
86
  build_request(time, record, tag, log_batches_map, source_identifier)
87
+ if size >= PAYLOAD_SIZE
88
+ log.info "Exceeding payload size. Size : #{size}"
89
+ send_requests(log_batches_map)
90
+ log_batches_map = {}
91
+ size = 0
92
+ end
83
93
  rescue StandardError => e
84
94
  log.error(e.full_message)
85
95
  end
86
96
  end
87
-
88
- send_requests(log_batches_map) # flush data
97
+ # flushing data to LJ
98
+ unless log_batches_map.empty?
99
+ log.info "Payload size : #{size}"
100
+ send_requests(log_batches_map)
101
+ end
89
102
  end
90
103
  end
91
104
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-oci-logging
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - OCI Observability Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-06-25 00:00:00.000000000 Z
11
+ date: 2022-06-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluentd
@@ -186,7 +186,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
186
186
  - !ruby/object:Gem::Version
187
187
  version: '0'
188
188
  requirements: []
189
- rubygems_version: 3.2.15
189
+ rubygems_version: 3.0.3
190
190
  signing_key:
191
191
  specification_version: 4
192
192
  summary: OCI Fluentd Logging output plugin following Unified Schema