fluent-plugin-kubernetes_metadata_filter 0.25.3 → 0.26.0
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
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f1ae65aac8285479f1ba55639b4c9440809fcb56
|
4
|
+
data.tar.gz: aed7b25905c55ba8d06c478cb3793012d40ff148
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: abcb46a6d6fc693c0dc315e53dfe353a20f562b80ce353462d7f944180349051c1216be9ef038037411f8744c0ee421aed00e508b5a5ebff388038966f465b6c
|
7
|
+
data.tar.gz: f6b5ecfeb93078c26d18f1d0f3ba01333546f8533b05e1bcb18062a1ce142ef5e4431b9741f3c5afdcd1f1b088683182c1f97f24a54e3e30e4a6630e538b9be7
|
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |gem|
|
6
6
|
gem.name = "fluent-plugin-kubernetes_metadata_filter"
|
7
|
-
gem.version = "0.
|
7
|
+
gem.version = "0.26.0"
|
8
8
|
gem.authors = ["Jimmi Dyson"]
|
9
9
|
gem.email = ["jimmidyson@gmail.com"]
|
10
10
|
gem.description = %q{Filter plugin to add Kubernetes metadata}
|
@@ -71,7 +71,7 @@ module Fluent
|
|
71
71
|
newhsh
|
72
72
|
end
|
73
73
|
|
74
|
-
def get_metadata(namespace_name, pod_name
|
74
|
+
def get_metadata(namespace_name, pod_name)
|
75
75
|
begin
|
76
76
|
metadata = @client.get_pod(pod_name, namespace_name)
|
77
77
|
return if !metadata
|
@@ -79,12 +79,12 @@ module Fluent
|
|
79
79
|
annotations = match_annotations(syms_to_strs(metadata['metadata']['annotations'].to_h))
|
80
80
|
if @de_dot
|
81
81
|
self.de_dot!(labels)
|
82
|
+
self.de_dot!(annotations)
|
82
83
|
end
|
83
84
|
kubernetes_metadata = {
|
84
85
|
'namespace_name' => namespace_name,
|
85
86
|
'pod_id' => metadata['metadata']['uid'],
|
86
87
|
'pod_name' => pod_name,
|
87
|
-
'container_name' => container_name,
|
88
88
|
'labels' => labels,
|
89
89
|
'host' => metadata['spec']['nodeName']
|
90
90
|
}
|
@@ -214,20 +214,18 @@ module Fluent
|
|
214
214
|
'kubernetes' => {
|
215
215
|
'namespace_name' => match_data['namespace'],
|
216
216
|
'pod_name' => match_data['pod_name'],
|
217
|
-
'container_name' => match_data['container_name']
|
218
217
|
}
|
219
218
|
}
|
220
219
|
|
221
220
|
if @kubernetes_url.present?
|
222
|
-
cache_key = "#{metadata['kubernetes']['namespace_name']}_#{metadata['kubernetes']['pod_name']}
|
221
|
+
cache_key = "#{metadata['kubernetes']['namespace_name']}_#{metadata['kubernetes']['pod_name']}"
|
223
222
|
|
224
223
|
this = self
|
225
224
|
metadata = @cache.getset(cache_key) {
|
226
225
|
if metadata
|
227
226
|
kubernetes_metadata = this.get_metadata(
|
228
227
|
metadata['kubernetes']['namespace_name'],
|
229
|
-
metadata['kubernetes']['pod_name']
|
230
|
-
metadata['kubernetes']['container_name']
|
228
|
+
metadata['kubernetes']['pod_name']
|
231
229
|
)
|
232
230
|
metadata['kubernetes'] = kubernetes_metadata if kubernetes_metadata
|
233
231
|
metadata
|
@@ -244,6 +242,8 @@ module Fluent
|
|
244
242
|
end
|
245
243
|
end
|
246
244
|
|
245
|
+
metadata['kubernetes']['container_name'] = match_data['container_name'] if match_data
|
246
|
+
|
247
247
|
es.each { |time, record|
|
248
248
|
record = merge_json_log(record) if @merge_json_log
|
249
249
|
|
@@ -270,20 +270,18 @@ module Fluent
|
|
270
270
|
},
|
271
271
|
'kubernetes' => {
|
272
272
|
'namespace_name' => match_data['namespace'],
|
273
|
-
'pod_name' => match_data['pod_name']
|
274
|
-
'container_name' => match_data['container_name']
|
273
|
+
'pod_name' => match_data['pod_name']
|
275
274
|
}
|
276
275
|
}
|
277
276
|
if @kubernetes_url.present?
|
278
|
-
cache_key = "#{metadata['kubernetes']['namespace_name']}_#{metadata['kubernetes']['pod_name']}
|
277
|
+
cache_key = "#{metadata['kubernetes']['namespace_name']}_#{metadata['kubernetes']['pod_name']}"
|
279
278
|
|
280
279
|
this = self
|
281
280
|
metadata = @cache.getset(cache_key) {
|
282
281
|
if metadata
|
283
282
|
kubernetes_metadata = this.get_metadata(
|
284
283
|
metadata['kubernetes']['namespace_name'],
|
285
|
-
metadata['kubernetes']['pod_name']
|
286
|
-
metadata['kubernetes']['container_name']
|
284
|
+
metadata['kubernetes']['pod_name']
|
287
285
|
)
|
288
286
|
metadata['kubernetes'] = kubernetes_metadata if kubernetes_metadata
|
289
287
|
metadata
|
@@ -298,6 +296,7 @@ module Fluent
|
|
298
296
|
metadata['kubernetes']['namespace_id'] = namespace_id if namespace_id
|
299
297
|
end
|
300
298
|
end
|
299
|
+
metadata['kubernetes']['container_name'] = match_data['container_name']
|
301
300
|
metadata
|
302
301
|
end
|
303
302
|
unless metadata
|
@@ -366,32 +365,27 @@ module Fluent
|
|
366
365
|
watcher.each do |notice|
|
367
366
|
case notice.type
|
368
367
|
when 'MODIFIED'
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
368
|
+
cache_key = "#{notice.object['metadata']['namespace']}_#{notice.object['metadata']['name']}"
|
369
|
+
cached = @cache[cache_key]
|
370
|
+
if cached
|
371
|
+
# Only thing that can be modified is labels and (possibly) annotations
|
372
|
+
labels = syms_to_strs(notice.object.metadata.labels.to_h)
|
373
|
+
annotations = match_annotations(syms_to_strs(notice.object.metadata.annotations.to_h))
|
374
|
+
if @de_dot
|
375
|
+
self.de_dot!(labels)
|
376
|
+
self.de_dot!(annotations)
|
377
|
+
end
|
378
|
+
cached['kubernetes']['labels'] = labels
|
379
|
+
if annotations.empty?
|
380
|
+
delete(cached['kubernetes']['annotations'])
|
381
|
+
else
|
382
|
+
cached['kubernetes']['annotations'] = annotations
|
383
|
+
end
|
384
|
+
@cache[cache_key] = cached
|
386
385
|
end
|
387
386
|
when 'DELETED'
|
388
|
-
|
389
|
-
|
390
|
-
notice.object.status.containerStatuses.each { |container_status|
|
391
|
-
cache_key = "#{pod_cache_key}_#{container_status['name']}"
|
392
|
-
@cache.delete(cache_key)
|
393
|
-
}
|
394
|
-
end
|
387
|
+
cache_key = "#{notice.object['metadata']['namespace']}_#{notice.object['metadata']['name']}"
|
388
|
+
@cache.delete(cache_key)
|
395
389
|
else
|
396
390
|
# Don't pay attention to creations, since the created pod may not
|
397
391
|
# end up on this node.
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-kubernetes_metadata_filter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.26.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jimmi Dyson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-10-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fluentd
|