master
go 236 lines 9.52 KB
Raw
1 // SPDX-License-Identifier: GPL-3.0-or-later
2
3 package k8s_kubelet
4
5 import "github.com/netdata/netdata/go/plugins/plugin/framework/collectorapi"
6
7 type (
8 // Charts is an alias for collectorapi.Charts
9 Charts = collectorapi.Charts
10 // Chart is an alias for collectorapi.Chart
11 Chart = collectorapi.Chart
12 // Dims is an alias for collectorapi.Dims
13 Dims = collectorapi.Dims
14 // Dim is an alias for collectorapi.Dim
15 Dim = collectorapi.Dim
16 )
17
18 var charts = Charts{
19 {
20 ID: "apiserver_audit_requests_rejected_total",
21 Title: "API Server Audit Requests",
22 Units: "requests/s",
23 Fam: "api server",
24 Ctx: "k8s_kubelet.apiserver_audit_requests_rejected",
25 Dims: Dims{
26 {ID: "apiserver_audit_requests_rejected_total", Name: "rejected", Algo: collectorapi.Incremental},
27 },
28 },
29 {
30 ID: "apiserver_storage_data_key_generation_failures_total",
31 Title: "API Server Failed Data Encryption Key(DEK) Generation Operations",
32 Units: "events/s",
33 Fam: "api server",
34 Ctx: "k8s_kubelet.apiserver_storage_data_key_generation_failures",
35 Dims: Dims{
36 {ID: "apiserver_storage_data_key_generation_failures_total", Name: "failures", Algo: collectorapi.Incremental},
37 },
38 },
39 {
40 ID: "apiserver_storage_data_key_generation_latencies",
41 Title: "API Server Latencies Of Data Encryption Key(DEK) Generation Operations",
42 Units: "observes/s",
43 Fam: "api server",
44 Ctx: "k8s_kubelet.apiserver_storage_data_key_generation_latencies",
45 Type: collectorapi.Stacked,
46 Dims: Dims{
47 {ID: "apiserver_storage_data_key_generation_bucket_5", Name: "5 µs", Algo: collectorapi.Incremental},
48 {ID: "apiserver_storage_data_key_generation_bucket_10", Name: "10 µs", Algo: collectorapi.Incremental},
49 {ID: "apiserver_storage_data_key_generation_bucket_20", Name: "20 µs", Algo: collectorapi.Incremental},
50 {ID: "apiserver_storage_data_key_generation_bucket_40", Name: "40 µs", Algo: collectorapi.Incremental},
51 {ID: "apiserver_storage_data_key_generation_bucket_80", Name: "80 µs", Algo: collectorapi.Incremental},
52 {ID: "apiserver_storage_data_key_generation_bucket_160", Name: "160 µs", Algo: collectorapi.Incremental},
53 {ID: "apiserver_storage_data_key_generation_bucket_320", Name: "320 µs", Algo: collectorapi.Incremental},
54 {ID: "apiserver_storage_data_key_generation_bucket_640", Name: "640 µs", Algo: collectorapi.Incremental},
55 {ID: "apiserver_storage_data_key_generation_bucket_1280", Name: "1280 µs", Algo: collectorapi.Incremental},
56 {ID: "apiserver_storage_data_key_generation_bucket_2560", Name: "2560 µs", Algo: collectorapi.Incremental},
57 {ID: "apiserver_storage_data_key_generation_bucket_5120", Name: "5120 µs", Algo: collectorapi.Incremental},
58 {ID: "apiserver_storage_data_key_generation_bucket_10240", Name: "10240 µs", Algo: collectorapi.Incremental},
59 {ID: "apiserver_storage_data_key_generation_bucket_20480", Name: "20480 µs", Algo: collectorapi.Incremental},
60 {ID: "apiserver_storage_data_key_generation_bucket_40960", Name: "40960 µs", Algo: collectorapi.Incremental},
61 {ID: "apiserver_storage_data_key_generation_bucket_+Inf", Name: "+Inf", Algo: collectorapi.Incremental},
62 },
63 },
64 {
65 ID: "apiserver_storage_data_key_generation_latencies_percentage",
66 Title: "API Server Latencies Of Data Encryption Key(DEK) Generation Operations Percentage",
67 Units: "%",
68 Fam: "api server",
69 Ctx: "k8s_kubelet.apiserver_storage_data_key_generation_latencies_percent",
70 Type: collectorapi.Stacked,
71 Dims: Dims{
72 {ID: "apiserver_storage_data_key_generation_bucket_5", Name: "5 µs", Algo: collectorapi.PercentOfIncremental},
73 {ID: "apiserver_storage_data_key_generation_bucket_10", Name: "10 µs", Algo: collectorapi.PercentOfIncremental},
74 {ID: "apiserver_storage_data_key_generation_bucket_20", Name: "20 µs", Algo: collectorapi.PercentOfIncremental},
75 {ID: "apiserver_storage_data_key_generation_bucket_40", Name: "40 µs", Algo: collectorapi.PercentOfIncremental},
76 {ID: "apiserver_storage_data_key_generation_bucket_80", Name: "80 µs", Algo: collectorapi.PercentOfIncremental},
77 {ID: "apiserver_storage_data_key_generation_bucket_160", Name: "160 µs", Algo: collectorapi.PercentOfIncremental},
78 {ID: "apiserver_storage_data_key_generation_bucket_320", Name: "320 µs", Algo: collectorapi.PercentOfIncremental},
79 {ID: "apiserver_storage_data_key_generation_bucket_640", Name: "640 µs", Algo: collectorapi.PercentOfIncremental},
80 {ID: "apiserver_storage_data_key_generation_bucket_1280", Name: "1280 µs", Algo: collectorapi.PercentOfIncremental},
81 {ID: "apiserver_storage_data_key_generation_bucket_2560", Name: "2560 µs", Algo: collectorapi.PercentOfIncremental},
82 {ID: "apiserver_storage_data_key_generation_bucket_5120", Name: "5120 µs", Algo: collectorapi.PercentOfIncremental},
83 {ID: "apiserver_storage_data_key_generation_bucket_10240", Name: "10240 µs", Algo: collectorapi.PercentOfIncremental},
84 {ID: "apiserver_storage_data_key_generation_bucket_20480", Name: "20480 µs", Algo: collectorapi.PercentOfIncremental},
85 {ID: "apiserver_storage_data_key_generation_bucket_40960", Name: "40960 µs", Algo: collectorapi.PercentOfIncremental},
86 {ID: "apiserver_storage_data_key_generation_bucket_+Inf", Name: "+Inf", Algo: collectorapi.PercentOfIncremental},
87 },
88 },
89 {
90 ID: "apiserver_storage_envelope_transformation_cache_misses_total",
91 Title: "API Server Storage Envelope Transformation Cache Misses",
92 Units: "events/s",
93 Fam: "api server",
94 Ctx: "k8s_kubelet.apiserver_storage_envelope_transformation_cache_misses",
95 Dims: Dims{
96 {ID: "apiserver_storage_envelope_transformation_cache_misses_total", Name: "cache misses", Algo: collectorapi.Incremental},
97 },
98 },
99 {
100 ID: "kubelet_containers_running",
101 Title: "Number Of Containers Currently Running",
102 Units: "running containers",
103 Fam: "containers",
104 Ctx: "k8s_kubelet.kubelet_containers_running",
105 Dims: Dims{
106 {ID: "kubelet_running_container", Name: "total"},
107 },
108 },
109 {
110 ID: "kubelet_pods_running",
111 Title: "Number Of Pods Currently Running",
112 Units: "running pods",
113 Fam: "pods",
114 Ctx: "k8s_kubelet.kubelet_pods_running",
115 Dims: Dims{
116 {ID: "kubelet_running_pod", Name: "total"},
117 },
118 },
119 {
120 ID: "kubelet_pods_log_filesystem_used_bytes",
121 Title: "Bytes Used By The Pod Logs On The Filesystem",
122 Units: "B",
123 Fam: "pods",
124 Ctx: "k8s_kubelet.kubelet_pods_log_filesystem_used_bytes",
125 Type: collectorapi.Stacked,
126 },
127 {
128 ID: "kubelet_runtime_operations",
129 Title: "Runtime Operations By Type",
130 Units: "operations/s",
131 Fam: "operations",
132 Ctx: "k8s_kubelet.kubelet_runtime_operations",
133 Type: collectorapi.Stacked,
134 },
135 {
136 ID: "kubelet_runtime_operations_errors",
137 Title: "Runtime Operations Errors By Type",
138 Units: "errors/s",
139 Fam: "operations",
140 Ctx: "k8s_kubelet.kubelet_runtime_operations_errors",
141 Type: collectorapi.Stacked,
142 },
143 {
144 ID: "kubelet_docker_operations",
145 Title: "Docker Operations By Type",
146 Units: "operations/s",
147 Fam: "operations",
148 Ctx: "k8s_kubelet.kubelet_docker_operations",
149 Type: collectorapi.Stacked,
150 },
151 {
152 ID: "kubelet_docker_operations_errors",
153 Title: "Docker Operations Errors By Type",
154 Units: "errors/s",
155 Fam: "operations",
156 Ctx: "k8s_kubelet.kubelet_docker_operations_errors",
157 Type: collectorapi.Stacked,
158 },
159 {
160 ID: "kubelet_node_config_error",
161 Title: "Node Configuration-Related Error",
162 Units: "bool",
163 Fam: "config error",
164 Ctx: "k8s_kubelet.kubelet_node_config_error",
165 Dims: Dims{
166 {ID: "kubelet_node_config_error", Name: "experiencing_error"},
167 },
168 },
169 {
170 ID: "kubelet_pleg_relist_interval_microseconds",
171 Title: "PLEG Relisting Interval Summary",
172 Units: "microseconds",
173 Fam: "pleg relisting",
174 Ctx: "k8s_kubelet.kubelet_pleg_relist_interval_microseconds",
175 Type: collectorapi.Stacked,
176 Dims: Dims{
177 {ID: "kubelet_pleg_relist_interval_05", Name: "0.5"},
178 {ID: "kubelet_pleg_relist_interval_09", Name: "0.9"},
179 {ID: "kubelet_pleg_relist_interval_099", Name: "0.99"},
180 },
181 },
182 {
183 ID: "kubelet_pleg_relist_latency_microseconds",
184 Title: "PLEG Relisting Latency Summary",
185 Units: "microseconds",
186 Fam: "pleg relisting",
187 Ctx: "k8s_kubelet.kubelet_pleg_relist_latency_microseconds",
188 Type: collectorapi.Stacked,
189 Dims: Dims{
190 {ID: "kubelet_pleg_relist_latency_05", Name: "0.5"},
191 {ID: "kubelet_pleg_relist_latency_09", Name: "0.9"},
192 {ID: "kubelet_pleg_relist_latency_099", Name: "0.99"},
193 },
194 },
195 {
196 ID: "kubelet_token_requests",
197 Title: "Token() Requests To The Alternate Token Source",
198 Units: "token requests/s",
199 Fam: "token",
200 Ctx: "k8s_kubelet.kubelet_token_requests",
201 Dims: Dims{
202 {ID: "token_count", Name: "total", Algo: collectorapi.Incremental},
203 {ID: "token_fail_count", Name: "failed", Algo: collectorapi.Incremental},
204 },
205 },
206 {
207 ID: "rest_client_requests_by_code",
208 Title: "HTTP Requests By Status Code",
209 Units: "requests/s",
210 Fam: "rest client",
211 Ctx: "k8s_kubelet.rest_client_requests_by_code",
212 Type: collectorapi.Stacked,
213 },
214 {
215 ID: "rest_client_requests_by_method",
216 Title: "HTTP Requests By Status Method",
217 Units: "requests/s",
218 Fam: "rest client",
219 Ctx: "k8s_kubelet.rest_client_requests_by_method",
220 Type: collectorapi.Stacked,
221 },
222 }
223
224 func newVolumeManagerChart(name string) *Chart {
225 return &Chart{
226 ID: "volume_manager_total_volumes_" + name,
227 Title: "Volume Manager State Of The World, Plugin " + name,
228 Units: "state",
229 Fam: "volume manager",
230 Ctx: "k8s_kubelet.volume_manager_total_volumes",
231 Dims: Dims{
232 {ID: "volume_manager_plugin_" + name + "_state_actual", Name: "actual"},
233 {ID: "volume_manager_plugin_" + name + "_state_desired", Name: "desired"},
234 },
235 }
236 }