plugin_name: go.d.plugin
modules:
  - meta:
      id: collector-go.d.plugin-k8s_state
      plugin_name: go.d.plugin
      module_name: k8s_state
      monitored_instance:
        name: Kubernetes Cluster State
        link: https://kubernetes.io/
        icon_filename: kubernetes.svg
        categories:
          - data-collection.kubernetes
      keywords:
        - kubernetes
        - k8s
      related_resources:
        integrations:
          list: []
      info_provided_to_referring_integrations:
        description: ""
      most_popular: true
    overview:
      data_collection:
        metrics_description: |
          This collector monitors Kubernetes Nodes, Pods and Containers.
        method_description: ""
      supported_platforms:
        include: []
        exclude: []
      multi_instance: false
      additional_permissions:
        description: ""
      default_behavior:
        auto_detection:
          description: ""
        limits:
          description: ""
        performance_impact:
          description: ""
    setup:
      prerequisites:
        list: []
      configuration:
        file:
          name: go.d/k8s_state.conf
        options:
          description: ""
          folding:
            title: Config options
            enabled: true
          list: []
        examples:
          folding:
            title: Config
            enabled: true
          list: []
    troubleshooting:
      problems:
        list: []
    alerts: []
    metrics:
      folding:
        title: Metrics
        enabled: false
      description: ""
      availability: []
      scopes:
        - name: node
          description: These metrics refer to the Node.
          labels:
            - name: k8s_cluster_id
              description: Cluster ID. This is equal to the kube-system namespace UID.
            - name: k8s_cluster_name
              description: Cluster name. Cluster name discovery only works in GKE.
            - name: k8s_node_name
              description: Node name.
          metrics:
            - name: k8s_state.node_allocatable_cpu_requests_utilization
              description: CPU requests utilization
              unit: '%'
              chart_type: line
              dimensions:
                - name: requests
            - name: k8s_state.node_allocatable_cpu_requests_used
              description: CPU requests used
              unit: millicpu
              chart_type: line
              dimensions:
                - name: requests
            - name: k8s_state.node_allocatable_cpu_limits_utilization
              description: CPU limits utilization
              unit: '%'
              chart_type: line
              dimensions:
                - name: limits
            - name: k8s_state.node_allocatable_cpu_limits_used
              description: CPU limits used
              unit: millicpu
              chart_type: line
              dimensions:
                - name: limits
            - name: k8s_state.node_allocatable_mem_requests_utilization
              description: Memory requests utilization
              unit: '%'
              chart_type: line
              dimensions:
                - name: requests
            - name: k8s_state.node_allocatable_mem_requests_used
              description: Memory requests used
              unit: bytes
              chart_type: line
              dimensions:
                - name: requests
            - name: k8s_state.node_allocatable_mem_limits_utilization
              description: Memory limits utilization
              unit: '%'
              chart_type: line
              dimensions:
                - name: limits
            - name: k8s_state.node_allocatable_mem_limits_used
              description: Memory limits used
              unit: bytes
              chart_type: line
              dimensions:
                - name: limits
            - name: k8s_state.node_allocatable_pods_utilization
              description: Pods resource utilization
              unit: '%'
              chart_type: line
              dimensions:
                - name: allocated
            - name: k8s_state.node_allocatable_pods_usage
              description: Pods resource usage
              unit: pods
              chart_type: stacked
              dimensions:
                - name: available
                - name: allocated
            - name: k8s_state.node_condition
              description: Condition status
              unit: status
              chart_type: line
              dimensions:
                - name: Ready
                - name: DiskPressure
                - name: MemoryPressure
                - name: NetworkUnavailable
                - name: PIDPressure
            - name: k8s_state.node_schedulability
              description: Schedulability
              unit: state
              chart_type: line
              dimensions:
                - name: schedulable
                - name: unschedulable
            - name: k8s_state.node_pods_readiness
              description: Pods readiness
              unit: '%'
              chart_type: line
              dimensions:
                - name: ready
            - name: k8s_state.node_pods_readiness_state
              description: Pods readiness state
              unit: pods
              chart_type: line
              dimensions:
                - name: ready
                - name: unready
            - name: k8s_state.node_pods_condition
              description: Pods condition
              unit: pods
              chart_type: line
              dimensions:
                - name: pod_ready
                - name: pod_scheduled
                - name: pod_initialized
                - name: containers_ready
            - name: k8s_state.node_pods_phase
              description: Pods phase
              unit: pods
              chart_type: stacked
              dimensions:
                - name: running
                - name: failed
                - name: succeeded
                - name: pending
            - name: k8s_state.node_containers
              description: Containers
              unit: containers
              chart_type: line
              dimensions:
                - name: containers
                - name: init_containers
            - name: k8s_state.node_containers_state
              description: Containers state
              unit: containers
              chart_type: stacked
              dimensions:
                - name: running
                - name: waiting
                - name: terminated
            - name: k8s_state.node_init_containers_state
              description: Init containers state
              unit: containers
              chart_type: stacked
              dimensions:
                - name: running
                - name: waiting
                - name: terminated
            - name: k8s_state.node_age
              description: Age
              unit: seconds
              chart_type: line
              dimensions:
                - name: age
        - name: deployment
          description: These metrics refer to Deployments.
          labels:
            - name: k8s_cluster_id
              description: Cluster ID. This is equal to the kube-system namespace UID.
            - name: k8s_cluster_name
              description: Cluster name. Cluster name discovery only works in GKE.
            - name: k8s_deployment_name
              description: Deployment name.
            - name: k8s_namespace
              description: Namespace.
          metrics:
            - name: k8s_state.deployment_conditions
              description: Deployment Conditions
              unit: 'status'
              chart_type: line
              dimensions:
                - name: available
                - name: replica_failure
                - name: progressing
            - name: k8s_state.deployment_replicas
              description: Deployment Replicas
              unit: 'replicas'
              chart_type: line
              dimensions:
                - name: desired
                - name: current
                - name: ready
            - name: k8s_state.deployment_age
              description: Deployment Age
              unit: 'seconds'
              chart_type: line
              dimensions:
                - name: age
        - name: pod
          description: These metrics refer to the Pod.
          labels:
            - name: k8s_cluster_id
              description: Cluster ID. This is equal to the kube-system namespace UID.
            - name: k8s_cluster_name
              description: Cluster name. Cluster name discovery only works in GKE.
            - name: k8s_node_name
              description: Node name.
            - name: k8s_namespace
              description: Namespace.
            - name: k8s_controller_kind
              description: Controller kind (ReplicaSet, DaemonSet, StatefulSet, Job, etc.).
            - name: k8s_controller_name
              description: Controller name.
            - name: k8s_pod_name
              description: Pod name.
            - name: k8s_qos_class
              description: Pod QOS class (burstable, guaranteed, besteffort).
          metrics:
            - name: k8s_state.pod_cpu_requests_used
              description: CPU requests used
              unit: millicpu
              chart_type: line
              dimensions:
                - name: requests
            - name: k8s_state.pod_cpu_limits_used
              description: CPU limits used
              unit: millicpu
              chart_type: line
              dimensions:
                - name: limits
            - name: k8s_state.pod_mem_requests_used
              description: Memory requests used
              unit: bytes
              chart_type: line
              dimensions:
                - name: requests
            - name: k8s_state.pod_mem_limits_used
              description: Memory limits used
              unit: bytes
              chart_type: line
              dimensions:
                - name: limits
            - name: k8s_state.pod_condition
              description: Condition
              unit: state
              chart_type: line
              dimensions:
                - name: pod_ready
                - name: pod_scheduled
                - name: pod_initialized
                - name: containers_ready
            - name: k8s_state.pod_phase
              description: Phase
              unit: state
              chart_type: line
              dimensions:
                - name: running
                - name: failed
                - name: succeeded
                - name: pending
            - name: k8s_state.pod_status_reason
              description: Status reason
              unit: status
              chart_type: line
              dimensions:
                - name: Evicted
                - name: NodeAffinity
                - name: NodeLost
                - name: Shutdown
                - name: UnexpectedAdmissionError
                - name: Other
            - name: k8s_state.pod_age
              description: Age
              unit: seconds
              chart_type: line
              dimensions:
                - name: age
            - name: k8s_state.pod_containers
              description: Containers
              unit: containers
              chart_type: line
              dimensions:
                - name: containers
                - name: init_containers
            - name: k8s_state.pod_containers_state
              description: Containers state
              unit: containers
              chart_type: stacked
              dimensions:
                - name: running
                - name: waiting
                - name: terminated
            - name: k8s_state.pod_init_containers_state
              description: Init containers state
              unit: containers
              chart_type: stacked
              dimensions:
                - name: running
                - name: waiting
                - name: terminated
        - name: container
          description: These metrics refer to the Pod container.
          labels:
            - name: k8s_cluster_id
              description: Cluster ID. This is equal to the kube-system namespace UID.
            - name: k8s_cluster_name
              description: Cluster name. Cluster name discovery only works in GKE.
            - name: k8s_node_name
              description: Node name.
            - name: k8s_namespace
              description: Namespace.
            - name: k8s_controller_kind
              description: Controller kind (ReplicaSet, DaemonSet, StatefulSet, Job, etc.).
            - name: k8s_controller_name
              description: Controller name.
            - name: k8s_pod_name
              description: Pod name.
            - name: k8s_qos_class
              description: Pod QOS class (burstable, guaranteed, besteffort).
            - name: k8s_container_name
              description: Container name.
          metrics:
            - name: k8s_state.pod_container_readiness_state
              description: Readiness state
              unit: state
              chart_type: line
              dimensions:
                - name: ready
            - name: k8s_state.pod_container_restarts
              description: Restarts
              unit: restarts
              chart_type: line
              dimensions:
                - name: restarts
            - name: k8s_state.pod_container_state
              description: Container state
              unit: state
              chart_type: line
              dimensions:
                - name: running
                - name: waiting
                - name: terminated
            - name: k8s_state.pod_container_waiting_state_reason
              description: Container waiting state reason
              unit: state
              chart_type: line
              dimensions:
                - name: ContainerCreating
                - name: CrashLoopBackOff
                - name: CreateContainerConfigError
                - name: CreateContainerError
                - name: ErrImagePull
                - name: ImagePullBackOff
                - name: InvalidImageName
                - name: PodInitializing
                - name: Other
            - name: k8s_state.pod_container_terminated_state_reason
              description: Container terminated state reason
              unit: state
              chart_type: line
              dimensions:
                - name: Completed
                - name: ContainerCannotRun
                - name: DeadlineExceeded
                - name: Error
                - name: Evicted
                - name: OOMKilled
                - name: Other
