用夜莺监控 Kubernetes
抓 apiserver、kubelet、controller-manager、scheduler、kube-proxy、CoreDNS、kube-state-metrics 和 node-exporter 的原生 /metrics,模板覆盖控制面到 Pod 的每一层。
最后校对于
Kubernetes 的每个组件都自带 Prometheus 格式的 /metrics,推荐用 Categraf 的 prometheus 插件直接抓取,再部署 kube-state-metrics(工作负载状态)和 node-exporter(节点资源)。旧的 Categraf kubernetes 插件已废弃,但模板里的仪表盘和规则照常可用。
| 数据源 | 常用端点 | 覆盖的模板 |
|---|---|---|
| kube-apiserver | https://<api-server>:6443/metrics | API Server |
| kubelet | https://<node>:10250/metrics、/metrics/cadvisor、/metrics/resource | Kubelet、Node、Pod、Container |
| kube-controller-manager | https://<control-plane>:10257/metrics | Controller Manager |
| kube-scheduler | https://<control-plane>:10259/metrics | Scheduler |
| kube-proxy | http://<node>:10249/metrics | Proxy |
| kube-state-metrics | http://<service>:8080/metrics | Deployment、StatefulSet、DaemonSet、Pod 状态 |
| CoreDNS | http://<coredns>:9153/metrics | CoreDNS |
| node-exporter | http://<node>:9100/metrics | Node 资源 |
这是模板数量最多的一个集成:仪表盘覆盖控制面各组件、节点、Deployment、StatefulSet、DaemonSet、Pod、容器和 CoreDNS;规则覆盖 Pod 反复重启与 Pending、副本数不足、节点 NotReady 与资源压力、apiserver 延迟与错误率、etcd 与调度失败、证书到期;指标说明按组件逐条解释。
模板里有什么
- 17 张仪表盘,共 470 个面板
- 154 条告警规则,每条附处置步骤
- 305 条指标说明
怎么接入
这类组件自己就暴露 Prometheus 格式的 /metrics,用 Categraf 的 prometheus 插件抓取即可,不需要专门的插件。如果你已经有 Prometheus 或 VictoriaMetrics 在抓这些端点,直接把它接成夜莺的数据源,模板同样能用。
控制面组件的端点需要 ServiceAccount token 或客户端证书,Categraf 以 DaemonSet 部署在集群内时用 bearer_token_file 读取挂载的 token。K3s 等发行版的 scheduler、controller-manager 和 kube-proxy 可能只监听 loopback,要在控制面节点本机采集;不要为了方便把这些无鉴权端点暴露到公网。
内置仪表盘
| 仪表盘 | 面板数 |
|---|---|
| Kubernetes / API Server | 13 |
| Kubernetes / Controller Manager | 22 |
| Kubernetes / Deployment / Container | 44 |
| Kubernetes / Kube State Metrics | 21 |
| Kubernetes / Kubelet Metrics | 13 |
| Kubernetes / Pod | 48 |
| Kubernetes / Scheduler | 20 |
| Kubernetes / Statefulset / Container | 44 |
| Kubernetes / CoreDNS | 11 |
| Kubernetes / Daemonset | 10 |
| Kubernetes / Deployment | 33 |
| Kubernetes / Etcd | 20 |
| Kubernetes / Container by categraf | 5 |
| Kubernetes / Node | 93 |
| Kubernetes / Cluster Overview | 35 |
| Kubernetes / Proxy | 11 |
| Kubernetes / StatefulSet | 27 |
内置告警规则
共 154 条,导入后默认停用,按自己环境的阈值逐条启用。每条规则的触发条件(PromQL)和处置步骤收录在告警规则库:Kubernetes 告警规则、Prometheus 告警规则、Linux 告警规则。
| 规则 | 级别 | 持续 |
|---|---|---|
| Deployment Pod 可用性不足70%(replica超过9个pod) | S1 紧急 | 1 分钟 |
| Job执行失败 | S3 提醒 | 1 分钟 |
| Pod启动超时 | S2 警告 | 1 分钟 |
| Pod状态异常 | S1 紧急 | 1 分钟 |
| Pod频繁重启 | S2 警告 | 1 分钟 |
| 容器CPU使用率超过80% | S3 提醒 | 1 分钟 |
| 容器内存超过80% | S3 提醒 | 1 分钟 |
| Node CPU使用率超过90% | S3 提醒 | 1 分钟 |
| Node内存使用率超过90% | S2 警告 | 1 分钟 |
| Node状态异常 | S1 紧急 | 1 分钟 |
| Node磁盘使用率超过90% | S3 提醒 | 1 分钟 |
| KubeClientCertificateExpiration-S2 | S2 警告 | — |
| KubeClientCertificateExpiration-S1 | S1 紧急 | — |
| AggregatedAPIErrors | S2 警告 | — |
| AggregatedAPIDown | S2 警告 | 5 分钟 |
| KubeAPIDown | S1 紧急 | 15 分钟 |
| KubeAPIErrorBudgetBurn-S1-120秒 | S1 紧急 | 2 分钟 |
| KubeAPIErrorBudgetBurn-S1-900秒 | S1 紧急 | 15 分钟 |
| KubeAPIErrorBudgetBurn-S2-3600秒 | S2 警告 | 60 分钟 |
| KubeAPIErrorBudgetBurn-S2-10800秒 | S2 警告 | 180 分钟 |
| Deployment副本异常 | S2 警告 | 10 分钟 |
| StatefulSet副本异常 | S2 警告 | 10 分钟 |
| DaemonSet未就绪Pod | S2 警告 | 10 分钟 |
| HPA扩容失败 | S2 警告 | 5 分钟 |
| Pod处于Failed状态 | S2 警告 | 5 分钟 |
| Job执行失败 | S2 警告 | 5 分钟 |
| CPUThrottlingHigh | S3 提醒 | 15 分钟 |
| KubeAggregatedAPIDown | S2 警告 | 5 分钟 |
| KubeAggregatedAPIErrors | S2 警告 | — |
| KubeAPIDown | S1 紧急 | 15 分钟 |
| KubeAPIErrorBudgetBurn | S1 紧急 | 2 分钟 |
| KubeAPITerminatedRequests | S2 警告 | 5 分钟 |
| KubeClientCertificateExpiration | S2 警告 | 5 分钟 |
| KubeClientErrors | S2 警告 | 15 分钟 |
| KubeContainerWaiting | S2 警告 | 60 分钟 |
| KubeControllerManagerDown | S1 紧急 | 15 分钟 |
| KubeCPUOvercommit | S2 警告 | 10 分钟 |
| KubeCPUQuotaOvercommit | S2 警告 | 5 分钟 |
| KubeDaemonSetMisScheduled | S2 警告 | 15 分钟 |
| KubeDaemonSetNotScheduled | S2 警告 | 10 分钟 |
| KubeDaemonSetRolloutStuck | S2 警告 | 15 分钟 |
| KubeDeploymentGenerationMismatch | S2 警告 | 15 分钟 |
| KubeDeploymentReplicasMismatch | S2 警告 | 15 分钟 |
| KubeDeploymentRolloutStuck | S2 警告 | 15 分钟 |
| KubeHpaMaxedOut | S2 警告 | 15 分钟 |
| KubeHpaReplicasMismatch | S2 警告 | 15 分钟 |
| KubeJobFailed | S2 警告 | 15 分钟 |
| KubeJobNotCompleted | S2 警告 | — |
| KubeletClientCertificateExpiration | S2 警告 | — |
| KubeletClientCertificateRenewalErrors | S2 警告 | 15 分钟 |
| KubeletDown | S1 紧急 | 15 分钟 |
| KubeletPlegDurationHigh | S2 警告 | 5 分钟 |
| KubeletPodStartUpLatencyHigh | S2 警告 | 15 分钟 |
| KubeletServerCertificateExpiration | S2 警告 | — |
| KubeletServerCertificateRenewalErrors | S2 警告 | 15 分钟 |
| KubeletTooManyPods | S3 提醒 | 15 分钟 |
| KubeMemoryOvercommit | S2 警告 | 10 分钟 |
| KubeMemoryQuotaOvercommit | S2 警告 | 5 分钟 |
| KubeNodeNotReady | S2 警告 | 15 分钟 |
| KubeNodeReadinessFlapping | S2 警告 | 15 分钟 |
| KubeNodeUnreachable | S2 警告 | 15 分钟 |
| KubePersistentVolumeErrors | S1 紧急 | 5 分钟 |
| KubePersistentVolumeFillingUp | S1 紧急 | 1 分钟 |
| KubePersistentVolumeInodesFillingUp | S1 紧急 | 1 分钟 |
| KubePodCrashLooping | S2 警告 | 15 分钟 |
| KubePodNotReady | S2 警告 | 15 分钟 |
| KubeQuotaAlmostFull | S3 提醒 | 15 分钟 |
| KubeQuotaExceeded | S2 警告 | 15 分钟 |
| KubeQuotaFullyUsed | S3 提醒 | 15 分钟 |
| KubeSchedulerDown | S1 紧急 | 15 分钟 |
| KubeStatefulSetGenerationMismatch | S2 警告 | 15 分钟 |
| KubeStatefulSetReplicasMismatch | S2 警告 | 15 分钟 |
| KubeStatefulSetUpdateNotRolledOut | S2 警告 | 15 分钟 |
| KubeVersionMismatch | S2 警告 | 15 分钟 |
| Node状态异常 | S2 警告 | 15 分钟 |
| Node不可达 | S2 警告 | 15 分钟 |
| Node运行太多Pod | S2 警告 | 15 分钟 |
| Node状态抖动 | S2 警告 | 15 分钟 |
| PLEG耗时高 | S2 警告 | 5 分钟 |
| Pod启动耗时高 | S2 警告 | 15 分钟 |
| 客户端证书过期-S2 | S2 警告 | — |
| 客户端证书过期-S1 | S1 紧急 | — |
| 服务端证书过期-S2 | S2 警告 | — |
| 服务端证书过期-S1 | S1 紧急 | — |
| 客户端证书续签错误 | S2 警告 | 15 分钟 |
| 服务证书续签错误 | S2 警告 | 15 分钟 |
| kubelet故障 | S1 紧急 | 15 分钟 |
| 主机内存不足 | S2 警告 | 2 分钟 |
| 主机内存有压力 | S2 警告 | 2 分钟 |
| 主机入口网络吞吐量异常 | S2 警告 | 5 分钟 |
| 主机出口网络吞吐量异常 | S2 警告 | 5 分钟 |
| 主机磁盘读取速率异常 | S2 警告 | 5 分钟 |
| 主机磁盘写入速率异常 | S2 警告 | 2 分钟 |
| 主机磁盘空间不足 | S2 警告 | 2 分钟 |
| 主机磁盘将在 24 小时内填满 | S2 警告 | 2 分钟 |
| 文件系统inode使用率高 | S2 警告 | 2 分钟 |
| 文件系统inode将在24小时内填满 | S2 警告 | 2 分钟 |
| 主机磁盘读取延迟异常 | S2 警告 | 2 分钟 |
| 主机磁盘写入延迟异常 | S2 警告 | 2 分钟 |
| 节点cpu负载高 | S2 警告 | — |
| 有其他云主机窃取cpu | S2 警告 | — |
| 主机上下文切换异常 | S2 警告 | — |
| 主机交换内存快满了 | S2 警告 | 2 分钟 |
| 主机系统服务崩溃 | S2 警告 | — |
| 主机内核版本偏差 | S2 警告 | 360 分钟 |
| 检测到 HostOomKill | S2 警告 | — |
| 主机网络接收错误 | S2 警告 | 2 分钟 |
| 主机网络出口错误 | S2 警告 | 2 分钟 |
| 主机网络接口饱和 | S2 警告 | 1 分钟 |
| conntrack数量接近极限 | S2 警告 | 5 分钟 |
| 主机时钟偏差 | S2 警告 | 2 分钟 |
| 主机时钟不同步 | S2 警告 | 2 分钟 |
| 节点文件系统空间填满-S2 | S2 警告 | 60 分钟 |
| 节点文件系统空间填满-S1 | S1 紧急 | 60 分钟 |
| 节点磁盘快满了-S2-space-5 | S2 警告 | 60 分钟 |
| 节点磁盘快满了-S1-space-3 | S1 紧急 | 60 分钟 |
| 节点磁盘快满了-S2-inodes-40 | S2 警告 | 60 分钟 |
| 节点磁盘快满了-S1-inodes-20 | S1 紧急 | 60 分钟 |
| 节点磁盘快满了-S2-inodes-5 | S2 警告 | 60 分钟 |
| 节点磁盘快满了-S1-inodes-3 | S1 紧急 | 60 分钟 |
| 使用的节点Conntrack条目数量高 | S2 警告 | 5 分钟 |
| 节点文本文件收集器抓取错误 | S2 警告 | — |
| 节点网络接口抖动 | S2 警告 | 2 分钟 |
| ConfigReloaderSidecarErrors | S2 警告 | 10 分钟 |
| PrometheusOperatorListErrors | S2 警告 | 15 分钟 |
| PrometheusOperatorNodeLookupErrors | S2 警告 | 10 分钟 |
| PrometheusOperatorNotReady | S2 警告 | 5 分钟 |
| PrometheusOperatorReconcileErrors | S2 警告 | 10 分钟 |
| PrometheusOperatorRejectedResources | S2 警告 | 5 分钟 |
| PrometheusOperatorSyncFailed | S2 警告 | 10 分钟 |
| PrometheusOperatorWatchErrors | S2 警告 | 15 分钟 |
| ConfigReloaderSidecarErrors | S2 警告 | 10 分钟 |
| PrometheusBadConfig | S1 紧急 | 10 分钟 |
| PrometheusDuplicateTimestamps | S2 警告 | 10 分钟 |
| PrometheusErrorSendingAlertsToAnyAlertmanager | S1 紧急 | 15 分钟 |
| PrometheusErrorSendingAlertsToSomeAlertmanagers | S2 警告 | 15 分钟 |
| PrometheusHighQueryLoad | S2 警告 | 15 分钟 |
| PrometheusLabelLimitHit | S2 警告 | 15 分钟 |
| PrometheusMissingRuleEvaluations | S2 警告 | 15 分钟 |
| PrometheusNotConnectedToAlertmanagers | S2 警告 | 10 分钟 |
| PrometheusNotificationQueueRunningFull | S2 警告 | 15 分钟 |
| PrometheusNotIngestingSamples | S2 警告 | 10 分钟 |
| PrometheusOutOfOrderTimestamps | S2 警告 | 10 分钟 |
| PrometheusRemoteStorageFailures | S1 紧急 | 15 分钟 |
| PrometheusRemoteWriteBehind | S1 紧急 | 15 分钟 |
| PrometheusRemoteWriteDesiredShards | S2 警告 | 15 分钟 |
| PrometheusRuleFailures | S1 紧急 | 15 分钟 |
| PrometheusScrapeBodySizeLimitHit | S2 警告 | 15 分钟 |
| PrometheusScrapeSampleLimitHit | S2 警告 | 15 分钟 |
| PrometheusSDRefreshFailure | S2 警告 | 20 分钟 |
| PrometheusTargetLimitHit | S2 警告 | 15 分钟 |
| PrometheusTargetSyncFailure | S1 紧急 | 5 分钟 |
| PrometheusTSDBCompactionsFailing | S2 警告 | 240 分钟 |
| PrometheusTSDBReloadsFailing | S2 警告 | 240 分钟 |
指标说明
共 305 条,和仪表盘、告警规则里用到的指标一一对应。
| 指标 | 含义 | 单位 |
|---|---|---|
sum(rate(coredns_dns_requests_total{}[5m])) by (proto,instance) | coreDNS请求速率 — CoreDNS自身指标 | |
sum(rate(coredns_dns_requests_total{}[5m])) by (type,instance) | coreDNS请求速率(记录类型分组) — CoreDNS自身指标 | |
sum(rate(coredns_dns_do_requests_total{}[5m])) by (instance) | coreDNS请求速率(DO标志位) — CoreDNS自身指标 | |
histogram_quantile(0.99,sum(rate(coredns_dns_request_size_bytes_bucket{proto="udp"}[5m])) by(le,proto,instance)) | coreDNS UDP请求数据包大小 P99 — CoreDNS自身指标 | |
histogram_quantile(0.90,sum(rate(coredns_dns_request_size_bytes_bucket{proto="udp"}[5m])) by(le,proto,instance)) | coreDNS UDP请求数据包大小 P90 — CoreDNS自身指标 | |
histogram_quantile(0.50,sum(rate(coredns_dns_request_size_bytes_bucket{proto="udp"}[5m])) by(le,proto,instance)) | coreDNS UDP请求数据包大小 P50 — CoreDNS自身指标 | |
histogram_quantile(0.99,sum(rate(coredns_dns_request_size_bytes_bucket{proto="tcp"}[5m])) by(le,proto,instance)) | coreDNS TCP请求数据包大小 P99 — CoreDNS自身指标 | |
histogram_quantile(0.90,sum(rate(coredns_dns_request_size_bytes_bucket{proto="tcp"}[5m])) by(le,proto,instance)) | coreDNS TCP请求数据包大小 P90 — CoreDNS自身指标 | |
histogram_quantile(0.50,sum(rate(coredns_dns_request_size_bytes_bucket{proto="tcp"}[5m])) by(le,proto,instance)) | coreDNS TCP请求数据包大小 P50 — CoreDNS自身指标 | |
sum(rate(coredns_dns_responses_total{}[5m])) by(rcode,instance) | coreDNS响应速率(根据响应状态码分组) — CoreDNS自身指标 | |
histogram_quantile(0.99,sum(rate(coredns_dns_request_duration_seconds_bucket{}[5m])) by(le,job,instance)) | coreDNS响应时延 P99 — CoreDNS自身指标 | |
histogram_quantile(0.90,sum(rate(coredns_dns_request_duration_seconds_bucket{}[5m])) by(le,job,instance)) | coreDNS响应时延 P90 — CoreDNS自身指标 | |
histogram_quantile(0.50,sum(rate(coredns_dns_request_duration_seconds_bucket{}[5m])) by(le,job,instance)) | coreDNS响应时延 P50 — CoreDNS自身指标 | |
histogram_quantile(0.99,sum(rate(coredns_dns_response_size_bytes_bucket{proto="udp"}[5m])) by(le,proto,instance)) | coreDNS UDP响应数据包大小 P99 — CoreDNS自身指标 | |
histogram_quantile(0.90,sum(rate(coredns_dns_response_size_bytes_bucket{proto="udp"}[5m])) by(le,proto,instance)) | coreDNS UDP响应数据包大小 P90 — CoreDNS自身指标 | |
histogram_quantile(0.50,sum(rate(coredns_dns_response_size_bytes_bucket{proto="udp"}[5m])) by(le,proto,instance)) | coreDNS UDP响应数据包大小 P50 — CoreDNS自身指标 | |
histogram_quantile(0.99,sum(rate(coredns_dns_response_size_bytes_bucket{proto="tcp"}[5m])) by(le,proto,instance)) | coreDNS TCP响应数据包大小 P99 — CoreDNS自身指标 | |
histogram_quantile(0.90,sum(rate(coredns_dns_response_size_bytes_bucket{proto="tcp"}[5m])) by(le,proto,instance)) | coreDNS TCP响应数据包大小 P90 — CoreDNS自身指标 | |
histogram_quantile(0.50,sum(rate(coredns_dns_response_size_bytes_bucket{proto="tcp"}[5m])) by(le,proto,instance)) | coreDNS TCP响应数据包大小 P50 — CoreDNS自身指标 | |
sum (coredns_cache_entries{}) by(type,instance) | coreDNS缓存的DNS记录数 — CoreDNS自身指标 | |
sum (rate(coredns_cache_hits_total{}[5m])) by (type,instance) | coreDNS缓存命中率 — CoreDNS自身指标 | |
sum (rate(coredns_cache_misses_total{}[5m])) by (type,instance) | coreDNS缓存丢失率 — CoreDNS自身指标 | |
kube_cronjob_info | 关于cronjob的信息 — kube-state-metrics 的cronjob指标 | |
kube_cronjob_labels | Kubernetes标签转换为Prometheus标签 — kube-state-metrics 的cronjob指标 | |
kube_cronjob_created | Unix创建时间戳 — kube-state-metrics 的cronjob指标 | |
kube_cronjob_next_schedule_time | 下次应该安排cronjob。在lastScheduleTime之后的时间,或者在cron作业的创建时间之后(如果从未计划过)。使用它来确定作业是否延迟 — kube-state-metrics 的cronjob指标 | |
kube_cronjob_status_active | 活动保持指向当前正在运行的作业的指针 — kube-state-metrics 的cronjob指标 | |
kube_cronjob_status_last_schedule_time | LastScheduleTime保留有关上一次成功调度作业的时间的信息 — kube-state-metrics 的cronjob指标 | |
kube_cronjob_spec_suspend | 挂起标志告诉控制器挂起后续执行 — kube-state-metrics 的cronjob指标 | |
kube_cronjob_spec_starting_deadline_seconds | 如果由于任何原因错过了计划时间,则开始工作的最后期限(以秒为单位) — kube-state-metrics 的cronjob指标 | |
apiserver_request_duration_seconds | apiserver响应的时间分布,按照url 和 verb 分类 — apiserver服务自身指标 类型: histogram | |
apiserver_request_total | apiserver的请求总数,按照verb、 version、 group、resource、scope、component、 http返回码分类统计 — apiserver服务自身指标 类型: counter | |
apiserver_current_inflight_requests | 最大并发请求数, 按mutating(非get list watch的请求)和readOnly(get list watch)分别限制 — apiserver服务自身指标 类型: gauge | |
apiserver_response_sizes | apiserver 响应大小,单位byte, 按照verb、 version、 group、resource、scope、component分类统计 — apiserver服务自身指标 类型: histogram | |
watch_cache_capacity | 按照资源类型统计的watch缓存大小 — apiserver服务自身指标 类型: gauge | |
process_cpu_seconds_total | 每秒钟用户态和系统态cpu消耗时间, 计算apiserver进程的cpu的使用率 — apiserver服务自身指标 类型: counter | |
process_resident_memory_bytes | apiserver的内存使用量(单位:Byte) — apiserver服务自身指标 类型: gauge | |
workqueue_adds_total | apiserver中包含的controller的工作队列,已处理的任务总数 — apiserver服务自身指标 类型: counter | |
workqueue_depth | apiserver中包含的controller的工作队列深度,表示当前队列中要处理的任务的数量,数值越小越好 — apiserver服务自身指标 类型: gauge | |
kube_configmap_info | 有关configmap的信息 — kube-state-metrics 的configmap指标 | |
kube_configmap_created | Unix创建时间戳 — kube-state-metrics 的configmap指标 | |
kube_configmap_metadata_resource_version | 表示configmap特定版本的资源版本 — kube-state-metrics 的configmap指标 | |
container_cpu_cfs_periods_total | cfs时间片总数, 完全公平调度的时间片总数(分配到cpu的时间片数) — cAdvisor暴露的容器指标 类型: counter | |
container_cpu_cfs_throttled_periods_total | 容器被throttle的时间片总数 — cAdvisor暴露的容器指标 类型: counter | |
container_cpu_cfs_throttled_seconds_total | 容器被throttle的时间 — cAdvisor暴露的容器指标 类型: counter | |
container_file_descriptors | 容器打开的fd数 — cAdvisor暴露的容器指标 类型: gauge | |
container_memory_usage_bytes | 容器内存使用量,单位byte — cAdvisor暴露的容器指标 类型: gauge | |
container_network_receive_bytes_total | 容器入方向的流量 — cAdvisor暴露的容器指标 类型: counter | |
container_network_transmit_bytes_total | 容器出方向的流量 — cAdvisor暴露的容器指标 类型: counter | |
container_spec_cpu_period | 容器的cpu调度单位时间 — cAdvisor暴露的容器指标 类型: gauge | |
container_spec_cpu_quota | 容器的cpu规格 ,除以单位调度时间可以计算核数 — cAdvisor暴露的容器指标 类型: gauge | |
container_spec_memory_limit_bytes | 容器的内存规格,单位byte — cAdvisor暴露的容器指标 类型: gauge | |
container_threads | 容器当前的线程数 — cAdvisor暴露的容器指标 类型: gauge | |
container_threads_max | 允许容器启动的最大线程数 — cAdvisor暴露的容器指标 类型: gauge | |
rest_client_request_duration_seconds | 请求apiserver的耗时分布,按照url+verb统计 — controller-manager服务自身指标 类型: histogram | |
cronjob_controller_cronjob_job_creation_skew_duration_seconds | cronjob 创建到运行的时间分布 — controller-manager服务自身指标 类型: histogram | |
leader_election_master_status | 控制器的选举状态,0表示backup, 1表示master — controller-manager服务自身指标 类型: gauge | |
node_collector_zone_health | 每个zone的健康node占比 — controller-manager服务自身指标 类型: gauge | |
node_collector_zone_size | 每个zone的node数 — controller-manager服务自身指标 类型: gauge | |
process_cpu_seconds_total | cpu使用量(也可以理解为cpu使用率) — controller-manager服务自身指标 类型: counter | |
process_open_fds | 控制器打开的fd数 — controller-manager服务自身指标 类型: gauge | |
pv_collector_bound_pv_count | 当前绑定的pv数量 — controller-manager服务自身指标 类型: gauge | |
pv_collector_unbound_pvc_count | 当前没有绑定的pvc数量 — controller-manager服务自身指标 类型: gauge | |
pv_collector_bound_pvc_count | 当前绑定的pvc数量 — controller-manager服务自身指标 类型: gauge | |
pv_collector_total_pv_count | pv总数量 — controller-manager服务自身指标 类型: gauge | |
workqueue_adds_total | 各个controller已接受的任务总数 — controller-manager服务自身指标 类型: counter | |
workqueue_depth | 各个controller队列深度,表示一个controller中的任务的数量 — controller-manager服务自身指标 类型: gauge | |
workqueue_queue_duration_seconds | 任务在队列中的等待耗时,按照控制器分别统计 — controller-manager服务自身指标 类型: histogram | |
workqueue_work_duration_seconds | 任务出队到被处理完成的时间,按照控制分别统计 — controller-manager服务自身指标 类型: histogram | |
workqueue_retries_total | 任务进入队列重试的次数 — controller-manager服务自身指标 类型: counter | |
workqueue_longest_running_processor_seconds | 正在处理的任务中,最长耗时任务的处理时间 — controller-manager服务自身指标 类型: gauge | |
endpoint_slice_controller_syncs | endpoint_slice 同步的数量(1.20以上) — controller-manager服务自身指标 类型: counter | |
get_token_fail_count | 获取token失败的次数 — controller-manager服务自身指标 类型: counter | |
go_memstats_gc_cpu_fraction | controller gc的cpu使用率 — controller-manager服务自身指标 类型: gauge | |
kube_daemonset_created | Unix创建时间戳 — kube-state-metrics 的daemonset指标 | |
kube_daemonset_status_current_number_scheduled | 运行至少一个且应该运行的守护程序容器的节点数 — kube-state-metrics 的daemonset指标 | |
kube_daemonset_status_desired_number_scheduled | 应该运行守护程序容器的节点数 — kube-state-metrics 的daemonset指标 | |
kube_daemonset_status_number_available | 应该运行守护程序容器并具有一个或多个守护程序容器正在运行并且可用的节点数 — kube-state-metrics 的daemonset指标 | |
kube_daemonset_status_number_misscheduled | 运行守护程序容器但不应该运行的节点数 — kube-state-metrics 的daemonset指标 | |
kube_daemonset_status_number_ready | 应该运行守护程序容器并已运行一个或多个守护程序容器并准备就绪的节点数 — kube-state-metrics 的daemonset指标 | |
kube_daemonset_status_number_unavailable | 应该运行守护程序容器且没有任何守护程序容器正在运行并且可用的节点数 — kube-state-metrics 的daemonset指标 | |
kube_daemonset_updated_number_scheduled | 正在运行更新的守护程序pod的节点总数 — kube-state-metrics 的daemonset指标 | |
kube_daemonset_metadata_generation | 代表所需状态的特定生成的序列号 — kube-state-metrics 的daemonset指标 | |
kube_daemonset_labels | Kubernetes标签转换为Prometheus标签 — kube-state-metrics 的daemonset指标 | |
kube_deployment_status_replicas | 每个deployment的副本数 — kube-state-metrics 的deployment指标 | |
kube_deployment_status_replicas_available | 每个deployment的可用副本数 — kube-state-metrics 的deployment指标 | |
kube_deployment_status_replicas_unavailable | 每个deployment中不可用副本的数量 — kube-state-metrics 的deployment指标 | |
kube_deployment_status_replicas_updated | 每个deployment的更新副本数 — kube-state-metrics 的deployment指标 | |
kube_deployment_status_observed_generation | deployment控制器观察到的生成 — kube-state-metrics 的deployment指标 | |
kube_deployment_status_condition | 部署的当前状态condition — kube-state-metrics 的deployment指标 | |
kube_deployment_spec_replicas | deployment所需的Pod数 — kube-state-metrics 的deployment指标 | |
kube_deployment_spec_paused | deployment是否暂停,并且deployment控制器不会处理 — kube-state-metrics 的deployment指标 | |
kube_deployment_spec_strategy_rollingupdate_max_unavailable | 滚动更新deployment期间的最大不可用副本数 — kube-state-metrics 的deployment指标 | |
kube_deployment_spec_strategy_rollingupdate_max_surge | 滚动更新deployment期间的最大不可用副本数 — kube-state-metrics 的deployment指标 | |
kube_deployment_metadata_generation | 代表期望状态的特定生成的序列号 — kube-state-metrics 的deployment指标 | |
kube_deployment_labels | Kubernetes标签转换为Prometheus标签 — kube-state-metrics 的deployment指标 | |
kube_deployment_created | Unix创建时间戳 — kube-state-metrics 的deployment指标 | |
kube_endpoint_address_not_ready | endpoint中not ready的addresses数 — kube-state-metrics 的endpoint指标 | |
kube_endpoint_address_available | endpoint中可用的addresses数 — kube-state-metrics 的endpoint指标 | |
kube_endpoint_info | 有关endpoint的信息 — kube-state-metrics 的endpoint指标 | |
kube_endpoint_labels | Kubernetes标签转换为Prometheus标签 — kube-state-metrics 的endpoint指标 | |
kube_endpoint_created | Unix创建时间戳 — kube-state-metrics 的endpoint指标 | |
etcd_server_is_leader | etcd leader 表示 ,1 leader 0 learner — etcd 服务自身指标 类型: gauge | |
etcd_server_health_success | etcd server 健康检查成功次数 — etcd 服务自身指标 类型: counter | |
etcd_server_health_failures | etcd server 健康检查失败次数 — etcd 服务自身指标 类型: counter | |
etcd_disk_defrag_inflight | 是否启动数据压缩,1表示压缩,0表示没有启动压缩 — etcd 服务自身指标 类型: gauge | |
etcd_server_snapshot_apply_in_progress_total | 是否再快照中,1 快照中,0 没有 — etcd 服务自身指标 类型: gauge | |
etcd_server_leader_changes_seen_total | 集群leader切换的次数 — etcd 服务自身指标 类型: counter | |
grpc_server_handled_total | grpc 调用总数 — etcd 服务自身指标 类型: counter | |
etcd_disk_wal_fsync_duration_seconds | etcd wal同步耗时 — etcd 服务自身指标 类型: histogram | |
etcd_server_proposals_failed_total | etcd proposal(提议)失败总次数(proposal就是完成raft协议的一次请求) — etcd 服务自身指标 类型: counter | |
etcd_server_proposals_pending | etcd proposal(提议)pending总次数(proposal就是完成raft协议的一次请求) — etcd 服务自身指标 类型: gauge | |
etcd_server_read_indexes_failed_total | 读取索引失败的次数统计(v3索引为所有key都建了索引,索引是为了加快range操作) — etcd 服务自身指标 类型: counter | |
etcd_server_slow_read_indexes_total | 读取到过期索引或者读取超时的次数 — etcd 服务自身指标 类型: counter | |
etcd_server_quota_backend_bytes | 当前后端的存储quota(db大小的上限)通过参数quota-backend-bytes调整大小,默认2G,官方建议不超过8G — etcd 服务自身指标 类型: gauge | |
etcd_mvcc_db_total_size_in_bytes | etcd 分配的db大小(使用量大小+空闲大小) — etcd 服务自身指标 类型: gauge | |
etcd_mvcc_db_total_size_in_use_in_bytes | etcd db的使用量大小 — etcd 服务自身指标 类型: gauge | |
etcd_mvcc_range_total | etcd执行range的数量 — etcd 服务自身指标 类型: counter | |
etcd_mvcc_put_total | etcd执行put的数量 — etcd 服务自身指标 类型: counter | |
etcd_mvcc_txn_total | etcd实例执行事务的数量 — etcd 服务自身指标 类型: counter | |
etcd_mvcc_delete_total | etcd实例执行delete操作的数量 — etcd 服务自身指标 类型: counter | |
process_cpu_seconds_total | etcd cpu使用量 — etcd 服务自身指标 类型: counter | |
process_resident_memory_bytes | etcd 内存使用量 — etcd 服务自身指标 类型: gauge | |
process_open_fds | etcd 打开的fd数目 — etcd 服务自身指标 类型: gauge | |
kube_job_info | 有关job的信息 — kube-state-metrics 的job指标 | |
kube_job_labels | Kubernetes标签转换为Prometheus标签 — kube-state-metrics 的job指标 | |
kube_job_owner | 有关job所有者的信息 — kube-state-metrics 的job指标 | |
kube_job_spec_parallelism | 在任何给定时间,job应运行的pod的最大期望数量 — kube-state-metrics 的job指标 | |
kube_job_spec_completions | 运行job所需的成功完成的Pod数量 — kube-state-metrics 的job指标 | |
kube_job_spec_active_deadline_seconds | 在系统尝试终止job之前,作业相对于startTime的活动持续时间(以秒为单位) — kube-state-metrics 的job指标 | |
kube_job_status_active | 正在运行的pod数 — kube-state-metrics 的job指标 | |
kube_job_status_succeeded | 成功reached Phase的pod数量 — kube-state-metrics 的job指标 | |
kube_job_status_failed | Failed reached Phase的pod数量 — kube-state-metrics 的job指标 | |
kube_job_status_start_time | StartTime表示作业Job Manager job的时间 — kube-state-metrics 的job指标 | |
kube_job_status_completion_time | CompletionTime表示job完成的时间 — kube-state-metrics 的job指标 | |
kube_job_complete | job已完成执行 — kube-state-metrics 的job指标 | |
kube_job_failed | job执行失败 — kube-state-metrics 的job指标 | |
kube_job_created | Unix创建时间戳 — kube-state-metrics 的job指标 | |
node_netstat_Tcp_CurrEstab * on(instance, cluster) group_left(nodename) node_uname_info{nodename=~"$node_name"} | TCP当前连接数 — 节点指标 类型: * | |
node_filefd_allocated * on(instance, cluster) group_left(nodename) node_uname_info{nodename=~"$node_name"} | 文件描述符使用数 — 节点指标 类型: * | |
node_filefd_maximum * on(instance, cluster) group_left(nodename) node_uname_info{nodename=~"$node_name"} | 文件描述符最大限制 — 节点指标 类型: * | |
100 - (node_filesystem_files_free * on(instance, cluster) group_left(nodename) node_uname_info{nodename=~"$node_name"} / node_filesystem_files * on(instance, cluster) group_left(nodename) node_uname_info{nodename=~"$node_name"} * 100) | 文件系统inode使用率 — 节点指标 类型: - | |
100 - ((node_filesystem_avail_bytes * on(instance, cluster) group_left(nodename) node_uname_info{nodename=~"$node_name"} * 100) / node_filesystem_size_bytes * on(instance, cluster) group_left(nodename) node_uname_info{nodename=~"$node_name"}) | 文件系统使用率 — 节点指标 类型: - | |
sum(node_filesystem_device_error * on(instance, cluster) group_left(nodename) node_uname_info{nodename=~"$node_name"}) by (mountpoint) | 文件系统错误数 — 节点指标 类型: * | |
rate(node_disk_io_now[5m]) * on(instance, cluster) group_left(nodename) node_uname_info{nodename=~"$node_name"} | 磁盘IO使用率 — 节点指标 类型: * | |
rate(node_disk_writes_completed_total[5m]) * on(instance, cluster) group_left(nodename) node_uname_info{nodename=~"$node_name"} | 磁盘写入IOPS — 节点指标 类型: * | |
rate(node_disk_written_bytes_total[5m]) * on(instance, cluster) group_left(nodename) node_uname_info{nodename=~"$node_name"} | 磁盘写入速率 — 节点指标 类型: * | |
rate(node_disk_reads_completed_total[5m]) * on(instance, cluster) group_left(nodename) node_uname_info{nodename=~"$node_name"} | 磁盘读取IOPS — 节点指标 类型: * | |
rate(node_disk_read_bytes_total[5m]) * on(instance, cluster) group_left(nodename) node_uname_info{nodename=~"$node_name"} | 磁盘读取速率 — 节点指标 类型: * | |
rate(node_context_switches_total[5m]) * on(instance, cluster) group_left(nodename) node_uname_info{nodename=~"$node_name"} | 系统上下文切换率 — 节点指标 类型: * | |
rate(node_intr_total[5m]) * on(instance, cluster) group_left(nodename) node_uname_info{nodename=~"$node_name"} | 系统中断率 — 节点指标 类型: * | |
sum(rate(node_network_transmit_drop_total[5m]) * on(instance, cluster) group_left(nodename) node_uname_info{nodename=~"$node_name"}) | 网络发送丢包率 — 节点指标 类型: * | |
sum(rate(node_network_transmit_bytes_total[5m]) * on(instance, cluster) group_left(nodename) node_uname_info{nodename=~"$node_name"}) | 网络发送带宽 — 节点指标 类型: * | |
sum(rate(node_network_transmit_errs_total[5m]) * on(instance, cluster) group_left(nodename) node_uname_info{nodename=~"$node_name"}) | 网络发送错误率 — 节点指标 类型: * | |
sum(rate(node_network_receive_drop_total[5m]) * on(instance, cluster) group_left(nodename) node_uname_info{nodename=~"$node_name"}) | 网络接收丢包率 — 节点指标 类型: * | |
sum(rate(node_network_receive_bytes_total[5m]) * on(instance, cluster) group_left(nodename) node_uname_info{nodename=~"$node_name"}) | 网络接收带宽 — 节点指标 类型: * | |
sum(rate(node_network_receive_errs_total[5m]) * on(instance, cluster) group_left(nodename) node_uname_info{nodename=~"$node_name"}) | 网络接收错误率 — 节点指标 类型: * | |
node_nf_conntrack_entries * on(instance, cluster) group_left(nodename) node_uname_info{nodename=~"$node_name"} | 网络连接跟踪条目数 — 节点指标 类型: * | |
node_nf_conntrack_entries_limit * on(instance, cluster) group_left(nodename) node_uname_info{nodename=~"$node_name"} | 网络连接跟踪限制 — 节点指标 类型: * | |
sum by (instance) (rate(node_cpu_seconds_total{mode!~"idle|iowait|steal"}[5m])) * on(instance) group_left(nodename) node_uname_info{nodename=~"$node_name"} *100 | 节点 CPU 使用率 — 节点指标 类型: by | |
node_load15 * on(instance, cluster) group_left(nodename) node_uname_info{nodename=~"$node_name"} | 节点15分钟负载 — 节点指标 类型: * | |
node_load1 * on(instance, cluster) group_left(nodename) node_uname_info{nodename=~"$node_name"} | 节点1分钟负载 — 节点指标 类型: * | |
node_load5 * on(instance, cluster) group_left(nodename) node_uname_info{nodename=~"$node_name"} | 节点5分钟负载 — 节点指标 类型: * | |
node_memory_SwapTotal_bytes * on(instance, cluster) group_left(nodename) node_uname_info{nodename=~"$node_name"} - node_memory_SwapFree_bytes * on(instance, cluster) group_left(nodename) node_uname_info{nodename=~"$node_name"} | 节点Swap使用量 — 节点指标 类型: * | |
node_memory_SwapTotal_bytes * on(instance, cluster) group_left(nodename) node_uname_info{nodename=~"$node_name"} | 节点Swap总量 — 节点指标 类型: * | |
sum(kube_pod_info * on(node) group_left(nodename) node_uname_info{nodename=~"$node_name"}) | 节点上运行的Pod数量 — 节点指标 类型: * | |
sum(node_memory_MemTotal_bytes * on(instance, cluster) group_left(nodename) node_uname_info{nodename=~"$node_name"} - node_memory_MemAvailable_bytes * on(instance, cluster) group_left(nodename) node_uname_info{nodename=~"$node_name"}) / sum(node_memory_MemTotal_bytes * on(instance, cluster) group_left(nodename) node_uname_info{nodename=~"$node_name"}) | 节点内存使用率 — 节点指标 类型: * | |
node_memory_MemAvailable_bytes * on(instance, cluster) group_left(nodename) node_uname_info{nodename=~"$node_name"} | 节点内存详细信息 - 可用 — 节点指标 类型: * | |
node_memory_MemTotal_bytes * on(instance, cluster) group_left(nodename) node_uname_info{nodename=~"$node_name"} | 节点内存详细信息 - 总量 — 节点指标 类型: * | |
node_memory_MemFree_bytes * on(instance, cluster) group_left(nodename) node_uname_info{nodename=~"$node_name"} | 节点内存详细信息 - 空闲 — 节点指标 类型: * | |
node_memory_Buffers_bytes * on(instance, cluster) group_left(nodename) node_uname_info{nodename=~"$node_name"} | 节点内存详细信息 - 缓冲区 — 节点指标 类型: * | |
node_memory_Cached_bytes * on(instance, cluster) group_left(nodename) node_uname_info{nodename=~"$node_name"} | 节点内存详细信息 - 缓存 — 节点指标 类型: * | |
sum(container_fs_inodes_total{namespace="$namespace", pod=~"$pod_name", image!~".*pause.*"}) by (name) | Inode数量 — Pod自身指标 类型: pod=~"$pod_name", | |
sum(container_tasks_state{namespace="$namespace", pod=~"$pod_name", image!~".*pause.*", state="uninterruptible"}) by (name) | 不可中断任务数量 — Pod自身指标 类型: pod=~"$pod_name", | |
(sum(container_memory_cache{namespace="$namespace", pod=~"$pod_name", image!~".*pause.*"}) by (name)) | 容器cache使用 — Pod自身指标 类型: pod=~"$pod_name", | |
(sum(container_spec_cpu_quota{namespace="$namespace", pod=~"$pod_name"}/container_spec_cpu_period{namespace="$namespace", pod=~"$pod_name"}) by (name)) | 容器CPU Limit — Pod自身指标 类型: pod=~"$pod_name"}/container_spec_cpu_period{namespace="$namespace", | |
sum(container_cpu_load_average_10s{namespace="$namespace", pod=~"$pod_name", image!~".*pause.*"}) by (name) | 容器CPU load 10 — Pod自身指标 类型: pod=~"$pod_name", | |
sum(rate(container_cpu_usage_seconds_total{namespace="$namespace", pod=~"$pod_name", image!~".*pause.*"}[1m])*100) by(name) | 容器CPU使用率 — Pod自身指标 类型: pod=~"$pod_name", | |
sum(rate(container_cpu_usage_seconds_total{namespace="$namespace", pod=~"$pod_name", image!~".*pause.*"}[1m])*100) by(name)/((sum(container_spec_cpu_quota{namespace="$namespace", pod=~"$pod_name"}/container_spec_cpu_period{namespace="$namespace", pod=~"$pod_name"}) by (name))) | 容器CPU归一化后使用率 — Pod自身指标 类型: pod=~"$pod_name", | |
sum(container_fs_io_current{namespace="$namespace", pod=~"$pod_name", image!~".*pause.*"}) by (name) | 容器I/O — Pod自身指标 类型: pod=~"$pod_name", | |
(sum(container_memory_rss{namespace="$namespace", pod=~"$pod_name", image!~".*pause.*"}) by (name)) | 容器RSS内存使用 — Pod自身指标 类型: pod=~"$pod_name", | |
sum(container_spec_memory_limit_bytes{namespace="$namespace", pod=~"$pod_name", image!~".*pause.*"}) by (name) | 容器内存 Limit — Pod自身指标 类型: pod=~"$pod_name", | |
(sum(container_memory_usage_bytes{namespace="$namespace", pod=~"$pod_name", image!~".*pause.*"}) by (name)) | 容器内存使用 — Pod自身指标 类型: pod=~"$pod_name", | |
((sum(container_memory_usage_bytes{namespace="$namespace", pod=~"$pod_name", image!~".*pause.*"}) by (name)) /(sum(container_spec_memory_limit_bytes{namespace="$namespace", pod=~"$pod_name", image!~".*pause.*"}) by (name)))*100 | 容器内存使用率 — Pod自身指标 类型: pod=~"$pod_name", | |
sum(rate(container_cpu_system_seconds_total{namespace="$namespace", pod=~"$pod_name", image!~".*pause.*"}[1m])*100) by(name) | 容器内核态CPU使用率 — Pod自身指标 类型: pod=~"$pod_name", | |
sum(rate(container_cpu_cfs_throttled_periods_total{namespace="$namespace", pod=~"$pod_name", image!~".*pause.*"}[1m]))by(name) *100 | 容器发生CPU throttle的比率 — Pod自身指标 类型: pod=~"$pod_name", | |
sum(container_oom_events_total{namespace="$namespace", pod=~"$pod_name", image!~".*pause.*"}) by (name) | 容器发生OOM次数 — Pod自身指标 类型: pod=~"$pod_name", | |
sum((time()-container_start_time_seconds{namespace="$namespace", pod=~"$pod_name", image!~".*pause.*"})) by (name) | 容器启动时长(小时) — Pod自身指标 类型: pod=~"$pod_name", | |
sum(container_fs_usage_bytes{namespace="$namespace", pod=~"$pod_name", image!~".*pause.*"}) by (name) | 容器已使用的文件系统大小 — Pod自身指标 类型: pod=~"$pod_name", | |
sum(rate(container_cpu_user_seconds_total{namespace="$namespace", pod=~"$pod_name", image!~".*pause.*"}[1m])*100) by(name) | 容器用户态CPU使用率 — Pod自身指标 类型: pod=~"$pod_name", | |
sum(rate(container_fs_writes_bytes_total{namespace="$namespace", pod=~"$pod_name", image!~".*pause.*"}[1m])) by(name) | 文件系统写入速率 — Pod自身指标 类型: pod=~"$pod_name", | |
sum(rate(container_fs_reads_bytes_total{namespace="$namespace", pod=~"$pod_name", image!~".*pause.*"}[1m])) by(name) | 文件系统读取速率 — Pod自身指标 类型: pod=~"$pod_name", | |
sum(rate(container_network_transmit_packets_dropped_total{namespace="$namespace", pod=~"$pod_name"}[1m])) by(name, interface) | 网络发送丢包数 — Pod自身指标 类型: pod=~"$pod_name"}[1m])) | |
sum(rate(container_network_transmit_packets_total{namespace="$namespace", pod=~"$pod_name"}[1m])) by(name, interface) | 网络发送数据包 — Pod自身指标 类型: pod=~"$pod_name"}[1m])) | |
sum(rate(container_network_transmit_bytes_total{namespace="$namespace", pod=~"$pod_name"}[1m])) by(name, interface) | 网络发送速率 — Pod自身指标 类型: pod=~"$pod_name"}[1m])) | |
sum(rate(container_network_transmit_errors_total{namespace="$namespace", pod=~"$pod_name"}[1m])) by(name, interface) | 网络发送错误数 — Pod自身指标 类型: pod=~"$pod_name"}[1m])) | |
sum(rate(container_network_receive_packets_dropped_total{namespace="$namespace", pod=~"$pod_name"}[1m])) by(name, interface) | 网络接收丢包数 — Pod自身指标 类型: pod=~"$pod_name"}[1m])) | |
sum(rate(container_network_receive_packets_total{namespace="$namespace", pod=~"$pod_name"}[1m])) by(name, interface) | 网络接收数据包数 — Pod自身指标 类型: pod=~"$pod_name"}[1m])) | |
sum(rate(container_network_receive_bytes_total{namespace="$namespace", pod=~"$pod_name"}[1m])) by(name, interface) | 网络接收速率 — Pod自身指标 类型: pod=~"$pod_name"}[1m])) | |
sum(rate(container_network_receive_errors_total{namespace="$namespace", pod=~"$pod_name"}[1m])) by(name, interface) | 网络接收错误数 — Pod自身指标 类型: pod=~"$pod_name"}[1m])) | |
go_gc_duration_seconds | gc时间 — kube-proxy 服务自身指标 类型: summary | |
go_goroutines | goroutine数量 — kube-proxy 服务自身指标 类型: gauge | |
go_threads | 线程数量 — kube-proxy 服务自身指标 类型: gauge | |
kubeproxy_network_programming_duration_seconds | service或者pod发生变化到kube-proxy规则同步完成时间指标含义较复杂,参照https://github.com/kubernetes/community/blob/master/sig-scalability/slos/network_programming_latency.md — kube-proxy 服务自身指标 类型: histogram | |
kubeproxy_sync_proxy_rules_duration_seconds | 规则同步耗时 — kube-proxy 服务自身指标 类型: histogram | |
kubeproxy_sync_proxy_rules_endpoint_changes_pending | endpoint 发生变化后规则同步pending的次数 — kube-proxy 服务自身指标 类型: gauge | |
kubeproxy_sync_proxy_rules_endpoint_changes_total | endpoint 发生变化后规则同步的总次数 — kube-proxy 服务自身指标 类型: counter | |
kubeproxy_sync_proxy_rules_iptables_restore_failures_total | 本机上 iptables restore 失败的总次数 — kube-proxy 服务自身指标 类型: counter | |
kubeproxy_sync_proxy_rules_last_queued_timestamp_seconds | 最近一次规则同步的请求时间戳,如果比下一个指标 kubeproxy_sync_proxy_rules_last_timestamp_seconds 大很多,那说明同步 hung 住了 — kube-proxy 服务自身指标 类型: gauge | |
kubeproxy_sync_proxy_rules_last_timestamp_seconds | 最近一次规则同步的完成时间戳 — kube-proxy 服务自身指标 类型: gauge | |
kubeproxy_sync_proxy_rules_service_changes_pending | service变化引起的规则同步pending数量 — kube-proxy 服务自身指标 类型: gauge | |
kubeproxy_sync_proxy_rules_service_changes_total | service变化引起的规则同步总数 — kube-proxy 服务自身指标 类型: counter | |
process_cpu_seconds_total | 利用这个指标统计cpu使用率 — kube-proxy 服务自身指标 类型: counter | |
process_max_fds | 进程可以打开的最大fd数 — kube-proxy 服务自身指标 类型: gauge | |
process_open_fds | 进程当前打开的fd数 — kube-proxy 服务自身指标 类型: gauge | |
process_resident_memory_bytes | 统计内存使用大小 — kube-proxy 服务自身指标 类型: gauge | |
process_start_time_seconds | 进程启动时间戳 — kube-proxy 服务自身指标 类型: gauge | |
rest_client_request_duration_seconds | 请求 apiserver 的耗时(按照url和verb统计) — kube-proxy 服务自身指标 类型: histogram | |
rest_client_requests_total | 请求 apiserver 的总数(按照code method host统计) — kube-proxy 服务自身指标 类型: counter | |
go_gc_duration_seconds | gc的时间统计(summary指标) — kubelet 服务自身指标 类型: summary | |
go_goroutines | goroutine 数量 — kubelet 服务自身指标 类型: gauge | |
go_threads | 线程数量 — kubelet 服务自身指标 类型: gauge | |
kubelet_cgroup_manager_duration_seconds | 操作cgroup的时长分布,按照操作类型统计 — kubelet 服务自身指标 类型: histogram | |
kubelet_containers_per_pod_count | pod中container数量的统计(spec.containers的数量) — kubelet 服务自身指标 类型: histogram | |
kubelet_docker_operations_duration_seconds | 操作docker的时长分布,按照操作类型统计 — kubelet 服务自身指标 类型: histogram | |
kubelet_docker_operations_errors_total | 操作docker的错误累计次数,按照操作类型统计 — kubelet 服务自身指标 类型: counter | |
kubelet_docker_operations_timeout_total | 操作docker的超时统计,按照操作类型统计 — kubelet 服务自身指标 类型: counter | |
kubelet_docker_operations_total | 操作docker的累计次数,按照操作类型统计 — kubelet 服务自身指标 类型: counter | |
kubelet_eviction_stats_age_seconds | 驱逐操作的时间分布,按照驱逐信号(原因)分类统计 — kubelet 服务自身指标 类型: histogram | |
kubelet_evictions | 驱逐次数统计,按照驱逐信号(原因)统计 — kubelet 服务自身指标 类型: counter | |
kubelet_http_inflight_requests | 请求kubelet的inflight请求数,按照method path server_type统计, 注意与每秒的request数区别开 — kubelet 服务自身指标 类型: gauge | |
kubelet_http_requests_duration_seconds | 请求kubelet的请求时间统计, 按照method path server_type统计 — kubelet 服务自身指标 类型: histogram | |
kubelet_http_requests_total | 请求kubelet的请求数统计,按照method path server_type统计 — kubelet 服务自身指标 类型: counter | |
kubelet_managed_ephemeral_containers | 当前kubelet管理的临时容器数量 — kubelet 服务自身指标 类型: gauge | |
kubelet_network_plugin_operations_duration_seconds | 网络插件的操作耗时分布 ,按照操作类型(operation_type)统计, 如果 --feature-gates=EphemeralContainers=false, 否则一直为0 — kubelet 服务自身指标 类型: histogram | |
kubelet_network_plugin_operations_errors_total | 网络插件累计操作错误数统计,按照操作类型(operation_type)统计 — kubelet 服务自身指标 类型: counter | |
kubelet_network_plugin_operations_total | 网络插件累计操作数统计,按照操作类型(operation_type)统计 — kubelet 服务自身指标 类型: counter | |
kubelet_node_name | node name — kubelet 服务自身指标 类型: gauge | |
kubelet_pleg_discard_events | PLEG(pod lifecycle event generator) 丢弃的event数统计 — kubelet 服务自身指标 类型: counter | |
kubelet_pleg_last_seen_seconds | PLEG上次活跃的时间戳 — kubelet 服务自身指标 类型: gauge | |
kubelet_pleg_relist_duration_seconds | PLEG relist pod时间分布 — kubelet 服务自身指标 类型: histogram | |
kubelet_pleg_relist_interval_seconds | PLEG relist 间隔时间分布 — kubelet 服务自身指标 类型: histogram | |
kubelet_pod_start_duration_seconds | pod启动时间(从pending到running)分布, kubelet watch到pod时到pod中contianer都running后, watch各种source channel的pod变更 — kubelet 服务自身指标 类型: histogram | |
kubelet_pod_worker_duration_seconds | pod状态变化的时间分布, 按照操作类型(create update sync)统计, worker就是kubelet中处理一个pod的逻辑工作单位 — kubelet 服务自身指标 类型: histogram | |
kubelet_pod_worker_start_duration_seconds | kubelet watch到pod到worker启动的时间分布 — kubelet 服务自身指标 类型: histogram | |
kubelet_run_podsandbox_duration_seconds | 启动sandbox的时间分布 — kubelet 服务自身指标 类型: histogram | |
kubelet_run_podsandbox_errors_total | 启动sanbox出现error的总数 — kubelet 服务自身指标 类型: counter | |
kubelet_running_containers | 当前containers运行状态的统计, 按照container状态统计,created running exited — kubelet 服务自身指标 类型: gauge | |
kubelet_running_pods | 当前处于running状态pod数量 — kubelet 服务自身指标 类型: gauge | |
kubelet_runtime_operations_duration_seconds | 容器运行时的操作耗时(container在create list exec remove stop等的耗时) — kubelet 服务自身指标 类型: histogram | |
kubelet_runtime_operations_errors_total | 容器运行时的操作错误数统计(按操作类型统计) — kubelet 服务自身指标 类型: counter | |
kubelet_runtime_operations_total | 容器运行时的操作总数统计(按操作类型统计) — kubelet 服务自身指标 类型: counter | |
kubelet_started_containers_errors_total | kubelet启动容器错误总数统计(按code和container_type统计) — kubelet 服务自身指标 类型: counter | |
kubelet_started_containers_total | kubelet启动容器总数 — kubelet 服务自身指标 类型: counter | |
kubelet_started_pods_errors_total | kubelet启动pod遇到的错误总数(只有创建sandbox遇到错误才会统计) — kubelet 服务自身指标 类型: counter | |
kubelet_started_pods_total | kubelet启动的pod总数 — kubelet 服务自身指标 类型: counter | |
process_cpu_seconds_total | 统计cpu使用率 — kubelet 服务自身指标 类型: counter | |
process_max_fds | 允许进程打开的最大fd数 — kubelet 服务自身指标 类型: gauge | |
process_open_fds | 当前打开的fd数量 — kubelet 服务自身指标 类型: gauge | |
process_resident_memory_bytes | 进程驻留内存大小 — kubelet 服务自身指标 类型: gauge | |
process_start_time_seconds | 进程启动时间 — kubelet 服务自身指标 类型: gauge | |
rest_client_request_duration_seconds | 请求apiserver的耗时统计(按照url和请求类型统计verb) — kubelet 服务自身指标 类型: histogram | |
rest_client_requests_total | 请求apiserver的总次数(按照返回码code和请求类型method统计) — kubelet 服务自身指标 类型: counter | |
storage_operation_duration_seconds | 存储操作耗时(按照存储plugin(configmap emptydir hostpath 等 )和operation_name分类统计) — kubelet 服务自身指标 类型: histogram | |
volume_manager_total_volumes | 本机挂载的volume数量统计(按照plugin_name和state统计plugin_name包括"host-path" "empty-dir" "configmap" "projected")state(desired_state_of_world期状态/actual_state_of_world实际状态) — kubelet 服务自身指标 类型: gauge | |
kube_namespace_created | Unix创建时间戳 — kube-state-metrics 的namespace指标 | |
kube_namespace_labels | Kubernetes标签转换为Prometheus标签 — kube-state-metrics 的namespace指标 | |
kube_namespace_status_condition | 命名空间的状态 — kube-state-metrics 的namespace指标 | |
kube_namespace_status_phase | kubernetes命名空间状态阶段 — kube-state-metrics 的namespace指标 | |
kube_node_info | 有关群集节点的信息 — kube-state-metrics 的node指标 | |
kube_node_labels | Kubernetes标签转换为Prometheus标签 — kube-state-metrics 的node指标 | |
kube_node_role | 集群节点的角色 — kube-state-metrics 的node指标 | |
kube_node_spec_unschedulable | 节点是否可以调度新的Pod — kube-state-metrics 的node指标 | |
kube_node_spec_taint | 群集节点的污点 — kube-state-metrics 的node指标 | |
kube_node_status_capacity | 节点不同资源的容量 — kube-state-metrics 的node指标 | |
kube_node_status_allocatable | 可用于调度的节点的不同资源的可分配资源 — kube-state-metrics 的node指标 | |
kube_node_status_condition | 群集节点的状况 — kube-state-metrics 的node指标 | |
kube_node_created | Unix创建时间戳 — kube-state-metrics 的node指标 | |
rest_client_request_duration_seconds | 请求apiserver的延迟分布 — scheduler 服务自身指标 类型: histogram | |
rest_client_requests_total | 请求apiserver的总数 ,按照host code method 统计 — scheduler 服务自身指标 类型: counter | |
leader_election_master_status | 调度器的选举状态,0表示backup, 1表示master — scheduler 服务自身指标 类型: gauge | |
scheduler_queue_incoming_pods_total | 进入调度队列的pod数 — scheduler 服务自身指标 类型: counter | |
scheduler_preemption_attempts_total | 调度器驱逐容器的次数 — scheduler 服务自身指标 类型: counter | |
scheduler_scheduler_cache_size | 调度器cache中node pod和绑定pod的数目 — scheduler 服务自身指标 类型: gauge | |
scheduler_pending_pods | 调度pending的pod数量,按照queue type分别统计 — scheduler 服务自身指标 类型: gauge | |
scheduler_plugin_execution_duration_seconds | 调度插件在每个扩展点的执行时间,按照extension_point+plugin+status 分别统计 — scheduler 服务自身指标 类型: histogram | |
scheduler_e2e_scheduling_duration_seconds | 调度延迟分布,1.23.0 以后会被scheduling_attempt_duration_seconds替代 — scheduler 服务自身指标 类型: histogram | |
scheduler_framework_extension_point_duration_seconds | 调度框架的扩展点延迟分布,按extension_point(扩展点Bind Filter Permit PreBind/PostBind PreFilter/PostFilter Reseve)+profile(调度器)+ status(调度成功) 统计 — scheduler 服务自身指标 类型: histogram | |
scheduler_pod_scheduling_attempts | pod调度成功前,调度重试的次数分布 — scheduler 服务自身指标 类型: histogram | |
scheduler_schedule_attempts_total | 按照调度结果统计的调度重试次数。 "unschedulable" 表示无法调度,"error"表示调度器内部错误 — scheduler 服务自身指标 类型: counter | |
scheduler_scheduler_goroutines | 按照功能(binding filter之类)统计的goroutine数量 — scheduler 服务自身指标 类型: gauge | |
scheduler_scheduling_algorithm_duration_seconds | 调度算法的耗时分布 — scheduler 服务自身指标 类型: histogram | |
scheduler_scheduling_attempt_duration_seconds | 调度算法+binding的耗时分布 — scheduler 服务自身指标 类型: histogram | |
scheduler_scheduler_goroutines | 调度器的goroutines数目 — scheduler 服务自身指标 类型: gauge | |
kube_statefulset_status_replicas | 每个StatefulSet的副本数 — kube-state-metrics 的statefulset指标 | |
kube_statefulset_status_replicas_current | 每个StatefulSet的当前副本数 — kube-state-metrics 的statefulset指标 | |
kube_statefulset_status_replicas_ready | 每个StatefulSet的就绪副本数 — kube-state-metrics 的statefulset指标 | |
kube_statefulset_status_replicas_updated | 每个StatefulSet的更新副本数 — kube-state-metrics 的statefulset指标 | |
kube_statefulset_status_observed_generation | StatefulSet控制器观察到的生成 — kube-state-metrics 的statefulset指标 | |
kube_statefulset_replicas | StatefulSet所需的pod数 — kube-state-metrics 的statefulset指标 | |
kube_statefulset_metadata_generation | 表示StatefulSet所需状态的特定生成的序列号 — kube-state-metrics 的statefulset指标 | |
kube_statefulset_created | Unix创建时间戳 — kube-state-metrics 的statefulset指标 | |
kube_statefulset_labels | Kubernetes标签转换为Prometheus标签 — kube-state-metrics 的statefulset指标 | |
kube_statefulset_status_current_revision | 指示用于按顺序[0,currentReplicas)生成Pod的StatefulSet的版本 — kube-state-metrics 的statefulset指标 | |
kube_statefulset_status_update_revision | 指示用于按顺序[replicas-updatedReplicas,replicas]生成Pod的StatefulSet的版本 — kube-state-metrics 的statefulset指标 |
相关链接
- [Kubernetes 模板源文件](https://github.com/ccfos/nightingale/tree/main/integrations/Kubernetes):仪表盘、规则和采集配置的 JSON 原文,欢迎提 PR。
- 导入仪表盘和告警规则
- 核对指标是否入库
- 全部集成目录