fluent-plugin-kubernetes_metadata_input 0.21.8 → 0.21.9
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 +66 -1
- data/fluent-plugin-kubernetes_metadata_input.gemspec +1 -1
- data/lib/fluent/plugin/in_kubernetes_metadata.rb +17 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f0cc7b953fde4c60ea251c82bbe8947e229199ce
|
4
|
+
data.tar.gz: 8b963c80b30f3d74cf7c7772175444e4403d12c2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
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
|
-
|
145
|
-
|
146
|
-
|
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.
|
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-
|
11
|
+
date: 2016-06-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fluentd
|