fluent-plugin-lm-logs 1.0.2 → 1.0.3
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/README.md +2 -2
- data/fluent-plugin-lm-logs.gemspec +1 -1
- data/lib/fluent/plugin/out_lm.rb +36 -26
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fbacc1e0e4eb5389c11d4b23c28eda6100919da6d7de0abbda9edf13dffbf682
|
4
|
+
data.tar.gz: 3bffdba784febf493f69ba0be9c1745f53d7aebb8f66ef92bf23b252fb91d2bb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 34362b69e402d439ee415089540a5f3d1532bb5f44c997bca79437e57a64286579b3e9c8349ebb44095bf86e976e2b197ddd9f7f20a32600e2c164685310b62e
|
7
|
+
data.tar.gz: '0631937f8f545e675735e207d6e6137748ef0bc1445cdab27c1b0179f0513daa271fbee4bcbe9000aa8fea1df155e5f208f82fdb6002a6e58f133f09c2616e57'
|
data/README.md
CHANGED
@@ -70,7 +70,7 @@ See the [LogicMonitor Helm repository](https://github.com/logicmonitor/k8s-helm-
|
|
70
70
|
| `debug` | When `true`, logs more information to the fluentd console. |
|
71
71
|
| `force_encoding` | Specify charset when logs contains invalid utf-8 characters. |
|
72
72
|
| `include_metadata` | When `true`, appends additional metadata to the log. default `false`. |
|
73
|
-
| `device_less_logs` | When `true`, do not map log with any resource. record must have `service`
|
74
|
-
|
73
|
+
| `device_less_logs` | When `true`, do not map log with any resource. record must have `service` when `true`. default `false`. |
|
74
|
+
|
75
75
|
|
76
76
|
|
data/lib/fluent/plugin/out_lm.rb
CHANGED
@@ -38,8 +38,6 @@ module Fluent
|
|
38
38
|
config_param :version_id, :string, :default => "version_id"
|
39
39
|
|
40
40
|
config_param :device_less_logs, :bool, :default => false
|
41
|
-
|
42
|
-
config_param :metadata_to_exclude, :array, default: [], value_type: :string
|
43
41
|
|
44
42
|
# This method is called before starting.
|
45
43
|
# 'conf' is a Hash that includes configuration parameters.
|
@@ -87,6 +85,11 @@ module Fluent
|
|
87
85
|
def process_record(tag, time, record)
|
88
86
|
resource_map = {}
|
89
87
|
lm_event = {}
|
88
|
+
|
89
|
+
if @include_metadata
|
90
|
+
lm_event = get_metadata(record)
|
91
|
+
end
|
92
|
+
|
90
93
|
if !@device_less_logs
|
91
94
|
if record["_lm.resourceId"] == nil
|
92
95
|
@resource_mapping.each do |key, value|
|
@@ -101,6 +104,13 @@ module Fluent
|
|
101
104
|
else
|
102
105
|
lm_event["_lm.resourceId"] = record["_lm.resourceId"]
|
103
106
|
end
|
107
|
+
else
|
108
|
+
if record["service"]==nil
|
109
|
+
log.error "When device_less_logs is set \'true\', record must have \'service\'. Ignoring this event #{lm_event}."
|
110
|
+
return nil
|
111
|
+
else
|
112
|
+
lm_event["service"] = encode_if_necessary(record["service"])
|
113
|
+
end
|
104
114
|
end
|
105
115
|
|
106
116
|
if record["timestamp"] != nil
|
@@ -109,35 +119,35 @@ module Fluent
|
|
109
119
|
lm_event["timestamp"] = Time.at(time).utc.to_datetime.rfc3339
|
110
120
|
end
|
111
121
|
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
122
|
+
lm_event["message"] = encode_if_necessary(record["message"])
|
123
|
+
|
124
|
+
return lm_event
|
125
|
+
end
|
126
|
+
|
127
|
+
def get_metadata(record)
|
128
|
+
#if encoding is not defined we will skip going through each key val
|
129
|
+
#and return the whole record for performance reasons in case of a bulky record.
|
130
|
+
if @force_encoding == ""
|
131
|
+
return record
|
132
|
+
else
|
133
|
+
lm_event = {}
|
134
|
+
record.each do |key, value|
|
135
|
+
lm_event["#{key}"] = get_encoded_string(value)
|
123
136
|
end
|
137
|
+
return lm_event
|
124
138
|
end
|
125
|
-
|
126
|
-
|
139
|
+
end
|
140
|
+
|
141
|
+
def encode_if_necessary(str)
|
127
142
|
if @force_encoding != ""
|
128
|
-
|
143
|
+
return get_encoded_string(str)
|
144
|
+
else
|
145
|
+
return str
|
129
146
|
end
|
147
|
+
end
|
130
148
|
|
131
|
-
|
132
|
-
|
133
|
-
log.error "When device_less_logs is set \'true\', record must have \'service\' and \'namespace\'. Ignoring this event #{lm_event}."
|
134
|
-
return nil
|
135
|
-
else
|
136
|
-
lm_event["service"] = record["service"]
|
137
|
-
lm_event["namespace"] = record["namespace"]
|
138
|
-
end
|
139
|
-
end
|
140
|
-
return lm_event
|
149
|
+
def get_encoded_string(str)
|
150
|
+
return str.force_encoding(@force_encoding).encode("UTF-8")
|
141
151
|
end
|
142
152
|
|
143
153
|
def send_batch(events)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-lm-logs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- LogicMonitor
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-03-
|
11
|
+
date: 2022-03-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fluentd
|