コンテンツにスキップ

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

フィードバック

このページは役に立ちましたか?