master
yaml 504 lines 18.1 KB
Raw
1 plugin_name: go.d.plugin
2 modules:
3 - meta:
4 id: collector-go.d.plugin-k8s_state
5 plugin_name: go.d.plugin
6 module_name: k8s_state
7 monitored_instance:
8 name: Kubernetes Cluster State
9 link: https://kubernetes.io/
10 icon_filename: kubernetes.svg
11 categories:
12 - data-collection.containers-and-vms
13 keywords:
14 - kubernetes
15 - k8s
16 related_resources:
17 integrations:
18 list:
19 - plugin_name: go.d.plugin
20 module_name: k8s_apiserver
21 - plugin_name: go.d.plugin
22 module_name: k8s_kubelet
23 - plugin_name: go.d.plugin
24 module_name: k8s_kubeproxy
25 - plugin_name: cgroups.plugin
26 module_name: /sys/fs/cgroup
27 monitored_instance_name: "Kubernetes Containers"
28 - plugin_name: go.d.plugin
29 module_name: coredns
30 info_provided_to_referring_integrations:
31 description: ""
32 overview:
33 data_collection:
34 metrics_description: |
35 This collector monitors Kubernetes Nodes, Pods and Containers.
36 method_description: ""
37 supported_platforms:
38 include: []
39 exclude: []
40 multi_instance: false
41 additional_permissions:
42 description: ""
43 default_behavior:
44 auto_detection:
45 description: ""
46 limits:
47 description: ""
48 performance_impact:
49 description: ""
50 setup:
51 prerequisites:
52 list: []
53 configuration:
54 file:
55 name: go.d/k8s_state.conf
56 options:
57 description: ""
58 folding:
59 title: Config options
60 enabled: true
61 list: []
62 examples:
63 folding:
64 title: Config
65 enabled: true
66 list: []
67 troubleshooting:
68 problems:
69 list: []
70 alerts:
71 - name: k8s_state_deployment_condition_available
72 metric: k8s_state.deployment_conditions
73 info: 'Deployment ${label:k8s_deployment_name} does not have the minimum required replicas'
74 link: https://github.com/netdata/netdata/blob/master/src/health/health.d/k8sstate.conf
75 - name: k8s_state_cronjob_last_execution_failed
76 metric: k8s_state.cronjob_last_execution_status
77 info: 'CronJob ${label:k8s_cronjob_name} in ${label:k8s_namespace} failing'
78 link: https://github.com/netdata/netdata/blob/master/src/health/health.d/k8sstate.conf
79 metrics:
80 folding:
81 title: Metrics
82 enabled: false
83 description: ""
84 availability: []
85 scopes:
86 - name: node
87 description: These metrics refer to the Node.
88 labels:
89 - name: k8s_cluster_id
90 description: Cluster ID. This is equal to the kube-system namespace UID.
91 - name: k8s_cluster_name
92 description: Cluster name. Cluster name discovery only works in GKE.
93 - name: k8s_node_name
94 description: Node name.
95 metrics:
96 - name: k8s_state.node_allocatable_cpu_requests_utilization
97 description: CPU requests utilization
98 unit: '%'
99 chart_type: line
100 dimensions:
101 - name: requests
102 - name: k8s_state.node_allocatable_cpu_requests_used
103 description: CPU requests used
104 unit: millicpu
105 chart_type: line
106 dimensions:
107 - name: requests
108 - name: k8s_state.node_allocatable_cpu_limits_utilization
109 description: CPU limits utilization
110 unit: '%'
111 chart_type: line
112 dimensions:
113 - name: limits
114 - name: k8s_state.node_allocatable_cpu_limits_used
115 description: CPU limits used
116 unit: millicpu
117 chart_type: line
118 dimensions:
119 - name: limits
120 - name: k8s_state.node_allocatable_mem_requests_utilization
121 description: Memory requests utilization
122 unit: '%'
123 chart_type: line
124 dimensions:
125 - name: requests
126 - name: k8s_state.node_allocatable_mem_requests_used
127 description: Memory requests used
128 unit: bytes
129 chart_type: line
130 dimensions:
131 - name: requests
132 - name: k8s_state.node_allocatable_mem_limits_utilization
133 description: Memory limits utilization
134 unit: '%'
135 chart_type: line
136 dimensions:
137 - name: limits
138 - name: k8s_state.node_allocatable_mem_limits_used
139 description: Memory limits used
140 unit: bytes
141 chart_type: line
142 dimensions:
143 - name: limits
144 - name: k8s_state.node_allocatable_pods_utilization
145 description: Pods resource utilization
146 unit: '%'
147 chart_type: line
148 dimensions:
149 - name: allocated
150 - name: k8s_state.node_allocatable_pods_usage
151 description: Pods resource usage
152 unit: pods
153 chart_type: stacked
154 dimensions:
155 - name: available
156 - name: allocated
157 - name: k8s_state.node_condition
158 description: Condition status
159 unit: status
160 chart_type: line
161 dimensions:
162 - name: Ready
163 - name: DiskPressure
164 - name: MemoryPressure
165 - name: NetworkUnavailable
166 - name: PIDPressure
167 - name: k8s_state.node_schedulability
168 description: Schedulability
169 unit: state
170 chart_type: line
171 dimensions:
172 - name: schedulable
173 - name: unschedulable
174 - name: k8s_state.node_pods_readiness
175 description: Pods readiness
176 unit: '%'
177 chart_type: line
178 dimensions:
179 - name: ready
180 - name: k8s_state.node_pods_readiness_state
181 description: Pods readiness state
182 unit: pods
183 chart_type: line
184 dimensions:
185 - name: ready
186 - name: unready
187 - name: k8s_state.node_pods_condition
188 description: Pods condition
189 unit: pods
190 chart_type: line
191 dimensions:
192 - name: pod_ready
193 - name: pod_scheduled
194 - name: pod_initialized
195 - name: containers_ready
196 - name: k8s_state.node_pods_phase
197 description: Pods phase
198 unit: pods
199 chart_type: stacked
200 dimensions:
201 - name: running
202 - name: failed
203 - name: succeeded
204 - name: pending
205 - name: k8s_state.node_containers
206 description: Containers
207 unit: containers
208 chart_type: line
209 dimensions:
210 - name: containers
211 - name: init_containers
212 - name: k8s_state.node_containers_state
213 description: Containers state
214 unit: containers
215 chart_type: stacked
216 dimensions:
217 - name: running
218 - name: waiting
219 - name: terminated
220 - name: k8s_state.node_init_containers_state
221 description: Init containers state
222 unit: containers
223 chart_type: stacked
224 dimensions:
225 - name: running
226 - name: waiting
227 - name: terminated
228 - name: k8s_state.node_age
229 description: Age
230 unit: seconds
231 chart_type: line
232 dimensions:
233 - name: age
234 - name: deployment
235 description: These metrics refer to Deployments.
236 labels:
237 - name: k8s_cluster_id
238 description: Cluster ID. This is equal to the kube-system namespace UID.
239 - name: k8s_cluster_name
240 description: Cluster name. Cluster name discovery only works in GKE.
241 - name: k8s_deployment_name
242 description: Deployment name.
243 - name: k8s_namespace
244 description: Namespace.
245 metrics:
246 - name: k8s_state.deployment_conditions
247 description: Deployment Conditions
248 unit: 'status'
249 chart_type: line
250 dimensions:
251 - name: available
252 - name: replica_failure
253 - name: progressing
254 - name: k8s_state.deployment_replicas
255 description: Deployment Replicas
256 unit: 'replicas'
257 chart_type: line
258 dimensions:
259 - name: desired
260 - name: current
261 - name: ready
262 - name: k8s_state.deployment_age
263 description: Deployment Age
264 unit: 'seconds'
265 chart_type: line
266 dimensions:
267 - name: age
268 - name: cronjob
269 description: These metrics refer to CronJobs.
270 labels:
271 - name: k8s_cluster_id
272 description: Cluster ID. This is equal to the kube-system namespace UID.
273 - name: k8s_cluster_name
274 description: Cluster name. Cluster name discovery only works in GKE.
275 - name: k8s_cronjob_name
276 description: CronJob name.
277 - name: k8s_namespace
278 description: Namespace.
279 metrics:
280 - name: k8s_state.cronjob_jobs_count_by_status
281 description: CronJob Jobs Count by Status
282 unit: 'jobs'
283 chart_type: line
284 dimensions:
285 - name: completed
286 - name: failed
287 - name: running
288 - name: suspended
289 - name: k8s_state.cronjob_jobs_failed_by_reason
290 description: CronJob Jobs Failed by Reason
291 unit: 'jobs'
292 chart_type: line
293 dimensions:
294 - name: pod_failure_policy
295 - name: backoff_limit_exceeded
296 - name: deadline_exceeded
297 - name: k8s_state.cronjob_last_execution_status
298 description: CronJob Last Execution Status
299 unit: 'status'
300 chart_type: line
301 dimensions:
302 - name: completed
303 - name: failed
304 - name: k8s_state.cronjob_last_completion_duration
305 description: CronJob Last Completion Duration
306 unit: 'seconds'
307 chart_type: line
308 dimensions:
309 - name: last_completion
310 - name: k8s_state.cronjob_last_completed_time_ago
311 description: CronJob Last Completed Time Ago
312 unit: 'seconds'
313 chart_type: line
314 dimensions:
315 - name: last_completed_ago
316 - name: k8s_state.cronjob_last_schedule_time_ago
317 description: CronJob Last Schedule Time Ago
318 unit: 'seconds'
319 chart_type: line
320 dimensions:
321 - name: last_schedule_ago
322 - name: k8s_state.cronjob_suspend_status
323 description: CronJob Suspend Status
324 unit: 'status'
325 chart_type: line
326 dimensions:
327 - name: enabled
328 - name: suspended
329 - name: k8s_state.cronjob_age
330 description: CronJob Age
331 unit: 'seconds'
332 chart_type: line
333 dimensions:
334 - name: age
335 - name: pod
336 description: These metrics refer to the Pod.
337 labels:
338 - name: k8s_cluster_id
339 description: Cluster ID. This is equal to the kube-system namespace UID.
340 - name: k8s_cluster_name
341 description: Cluster name. Cluster name discovery only works in GKE.
342 - name: k8s_node_name
343 description: Node name.
344 - name: k8s_namespace
345 description: Namespace.
346 - name: k8s_controller_kind
347 description: Controller kind (ReplicaSet, DaemonSet, StatefulSet, Job, etc.).
348 - name: k8s_controller_name
349 description: Controller name.
350 - name: k8s_pod_name
351 description: Pod name.
352 - name: k8s_qos_class
353 description: Pod QOS class (burstable, guaranteed, besteffort).
354 metrics:
355 - name: k8s_state.pod_cpu_requests_used
356 description: CPU requests used
357 unit: millicpu
358 chart_type: line
359 dimensions:
360 - name: requests
361 - name: k8s_state.pod_cpu_limits_used
362 description: CPU limits used
363 unit: millicpu
364 chart_type: line
365 dimensions:
366 - name: limits
367 - name: k8s_state.pod_mem_requests_used
368 description: Memory requests used
369 unit: bytes
370 chart_type: line
371 dimensions:
372 - name: requests
373 - name: k8s_state.pod_mem_limits_used
374 description: Memory limits used
375 unit: bytes
376 chart_type: line
377 dimensions:
378 - name: limits
379 - name: k8s_state.pod_condition
380 description: Condition
381 unit: state
382 chart_type: line
383 dimensions:
384 - name: pod_ready
385 - name: pod_scheduled
386 - name: pod_initialized
387 - name: containers_ready
388 - name: k8s_state.pod_phase
389 description: Phase
390 unit: state
391 chart_type: line
392 dimensions:
393 - name: running
394 - name: failed
395 - name: succeeded
396 - name: pending
397 - name: k8s_state.pod_status_reason
398 description: Status reason
399 unit: status
400 chart_type: line
401 dimensions:
402 - name: Evicted
403 - name: NodeAffinity
404 - name: NodeLost
405 - name: Shutdown
406 - name: UnexpectedAdmissionError
407 - name: Other
408 - name: k8s_state.pod_age
409 description: Age
410 unit: seconds
411 chart_type: line
412 dimensions:
413 - name: age
414 - name: k8s_state.pod_containers
415 description: Containers
416 unit: containers
417 chart_type: line
418 dimensions:
419 - name: containers
420 - name: init_containers
421 - name: k8s_state.pod_containers_state
422 description: Containers state
423 unit: containers
424 chart_type: stacked
425 dimensions:
426 - name: running
427 - name: waiting
428 - name: terminated
429 - name: k8s_state.pod_init_containers_state
430 description: Init containers state
431 unit: containers
432 chart_type: stacked
433 dimensions:
434 - name: running
435 - name: waiting
436 - name: terminated
437 - name: container
438 description: These metrics refer to the Pod container.
439 labels:
440 - name: k8s_cluster_id
441 description: Cluster ID. This is equal to the kube-system namespace UID.
442 - name: k8s_cluster_name
443 description: Cluster name. Cluster name discovery only works in GKE.
444 - name: k8s_node_name
445 description: Node name.
446 - name: k8s_namespace
447 description: Namespace.
448 - name: k8s_controller_kind
449 description: Controller kind (ReplicaSet, DaemonSet, StatefulSet, Job, etc.).
450 - name: k8s_controller_name
451 description: Controller name.
452 - name: k8s_pod_name
453 description: Pod name.
454 - name: k8s_qos_class
455 description: Pod QOS class (burstable, guaranteed, besteffort).
456 - name: k8s_container_name
457 description: Container name.
458 metrics:
459 - name: k8s_state.pod_container_readiness_state
460 description: Readiness state
461 unit: state
462 chart_type: line
463 dimensions:
464 - name: ready
465 - name: k8s_state.pod_container_restarts
466 description: Restarts
467 unit: restarts
468 chart_type: line
469 dimensions:
470 - name: restarts
471 - name: k8s_state.pod_container_state
472 description: Container state
473 unit: state
474 chart_type: line
475 dimensions:
476 - name: running
477 - name: waiting
478 - name: terminated
479 - name: k8s_state.pod_container_waiting_state_reason
480 description: Container waiting state reason
481 unit: state
482 chart_type: line
483 dimensions:
484 - name: ContainerCreating
485 - name: CrashLoopBackOff
486 - name: CreateContainerConfigError
487 - name: CreateContainerError
488 - name: ErrImagePull
489 - name: ImagePullBackOff
490 - name: InvalidImageName
491 - name: PodInitializing
492 - name: Other
493 - name: k8s_state.pod_container_terminated_state_reason
494 description: Container terminated state reason
495 unit: state
496 chart_type: line
497 dimensions:
498 - name: Completed
499 - name: ContainerCannotRun
500 - name: DeadlineExceeded
501 - name: Error
502 - name: Evicted
503 - name: OOMKilled
504 - name: Other