logstash-filter-kubernetes 0.2.1 → 0.3.1

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
  SHA1:
3
- metadata.gz: 4ab0ab830f44fb83005390d2b34179b28a9036d8
4
- data.tar.gz: 265bfdc97fb8431ac3dd8e16283470578bd8027f
3
+ metadata.gz: dcf4e960b8b44eea9fcc4cf065eca53ebd26274f
4
+ data.tar.gz: 7d13be190e624ae1ae0144a2dd922fe5226a73f4
5
5
  SHA512:
6
- metadata.gz: fce9d4cc5fda859824b3fdec1467d1bd7d78596e125009623ec3aa87cb8b44dffc84cd20a4f410f9a2fdb3ef75d5eb04e126e037d3e087764ad6856d096e4573
7
- data.tar.gz: edad6000d3acdc6405b0ed9439325dbb731f6361c3756e900275cabb3187a76bb51056678963357c376e66d0524e3e0cfb897cc5e14d0591aab1f901c4072672
6
+ metadata.gz: c1ff6b3dac5309eb0211cbf0ba176709e595e45d3c724bd9ca806e16282966df9ee74d8d65d5326c0084f708980ad7ebe97ca260757fbbc464467d283848b4cb
7
+ data.tar.gz: 4726ff04aa35dabc4acb9a1c10fbec5c7db8b465f993ed5d0df05731ad96c963c6e46bc3c7e9e6e7860282336e5ede53079057f752e881e7124ad4f70c152827
@@ -36,17 +36,11 @@ class LogStash::Filters::Kubernetes < LogStash::Filters::Base
36
36
  # The target field name to write event kubernetes metadata.
37
37
  config :target, :validate => :string, :default => "kubernetes"
38
38
 
39
+ def register; end
39
40
 
40
- public
41
- def register
42
- # Nothing to do
43
- end # def register
44
-
45
- public
46
41
  def filter(event)
47
-
48
- if @source and event[@source]
49
- parts = event[@source].split(File::SEPARATOR).last.gsub(/.log$/, '').split('_')
42
+ if @source and event.get(@source)
43
+ parts = event.get(@source).split(File::SEPARATOR).last.gsub(/.log$/, '').split('_')
50
44
 
51
45
  # We do not care about empty POD log files
52
46
  if parts.length != 3 || parts[2].start_with?('POD-')
@@ -59,11 +53,10 @@ class LogStash::Filters::Kubernetes < LogStash::Filters::Base
59
53
  kubernetes['container_name'] = parts[2].gsub(/-[0-9a-z]*$/, '')
60
54
  kubernetes['container_id'] = parts[2].split('-').last
61
55
 
62
- event[@target] = kubernetes
56
+ event.set(@target, kubernetes)
63
57
  end
64
58
  end
65
59
 
66
- # filter_matched should go in the last line of our successful code
67
60
  filter_matched(event)
68
- end # def filter
69
- end # class LogStash::Filters::Kubernetes
61
+ end
62
+ end
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'logstash-filter-kubernetes'
3
- s.version = '0.2.1'
3
+ s.version = '0.3.1'
4
4
  s.licenses = ['Apache License (2.0)']
5
5
  s.summary = "This filter extracts useful kubernetes information from kubelet logfile symlinks."
6
6
  s.description = "This gem is a logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/plugin install gemname. This gem is not a stand-alone program"
@@ -18,6 +18,6 @@ Gem::Specification.new do |s|
18
18
  s.metadata = { "logstash_plugin" => "true", "logstash_group" => "filter" }
19
19
 
20
20
  # Gem dependencies
21
- s.add_runtime_dependency "logstash-core", ">= 2.0.0", "< 3.0.0"
22
- s.add_development_dependency 'logstash-devutils', '~> 0'
21
+ s.add_runtime_dependency "logstash-core-plugin-api", "~> 2.0"
22
+ s.add_development_dependency 'logstash-devutils'
23
23
  end
@@ -1,8 +1,18 @@
1
1
  require 'spec_helper'
2
- require "logstash/filters/kubernetes"
2
+ require 'logstash/filters/kubernetes'
3
3
 
4
4
  describe LogStash::Filters::Kubernetes do
5
- describe "Split path into kubernetes key-value pairs." do
5
+ let(:expected_map) do
6
+ {
7
+ 'replication_controller' => 'kube-dns-v9',
8
+ 'pod' => 'kube-dns-v9-6mnxk',
9
+ 'namespace' => 'default',
10
+ 'container_name' => 'skydns',
11
+ 'container_id' => '47d3a3bfb112dbd2fd6e255e1e3d9eb91a10b62342e620e4917e2f5e24398507'
12
+ }
13
+ end
14
+
15
+ describe 'Split path into kubernetes key-value pairs' do
6
16
  let(:config) do <<-CONFIG
