一:kubernetes集群监控指标
##################################cpu########################################################
sum(rate(container_cpu_usage_seconds_total[1m]))by(container)/(sum(container_spec_cpu_quota)by(container)/100000) * 100 #容器cpu使用占其申请的百分比,0-100的范围
sum(rate(container_cpu_user_seconds_total[1m]))by(container)/(sum(container_spec_cpu_quota)by(container)/100000) * 100 #容器cpu用户态使用占其申请的百分比,0-100的范围
sum(rate(container_cpu_sys_seconds_total[1m])) by( container) /( sum (container_spec_cpu_quota) by(container) /100000) * 100 #容器cpu内核态使用占其申请的百分比,0-100的范围
rate(container_cpu_usage_seconds_total[1m]) #容器cpu使用占用机器几个核,0到机器核数上限,结果为1就是占用1个核
container_spec_cpu_quota #容器的CPU配额 ,为容器指定的CPU个数*100000
sum by(container_name, pod_name, namespace) (increase(container_cpu_cfs_throttled_periods_total{container_name!=""}[5m])) /
sum by(container_name, pod_name, namespace) (increase(container_cpu_cfs_periods_total[5m])) * 100 #容器CPU执行周期受到限制的百分比,0-100的范围
###########################################mem##################################################
container_memory_rss + container_memory_cache + kernel memory #当前内存使用情况,包括所有内存,无论何时访问,单位byte
container_memory_usage_bytes/container_spec_memory_limit_bytes *100 #容器内存使用率,范围0-100
container_memory_max_usage_bytes > container_memory_usage_bytes>=container_memory_working_set_bytes > container_memory_rss #容器真实使用的内存量,单位byte
container_memory_working_set_bytes/container_spec_memory_limit_bytes *100 #容器真实使用的内存量百分比 ,范围0-100
container_memory_cache #容器cache内存量,单位byte
container_memory_rss #容器rss内存量,单位byte
container_memory_cache #容器cache内存量 ,单位byte
###########################################filesystem#################################
container_fs_limit_bytes #容器可以使用的文件系统总量,单位:字节
container_fs_usage_bytes #容器已经使用的文件系统总量,单位:字节
container_fs_usage_bytes/container_fs_limit_bytes *100#容器文件系统使用百分比,范围0-100
rate(container_fs_reads_bytes_total)[1m]#容器io.read qps,单位:bps
rate(container_fs_write_bytes_total)[1m] #容器io.write qps,单位:bps
###############################network###########################################
rate(container_network_receive_bytes_total)[1m] #容器网络接收数据总数,(单位:bytes/s) |
rate(container_network_transmit_bytes_total)[1m] #容器网络积传输数据总数, (单位:bytes/s) |
rate(container_network_receive_packets_total)[1m] #容器网络接收数据包pps,(单位:p/s) |
rate(container_network_transmit_packets_total)[1m] #容器网络发送数据包pps,(单位:p/s) |
rate(container_network_receive_errors_total)[1m] #容器网络接收数据错误数,(单位:bytes/s)|
rate(container_network_transmit_errors_total)[1m] #容器网络发送数据错误数,(单位:bytes/s)
rate(container_network_receive_packets_dropped_total)[1m] #容器网络接收数据包drop pps,(单位:p/s)
rate(container_network_transmit_packets_dropped_total)[1m] #容器网络发送数据包drop pps, (单位:p/s)
##################################################system指标#################################
container_processes #容器中running进程个数,(单位:个) |
container_threads #容器中进程running线程个数,(单位:个) |
container_file_descriptors #容器中打开文件描述符个数,(单位:个) |
container_ulimits_soft#容器中root process Soft ulimit,(单位:个) |
container_sockets #容器中打开套接字个数,(单位:个)|
container_tasks_state #容器中task 状态分布,(单位:个)|
###################################kube-apiserver metrics###########################
apiserver_request_duration_seconds_sum #请求延迟记录总和 ,按动作verb分布 list get watch post delete等按资源resource分布: pod node endpoint等
apiserver_request_duration_seconds_count #请求延迟记录数
apiserver_request_duration_seconds_sum/apiserver_request_duration_seconds_count #计算平均延迟
apiserver_response_sizes_sum #请求响应大小记录和
apiserver_response_sizes_count # 请求响应大小记录数
authentication_attempts # 认证尝试数
authentication_duration_seconds_sum # 认证耗时记录和
authentication_duration_seconds_count # 认证耗时记录数
apiserver_tls_handshake_errors_total #tls握手失败计数
apiserver_client_certificate_expiration_seconds_sum # 证书过期时间总数
apiserver_client_certificate_expiration_seconds_count # 证书过期时间记录个数
apiserver_client_certificate_expiration_seconds_bucket #证书过期时间分布
apiserver_current_inflight_requests #该量保存了最后一个窗口中,正在处理的请求数量的高水位线
apiserver_current_inqueue_requests #是一个表向量, 记录最近排队请求数量的高水位线,apiserver请求限流
apiserver_flowcontrol_current_executing_requests #记录包含执行中(不在队列中等待)请求的瞬时数量, APF api的QOS APIPriorityAndFairness
apiserver_flowcontrol_current_inqueue_requests # 记录包含排队中的(未执行)请求的瞬时数量
workqueue_adds_total #wq 入队数
workqueue_retries_total #wq retry数
workqueue_longest_running_processor_seconds#wq中最长运行时间
workqueue_queue_duration_seconds_sum #wq中等待延迟记录和
workqueue_queue_duration_seconds_count #wq中等待延迟记录数
workqueue_work_duration_seconds_sum # wq中处理延迟记录和
workqueue_work_duration_seconds_count #wq中处理延迟记录数
#########################################etcd metrics##########################################
etcd_db_total_size_in_bytes #db物理文件大小
etcd_object_counts #etcd对象按种类计数
etcd_request_duration_seconds_sum #etcd请求延迟记录和
etcd_request_duration_seconds_count #etcd请求延迟记录数
#########################################kube-scheduler##########################################
scheduler_e2e_scheduling_duration_seconds_sum #端到端调度延迟记录和
scheduler_e2e_scheduling_duration_seconds_count#端到端调度延迟记录数
scheduler_pod_scheduling_duration_seconds_sum #调度延迟记录总和 , 分析次数
scheduler_pod_scheduling_duration_seconds_count #调度延迟记录数
scheduler_pending_pods #调度队列pending pod数
scheduler_queue_incoming_pods_total #进入调度队列pod数
scheduler_scheduling_algorithm_duration_seconds_sum#调度算法延迟记录和
scheduler_scheduling_algorithm_duration_seconds_count #调度算法延迟记录数
scheduler_pod_scheduling_attempts_sum #成功调度一个pod 的尝试次数记录和
scheduler_pod_scheduling_attempts_count #成功调度一个pod 的尝试次数记录数
#########################################coredns##########################################
coredns_dns_requests_total #解析请求数 ,A记录,AAAA记录,other记录
coredns_dns_responses_total #解析响应数 ,NOERROR,NXDOMAIN,REFUSED
coredns_cache_entries #缓存记录数 , 成功或失败
coredns_cache_hits_total#缓存命中数 ,成功或失败
coredns_cache_misses_total #缓存未命中数 ,成功或失败
coredns_dns_request_duration_seconds_sum #解析延迟记录和
coredns_dns_request_duration_seconds_count #解析延迟记录数
coredns_dns_response_size_bytes_sum #解析响应大小记录和
coredns_dns_response_size_bytes_count #解析响应大小记录数
#########################################kube-scheduler##########################################
scheduler_e2e_scheduling_duration_seconds_sum #端到端调度延迟记录和
scheduler_e2e_scheduling_duration_seconds_count #端到端调度延迟记录数
scheduler_pod_scheduling_duration_seconds_sum #调度延迟记录和 ,分析次数
scheduler_pod_scheduling_duration_seconds_count #调度延迟记录数
scheduler_pending_pods #调度队列pending pod数
scheduler_queue_incoming_pods_total#进入调度队列pod数
scheduler_scheduling_algorithm_duration_seconds_sum #调度算法延迟记录和
scheduler_scheduling_algorithm_duration_seconds_count #调度算法延迟记录数
scheduler_pod_scheduling_attempts_sum #成功调度一个pod 的尝试次数记录和
scheduler_pod_scheduling_attempts_count #成功调度一个pod 的尝试次数记录数
#########################################kube-stats-metrics,pod metrics#########################
kube_pod_status_phase #pod状态统计:Pending,Succeeded,Failed,Running,Unknown
kube_pod_container_status_waiting #pod处于waiting状态,值为1代表waiting
kube_pod_container_status_waiting_reason #pod处于waiting状态原因,ContainerCreating,CrashLoopBackOff pod启动崩溃,再次启动然后再次崩溃,CreateContainerConfigError,ErrImagePull,ImagePullBackOff,CreateContainerError,InvalidImageName
kube_pod_container_status_terminated #pod处于terminated状态,值为1代表terminated
kube_pod_container_status_terminated_reason #pod处于terminated状态原因,OOMKilled,Completed,Error,ContainerCannotRun,DeadlineExceeded,Evicted
kube_pod_container_status_restarts_total #pod中的容器重启次数
kube_pod_container_resource_requests_cpu_cores #pod容器cpu limit
kube_pod_container_resource_requests_memory_bytes #pod容器mem limit(单位:字节)
#########################################kube-stats-metrics,deployment metrics###################
kube_deployment_status_replicas #dep中的pod num
kube_deployment_status_replicas_available #dep中的 可用pod num
kube_deployment_status_replicas_unavailable #dep中的 不可用pod num
#########################################kube-stats-metrics,daemonSet metrics###################
kube_daemonset_status_number_available # ds 可用数
kube_daemonset_status_number_unavailable #ds 不可用数
kube_daemonset_status_number_ready #ds ready数
kube_daemonset_status_number_misscheduled #未经过调度运行ds的节点数
kube_daemonset_status_current_number_scheduled #ds目前运行节点数
kube_daemonset_status_desired_number_scheduled #应该运行ds的节点数
#########################################kube-stats-metrics,statefulset metrics###################
kube_statefulset_status_replicas #ss副本总数
kube_statefulset_status_replicas_current #ss当前副本数
kube_statefulset_status_replicas_updated #ss已更新副本数
kube_statefulset_replicas #ss目标副本数
##########################################kube-stats-metrics,Job metrics################
kube_job_status_active #job running pod数
kube_job_status_succeeded #job 成功 pod数
kube_job_status_failed #job 失败 pod数
kube_job_complete #job 是否完成
kube_job_failed #job 是否失败
##########################################kube-stats-metrics,CronJob metrics################
kube_cronjob_status_active #job running pod数
kube_cronjob_spec_suspend #=1代表 job 被挂起
kube_cronjob_next_schedule_time #job 下次调度时间
kube_cronjob_status_last_schedule_time #job 下次调度时间
#####################################kube-stats-metrics,PersistentVolume metrics##############
kube_persistentvolume_capacity_bytes #pv申请大小
kube_persistentvolume_status_phase #pv状态:
Pending
Available
Bound
Released
Failed
######################################kube-stats-metrics,PersistentVolumeClaim metrics############
kube_persistentvolumeclaim_resource_requests_storage_bytes #pvc request大小
kube_persistentvolumeclaim_status_phase #pvc状态:
Lost
Bound
Pending
######################################kube-stats-metrics,node metrics#################
kube_node_status_condition #condition:
NetworkUnavailable
MemoryPressure
DiskPressure
PIDPressure
Ready
kube_node_status_allocatable_cpu_cores#节点可以分配cpu核数
kube_node_status_allocatable_memory_bytes #节点可以分配内存总量(单位:字节)
kube_node_spec_taint #节点污点情况
kube_node_status_capacity_memory_bytes #节点内存总量(单位:字节)
kube_node_status_capacity_cpu_cores #节点cpu核数
kube_node_status_capacity_pods #节点可运行的pod总数