콘텐츠로 이동

Kubelet

Kubelet 지표 정보 수집

구성

사전 조건

  • K8s 환경이 설치되어 있음

수집기 설정

  • datakit.yaml 파일의 ConfigMapkubernetesprometheus.conf 리소스를 추가하여 Kubelet의 지표 데이터를 수집합니다
apiVersion: v1
kind: ConfigMap
metadata:
  name: datakit-conf
  namespace: datakit
data:
  kubelet.conf: |-
    [inputs.kubernetesprometheus]
      [[inputs.kubernetesprometheus.instances]]
        role       = "node"
        selector   = "kubernetes.io/os=linux"
        scrape     = "true"
        scheme     = "https"
        port       = "__kubernetes_node_kubelet_endpoint_port"
        path       = "/metrics"
        params     = ""
        interval   = "15s"

        [inputs.kubernetesprometheus.instances.custom]
          measurement        = "kubelet"
          job_as_measurement = true
          [inputs.kubernetesprometheus.instances.custom.tags]
            instance      = "__kubernetes_mate_instance"
            cluster_name_k8s       = "default"
            job          =  "kubelet"
        [inputs.kubernetesprometheus.instances.auth]
          bearer_token_file      = "/var/run/secrets/kubernetes.io/serviceaccount/token"
          [inputs.kubernetesprometheus.instances.auth.tls_config]
            insecure_skip_verify = true
            cert     = "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt"
      [[inputs.kubernetesprometheus.instances]]
        role       = "node"
        selector   = "kubernetes.io/os=linux"
        scrape     = "true"
        scheme     = "https"
        port       = "__kubernetes_node_kubelet_endpoint_port"
        path       = "/metrics/cadvisor"
        params     = ""
        interval   = "15s"

        [inputs.kubernetesprometheus.instances.custom]
          measurement        = "cadvisor"
          job_as_measurement = true
          [inputs.kubernetesprometheus.instances.custom.tags]
            instance      = "__kubernetes_mate_instance"
            cluster_name_k8s       = "default"
            job           = "kubelet"
            node          = "__kubernetes_node_name"
            label_alpha_eksctl_io_nodegroup_name          = "__kubernetes_node_label_alpha.eksctl.io/nodegroup-name"
        [inputs.kubernetesprometheus.instances.auth]
          bearer_token_file      = "/var/run/secrets/kubernetes.io/serviceaccount/token"
          [inputs.kubernetesprometheus.instances.auth.tls_config]
            insecure_skip_verify = true
            cert     = "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt"
  • kubernetesprometheus.conf를 DataKit의 /usr/local/datakit/conf.d/kubernetesprometheus/kubernetesprometheus.conf 아래에 마운트합니다
        - mountPath: /usr/local/datakit/conf.d/kubernetesprometheus/kubernetesprometheus.conf
          name: datakit-conf
          subPath: kubernetesprometheus.conf
  • 다음 명령을 실행하여 DataKit을 재시작합니다
kubectl delete -f datakit.yaml
kubectl apply -f datakit.yaml

지표

kubelet 지표 집합

Kubelet 지표는 kubelet 지표 집합에 있으며, 여기서는 Kubelet 지표와 관련된 설명을 소개합니다

Metrics 설명 단위
kubelet_node_name Kubelet이 위치한 노드 count
kubelet_running_pods 현재 노드에서 실행 중인 Pod 수 count
kubelet_running_containers 현재 노드에서 실행 중인 컨테이너 수 count
volume_manager_total_volumes 현재 노드에서 관리되는 볼륨의 총수 count
volume_manager_total_volumes Kubelet이 수행한 컨테이너 런타임 작업의 총수 count
kubelet_runtime_operations_total Kubelet이 수행한 컨테이너 런타임 작업의 실패 횟수 count
kubelet_runtime_operations_errors_total Kubelet이 수행한 컨테이너 런타임 작업의 지속 시간 분포 s
kubelet_runtime_operations_duration_seconds_bucket Kubelet이 Pod를 시작한 총 횟수 count
kubelet_pod_start_duration_seconds_count Kubelet이 Pod를 시작하는 데 걸린 시간 분포 s
kubelet_pod_start_duration_seconds_bucket 저장 작업의 총 횟수 count
storage_operation_duration_seconds_count 저장 작업 실패의 총 횟수 count
storage_operation_errors_total Kubelet의 cgroup 관리 작업 총수 count
kubelet_cgroup_manager_duration_seconds_count Kubelet의 cgroup 관리 작업 지속 시간 분포 s
kubelet_cgroup_manager_duration_seconds_bucket Kubelet의 Pod 수명 주기 이벤트 생성기(PLEG) 재목록 작업 총수 count
kubelet_pleg_relist_duration_seconds_count Kubelet이 Kubernetes API Server로 보낸 REST 요청 총수 count
rest_client_requests_total Kubelet이 Kubernetes API Server로 보낸 REST 요청의 지속 시간 분포 count
rest_client_request_duration_seconds_bucket Kubelet 프로세스가 차지하는 물리 메모리 크기 byte
process_resident_memory_bytes Kubelet 프로세스가 차지하는 CPU 시간 총합 s
process_cpu_seconds_total Kubelet 프로세스가 차지하는 CPU 시간 총합 s
go_goroutines Kubelet 프로세스에서 활성 상태인 Go 코루틴 수 count

문서 평가

이 페이지가 도움이 되었나요?