| 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 |