Kubelet
Collect Kubelet Metrics information
Configuration¶
Prerequisites¶
- Kubernetes environment is installed
Collector Configuration¶
- Add the
kubernetesprometheus.conf
resource in theConfigMap
of thedatakit.yaml
file to collect Kubelet Metrics data
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"
- Mount the
kubernetesprometheus.conf
to/usr/local/datakit/conf.d/kubernetesprometheus/kubernetesprometheus.conf
under DataKit
- mountPath: /usr/local/datakit/conf.d/kubernetesprometheus/kubernetesprometheus.conf
name: datakit-conf
subPath: kubernetesprometheus.conf
- Execute the following commands to restart DataKit
Metrics¶
Kubelet Measurement Set¶
Kubelet Metrics are located under the Kubelet Measurement set. Here we introduce related descriptions of Kubelet Metrics.
Metrics | Description | Unit |
---|---|---|
kubelet_node_name |
Node where Kubelet is located |
count |
kubelet_running_pods |
Number of Pods currently running on the node |
count |
kubelet_running_containers |
Number of containers currently running on the node |
count |
volume_manager_total_volumes |
Total number of volumes managed on the current node |
count |
volume_manager_total_volumes |
Total number of container runtime operations executed by Kubelet |
count |
kubelet_runtime_operations_total |
Total number of failures for container runtime operations executed by Kubelet |
count |
kubelet_runtime_operations_errors_total |
Distribution of duration for container runtime operations executed by Kubelet |
s |
kubelet_runtime_operations_duration_seconds_bucket |
Total number of times Kubelet has started Pods |
count |
kubelet_pod_start_duration_seconds_count |
Distribution of duration for Kubelet starting Pods |
s |
kubelet_pod_start_duration_seconds_bucket |
Total number of storage operations |
count |
storage_operation_duration_seconds_count |
Total number of failed storage operations |
count |
storage_operation_errors_total |
Total number of operations managed by Kubelet for cgroups |
count |
kubelet_cgroup_manager_duration_seconds_count |
Distribution of duration for operations managed by Kubelet for cgroups |
s |
kubelet_cgroup_manager_duration_seconds_bucket |
Total number of re-list operations performed by Kubelet's Pod Lifecycle Event Generator (PLEG) |
count |
kubelet_pleg_relist_duration_seconds_count |
Total number of REST requests sent by Kubelet to the Kubernetes API Server |
count |
rest_client_requests_total |
Distribution of duration for REST requests sent by Kubelet to the Kubernetes API Server |
count |
rest_client_request_duration_seconds_bucket |
Amount of physical memory used by the Kubelet process |
byte |
process_resident_memory_bytes |
Total amount of CPU time used by the Kubelet process |
s |
process_cpu_seconds_total |
Total amount of CPU time used by the Kubelet process |
s |
go_goroutines |
Number of active Go routines in the Kubelet process |
count |