fluent-plugin-kubernetes_metadata_input 0.21.8 → 0.21.9

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: 9d6046a3e056886887ed41df204015cb3a5203f0
4
- data.tar.gz: 294f347610284f83500c72167b9cd9b1bb45b7ec
3
+ metadata.gz: f0cc7b953fde4c60ea251c82bbe8947e229199ce
4
+ data.tar.gz: 8b963c80b30f3d74cf7c7772175444e4403d12c2
5
5
  SHA512:
6
- metadata.gz: e14ccc276c48558aa350fdb1d6929bb1b2127db9dd6f6cb834145c029ccb34171e71ee9cd87c0b645695674c861d377fdb4ff509c6eca1e6541f05365921995c
7
- data.tar.gz: cc47b47a2c514cd516a9bbb5fccc2e79da917d88afd4ddbb86c7f895d7b855c1024a12f7cc95fa4c4e01c0620c11cbaaa69901a49d2b049383752cb65acd4c81
6
+ metadata.gz: 47a783e798ad45b5c6817e8c537fd771e14fcd683fd840da7fba3a474f4ad2778e2cde07f155654777d76d9ec3e5cd452791444602fc5d880f8d802b71f409e5
7
+ data.tar.gz: d563102ed3693849845f4d06d4953f3f28e664fd2c490c4b44276b4f1558e8ed270245f2b7bd218af777b782c1665b238c4216edb3f7ab5b859fd0f40c40d483
data/README.md CHANGED
@@ -1,2 +1,67 @@
1
1
  # fluent-plugin-kubernetes_metadata_input
2
- fork of kubernetes_metadata_filter
2
+ fork of [fluent-plugin-kubernetes_metadata_filter](https://github.com/fabric8io/fluent-plugin-kubernetes_metadata_filter)
3
+ Plugin watches for K8s resource updates and ingests them as nested JSON.
4
+ Untested, use at your own risk.
5
+
6
+ ## Installation
7
+
8
+ gem install fluent-plugin-kubernetes_metadata_input
9
+
10
+ ## Configuration
11
+
12
+ Configuration options for fluent.conf are:
13
+
14
+ * `kubernetes_url` - URL to the API server. Set this to retrieve further kubernetes metadata for logs from kubernetes API server
15
+ * `apiVersion` - API version to use (default: `v1`)
16
+ * `ca_file` - path to CA file for Kubernetes server certificate validation
17
+ * `verify_ssl` - validate SSL certificates (default: `true`)
18
+ * `client_cert` - path to a client cert file to authenticate to the API server
19
+ * `client_key` - path to a client key file to authenticate to the API server
20
+ * `bearer_token_file` - path to a file containing the bearer token to use for authentication
21
+ * `resource` - Kubernetes resource type. f.e. Events, Pods, Service, ReplicationController, Node, Endpoint, Namespace
22
+
23
+ ### Sample configuration:
24
+ The following configuration watches for Kubernetes events and pod changes and sends them to stdout.
25
+ ```
26
+ <source>
27
+ @type kubernetes_metadata
28
+ kubernetes_url https://127.0.0.1:8443
29
+ verify_ssl false
30
+ bearer_token_file /Users/asherkho-osx/src/fluent-plugin-kubernetes_metadata_input/bearer_token
31
+ resource Events
32
+ </source>
33
+ <source>
34
+ @type kubernetes_metadata
35
+ kubernetes_url https://127.0.0.1:8443
36
+ verify_ssl false
37
+ bearer_token_file /Users/asherkho-osx/src/fluent-plugin-kubernetes_metadata_input/bearer_token
38
+ resource Pods
39
+ </source>
40
+
41
+ <match **>
42
+ type stdout
43
+ </match>
44
+ ```
45
+ ### Tag
46
+ The tag is constructed as following:
47
+ ```
48
+ kubernetes.<resource_type>.<namespace_name>.<resource_name>
49
+ ```
50
+
51
+ If a resource doesn't have a namespace, namespace ```openshift-infra``` is added.
52
+
53
+ ### Kubernetes labels and annotations
54
+ Labels and annotations are converted to an array of strings.
55
+ ```
56
+ "labels":{
57
+ "kubernetes.io/hostname":"origin",
58
+ "logging-infra-fluentd":"true"
59
+ }
60
+ ```
61
+ will be converted to
62
+ ```
63
+ "labels": [
64
+ "kubernetes.io/hostname=origin",
65
+ "logging-infra-fluentd=true"
66
+ ]
67
+ ```
@@ -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_input"
7
- gem.version = "0.21.8"
7
+ gem.version = "0.21.9"
8
8
  gem.authors = ["Anton Sherkhonov"]
9
9
  gem.email = ["sherkhonov@gmail.com"]
10
10
  gem.description = %q{Input plugin to collect Kubernetes metadata}
@@ -26,12 +26,19 @@ module Fluent
26
26
 
27
27
  Fluent::Plugin.register_input('kubernetes_metadata', self)
28
28
 
29
+ desc 'URL to the API server. Set this to retrieve further kubernetes metadata for logs from kubernetes API server'
29
30
  config_param :kubernetes_url, :string, default: nil
31
+ desc 'k8s API version to use'
30
32
  config_param :apiVersion, :string, default: 'v1'
33
+ desc 'path to a client cert file to authenticate to the API server'
31
34
  config_param :client_cert, :string, default: nil
35
+ desc 'path to a client key file to authenticate to the API server'
32
36
  config_param :client_key, :string, default: nil
37
+ desc 'path to CA file for Kubernetes server certificate validation'
33
38
  config_param :ca_file, :string, default: nil
39
+ desc 'validate SSL certificates'
34
40
  config_param :verify_ssl, :bool, default: true
41
+ desc 'path to a file containing the bearer token to use for authentication'
35
42
  config_param :bearer_token_file, :string, default: nil
36
43
  config_param :secret_dir, :string, default: '/var/run/secrets/kubernetes.io/serviceaccount'
37
44
  desc 'Kubernetes resource type to watch.'
@@ -141,10 +148,17 @@ module Fluent
141
148
  end
142
149
 
143
150
 
144
- watcher.each do |notice|
145
- time = Engine.now
146
- emit_event(notice.object, time, notice.type)
151
+ begin
152
+ watcher.each do |notice|
153
+ time = Engine.now
154
+ emit_event(notice.object, time, notice.type)
155
+ end
156
+ log.trace "Exited resource watcher"
157
+ rescue
158
+ log.error "Unexpected error in resource watcher", :error=>$!.to_s
159
+ log.error_backtrace
147
160
  end
161
+
148
162
  end
149
163
 
150
164
  def emit_event(event_obj, time, type)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-kubernetes_metadata_input
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.21.8
4
+ version: 0.21.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anton Sherkhonov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-24 00:00:00.000000000 Z
11
+ date: 2016-06-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluentd