fluent-plugin-kubernetes-metrics 1.2.0 → 1.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +6 -6
- data/VERSION +1 -1
- data/lib/fluent/plugin/in_kubernetes_metrics.rb +4 -0
- data/test/plugin/test_in_kubernetes_metrics.rb +24 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c8cc8ed0ac2d0a4e52276aef23ec9e9cebb7659d9d2d1ad8bce83f9d88a4220c
|
4
|
+
data.tar.gz: c22c687bfc5ea76e5f3ee70a0f4aa0838af5e83e8b6a939faff4e0f34b84e2ae
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4c9425096d61afd78cee9a42169e74d2f22dd8512699fe960b92b0b8ceffa72de0a2b09ab9b811fcbcd6f11085a6c7f32259e95fd1da92d1cd0507b22ce3f99b
|
7
|
+
data.tar.gz: 8c7e6f37ea8134cda37bd52347f5cacee5c8d8b9c84a75c899b0938551a027cf737816892ce1156f7f6f215679c05b85d6c3256546b3051be4e659aa0d68ff4f
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
fluent-plugin-kubernetes-metrics (1.2.
|
4
|
+
fluent-plugin-kubernetes-metrics (1.2.1)
|
5
5
|
fluentd (>= 1.9.1)
|
6
6
|
kubeclient (~> 4.9.3)
|
7
7
|
multi_json (~> 1.14)
|
@@ -23,7 +23,7 @@ GEM
|
|
23
23
|
ffi-compiler (1.0.1)
|
24
24
|
ffi (>= 1.0.0)
|
25
25
|
rake
|
26
|
-
fluentd (1.15.
|
26
|
+
fluentd (1.15.3)
|
27
27
|
bundler
|
28
28
|
cool.io (>= 1.4.5, < 2.0.0)
|
29
29
|
http_parser.rb (>= 0.5.1, < 0.9.0)
|
@@ -59,10 +59,10 @@ GEM
|
|
59
59
|
mime-types (3.4.1)
|
60
60
|
mime-types-data (~> 3.2015)
|
61
61
|
mime-types-data (3.2022.0105)
|
62
|
-
msgpack (1.
|
62
|
+
msgpack (1.6.0)
|
63
63
|
multi_json (1.15.0)
|
64
64
|
netrc (0.11.0)
|
65
|
-
oj (3.13.
|
65
|
+
oj (3.13.23)
|
66
66
|
power_assert (2.0.1)
|
67
67
|
public_suffix (4.0.6)
|
68
68
|
rake (13.0.6)
|
@@ -86,7 +86,7 @@ GEM
|
|
86
86
|
power_assert
|
87
87
|
tzinfo (2.0.5)
|
88
88
|
concurrent-ruby (~> 1.0)
|
89
|
-
tzinfo-data (1.2022.
|
89
|
+
tzinfo-data (1.2022.6)
|
90
90
|
tzinfo (>= 1.0.0)
|
91
91
|
unf (0.1.4)
|
92
92
|
unf_ext
|
@@ -110,4 +110,4 @@ DEPENDENCIES
|
|
110
110
|
webmock (~> 3.5.1)
|
111
111
|
|
112
112
|
BUNDLED WITH
|
113
|
-
2.3.
|
113
|
+
2.3.26
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.2.
|
1
|
+
1.2.1
|
@@ -17,6 +17,7 @@ require 'time'
|
|
17
17
|
require 'fluent/plugin/input'
|
18
18
|
require 'kubeclient'
|
19
19
|
require 'multi_json'
|
20
|
+
require 'resolv'
|
20
21
|
|
21
22
|
module Fluent
|
22
23
|
module Plugin
|
@@ -76,6 +77,8 @@ module Fluent
|
|
76
77
|
def configure(conf)
|
77
78
|
super
|
78
79
|
|
80
|
+
@kubelet_address = "[#{@kubelet_address}]" if @kubelet_address =~ Resolv::IPv6::Regex
|
81
|
+
|
79
82
|
if @use_rest_client
|
80
83
|
raise Fluentd::ConfigError, 'node_name is required' if @node_name.nil? || @node_name.empty?
|
81
84
|
else
|
@@ -136,6 +139,7 @@ module Fluent
|
|
136
139
|
if @kubernetes_url.nil?
|
137
140
|
# Use Kubernetes default service account if we're in a pod.
|
138
141
|
env_host = ENV['KUBERNETES_SERVICE_HOST']
|
142
|
+
env_host = "[#{env_host}]" if env_host =~ Resolv::IPv6::Regex
|
139
143
|
env_port = ENV['KUBERNETES_SERVICE_PORT']
|
140
144
|
if env_host && env_port
|
141
145
|
@kubernetes_url = "https://#{env_host}:#{env_port}/api/"
|
@@ -109,6 +109,30 @@ class KubernetesMetricsInputTest < Test::Unit::TestCase
|
|
109
109
|
assert_equal true, d.instance.use_rest_client
|
110
110
|
end
|
111
111
|
|
112
|
+
test 'IPv6 node configuration' do
|
113
|
+
IPv6_CONFIG = %(
|
114
|
+
type kubernetes_metrics
|
115
|
+
node_name generics-aws-node-name
|
116
|
+
tag kube.*
|
117
|
+
insecure_ssl true
|
118
|
+
interval 10s
|
119
|
+
use_rest_client true
|
120
|
+
use_rest_client_ssl false
|
121
|
+
kubelet_port 10_255
|
122
|
+
kubelet_address fd55:4d62:e00f::1
|
123
|
+
)
|
124
|
+
assert_nothing_raised(Fluent::ConfigError) do
|
125
|
+
create_driver(IPv6_CONFIG)
|
126
|
+
end
|
127
|
+
|
128
|
+
d = create_driver(IPv6_CONFIG)
|
129
|
+
assert_equal '[fd55:4d62:e00f::1]', d.instance.kubelet_address
|
130
|
+
assert_equal 'http://[fd55:4d62:e00f::1]:10255/stats/summary', d.instance.instance_variable_get('@kubelet_url')
|
131
|
+
assert_equal 'http://[fd55:4d62:e00f::1]:10255/stats', d.instance.instance_variable_get('@kubelet_url_stats')
|
132
|
+
assert_equal 'http://[fd55:4d62:e00f::1]:10255/metrics/cadvisor', d.instance.instance_variable_get('@cadvisor_url')
|
133
|
+
|
134
|
+
end
|
135
|
+
|
112
136
|
sub_test_case 'node_unit_tests' do
|
113
137
|
test 'test_emit_cpu_metrics' do
|
114
138
|
assert_not_nil @@hash_map_test.key?('kube.node.cpu.usage')
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-kubernetes-metrics
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Splunk Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-11-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -180,6 +180,6 @@ signing_key:
|
|
180
180
|
specification_version: 4
|
181
181
|
summary: A fluentd input plugin that collects kubernetes cluster metrics.
|
182
182
|
test_files:
|
183
|
-
- test/plugin/test_missing_timestamps.rb
|
184
183
|
- test/plugin/test_in_kubernetes_metrics.rb
|
184
|
+
- test/plugin/test_missing_timestamps.rb
|
185
185
|
- test/helper.rb
|