7
17
  filter {
8
18
  kubernetes {
@@ -12,14 +22,12 @@ describe LogStash::Filters::Kubernetes do
12
22
  CONFIG
13
23
  end
14
24
 
15
- sample("path" => "/var/log/containers/kube-dns-v9-6mnxk_default_skydns-47d3a3bfb112dbd2fd6e255e1e3d9eb91a10b62342e620e4917e2f5e24398507.log") do
16
- insist { subject["kubernetes"] } == {"replication_controller"=>"kube-dns-v9", "pod"=>"kube-dns-v9-6mnxk", "namespace"=>"default", "container_name"=>"skydns", "container_id"=>"47d3a3bfb112dbd2fd6e255e1e3d9eb91a10b62342e620e4917e2f5e24398507"}
25
+ sample('path' => '/var/log/containers/kube-dns-v9-6mnxk_default_skydns-47d3a3bfb112dbd2fd6e255e1e3d9eb91a10b62342e620e4917e2f5e24398507.log') do
26
+ insist { subject.get('kubernetes') } == expected_map
17
27
  end
18
28
  end
19
- end
20
29
 
21
- describe LogStash::Filters::Kubernetes do
22
- describe "Set target field name." do
30
+ describe 'Set target field name' do
23
31
  let(:config) do <<-CONFIG
24
32
  filter {
25
33
  kubernetes {
@@ -30,14 +38,12 @@ describe LogStash::Filters::Kubernetes do
30
38
  CONFIG
31
39
  end
32
40
 
33
- sample("path" => "/var/log/containers/kube-dns-v9-6mnxk_default_skydns-47d3a3bfb112dbd2fd6e255e1e3d9eb91a10b62342e620e4917e2f5e24398507.log") do
34
- insist { subject["foobar"] } == {"replication_controller"=>"kube-dns-v9", "pod"=>"kube-dns-v9-6mnxk", "namespace"=>"default", "container_name"=>"skydns", "container_id"=>"47d3a3bfb112dbd2fd6e255e1e3d9eb91a10b62342e620e4917e2f5e24398507"}
41
+ sample('path' => '/var/log/containers/kube-dns-v9-6mnxk_default_skydns-47d3a3bfb112dbd2fd6e255e1e3d9eb91a10b62342e620e4917e2f5e24398507.log') do
42
+ insist { subject.get('foobar') } == expected_map
35
43
  end
36
44
  end
37
- end
38
45
 
39
- describe LogStash::Filters::Kubernetes do
40
- describe "Skip parsing empty POD event." do
46
+ describe 'Skip parsing empty POD event' do
41
47
  let(:config) do <<-CONFIG
42
48
  filter {
43
49
  kubernetes {
@@ -47,8 +53,8 @@ describe LogStash::Filters::Kubernetes do
47
53
  CONFIG
48
54
  end
49
55
 
50
- sample("path" => "/var/log/containers/kube-dns-v9-6mnxk_default_POD-eaca2cf56e761c25dc4878d48fbe056402ba01f3f6448650d93f988ec121b8cd.log") do
51
- insist { subject["kubernetes"] } == nil
56
+ sample('path' => '/var/log/containers/kube-dns-v9-6mnxk_default_POD-eaca2cf56e761c25dc4878d48fbe056402ba01f3f6448650d93f988ec121b8cd.log') do
57
+ insist { subject.get("kubernetes") } == nil
52
58
  end
53
59
  end
54
60
  end
metadata CHANGED
@@ -1,47 +1,41 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-filter-kubernetes
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vaidas Jablonskis
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-11-04 00:00:00.000000000 Z
11
+ date: 2016-12-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: logstash-core
14
+ name: logstash-core-plugin-api
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: 2.0.0
20
- - - "<"
17
+ - - "~>"
21
18
  - !ruby/object:Gem::Version
22
- version: 3.0.0
19
+ version: '2.0'
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- version: 2.0.0
30
- - - "<"
24
+ - - "~>"
31
25
  - !ruby/object:Gem::Version
32
- version: 3.0.0
26
+ version: '2.0'
33
27
  - !ruby/object:Gem::Dependency
34
28
  name: logstash-devutils
35
29
  requirement: !ruby/object:Gem::Requirement
36
30
  requirements:
37
- - - "~>"
31
+ - - ">="
38
32
  - !ruby/object:Gem::Version
39
33
  version: '0'
40
34
  type: :development
41
35
  prerelease: false
42
36
  version_requirements: !ruby/object:Gem::Requirement
43
37
  requirements:
44
- - - "~>"
38
+ - - ">="
45
39
  - !ruby/object:Gem::Version
46
40
  version: '0'
47
41
  description: This gem is a logstash plugin required to be installed on top of the
@@ -81,7 +75,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
81
75
  version: '0'
82
76
  requirements: []
83
77
  rubyforge_project:
84
- rubygems_version: 2.5.1
78
+ rubygems_version: 2.5.2
85
79
  signing_key:
86
80
  specification_version: 4
87
81
  summary: This filter extracts useful kubernetes information from kubelet logfile symlinks.