logstash-filter-kubernetes 0.2.1 → 0.3.1

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: 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.