Linux中Kubernetes的监控策略有哪些

作者:袖梨 2026-07-05

Linux下Kubernetes监控策略

Linux下Kubernetes的监控策略有哪些

一 总体策略与方法

  • 采用指标与日志双栈:指标用于容量、性能和 SLO 观测,日志用于故障排查与行为取证,二者互补。
  • 组合黑盒与白盒:黑盒从外部探测可用性(如存活性探针、端到端拨测),白盒基于内部可观测性(如请求延迟、错误率、饱和度)。
  • 方法论落地:基础设施用USE(Utilization、Saturation、Errors)快速定位瓶颈,服务用RED(Rate、Errors、Duration)贴近用户体验,二者结合覆盖全栈。
  • 分层观测:覆盖控制平面(API Server、etcd、Scheduler、Controller Manager)、节点(kubelet、容器运行时、kube-proxy)、工作负载(Pod/容器)、网络与存储、应用业务指标。

二 关键组件与数据源

  • cAdvisor:内置于kubelet,采集容器级CPU、内存、磁盘 I/O、网络等,是容器指标的权威来源。
  • Metrics Server:实现Resource Metrics API,从 kubelet 聚合CPU/内存等,用于HPA/VPA与调度决策。
  • kube-state-metrics:从 Kubernetes API 生成对象状态指标(如Pod 就绪数、副本数、Pending/Evicted等),回答“有多少/处于何状态”。
  • Node Exporter:节点级硬件与 OS指标(CPU、内存、磁盘、网络),通常以DaemonSet部署。
  • Prometheus:拉取/存储时序数据,提供PromQL查询与Alertmanager告警。
  • Grafana:可视化与仪表盘,常用官方/社区K8s 仪表盘快速落地。
  • 可选增强:Kubernetes Dashboard、K9s、Lens用于日常运维可视化;Weave Scope、Calico/Cilium辅助网络拓扑与策略可视化。

三 采集与告警架构

  • 以Prometheus Operator / kube-prometheus-stack为核心,借助ServiceMonitor/ PodMonitor与Kubernetes SD自动发现抓取目标,减少手工维护。
  • 典型抓取链路:
    • 节点与系统:Node Exporter(DaemonSet)→ Prometheus;
    • 容器:kubelet / cAdvisor → Prometheus;
    • 对象状态:kube-state-metrics → Prometheus;
    • 控制平面与核心组件:通过Endpoint/Service暴露指标供 Prometheus 抓取。
  • 告警与通知:Prometheus Rule → Alertmanager → 邮件/企业微信/Slack/Webhook,按SLO/错误预算设置分级与抑制。
  • 可视化:Grafana 以Prometheus为数据源,导入K8s 集群/节点/Pod等仪表盘,构建统一观测门户。

四 核心指标与告警示例

层级/对象关键指标策略/方法典型告警示例
节点CPU/内存/磁盘/网络利用率与I/O 等待USE节点 CPU > 80% 持续 5 分钟;磁盘使用率 > 85%
容器/PodCPU/内存使用率、重启次数、OOMKilledUSE + 状态容器重启次数 > 3 次/小时;OOMKilled 发生
工作负载Deployment 就绪副本数/更新状态、Pod Pending/Evictedkube-state-metrics就绪副本 < 期望副本数;持续 Pending > 10m
服务/应用请求率、错误率、P95/P99 延迟(RED)白盒埋点或 Ingress/Service 指标5xx 错误率 > 1%;P95 延迟 > 1s
控制平面API Server 请求延迟/QPS/错误码、etcd 延迟/健康组件指标API 错误率 > 0.5%;etcd 领导选举异常
网络Pod 网络丢包/重传、DNS 解析失败CNI/Service/Endpoint 指标DNS 解析失败率 > 1%;跨节点丢包率高
存储PVC 容量使用率、挂载/IO 错误卷/节点指标PVC 使用率 > 90%;Volume 挂载失败
说明:阈值需结合容量规划与 SLO校准,避免“告警疲劳”。

五 部署与运维要点

  • 快速落地:在 CentOS/Ubuntu 上优先采用 kube-prometheus-stack Helm 一键部署(含 Prometheus、Alertmanager、Grafana、Node Exporter、ServiceMonitor 等),导入常用仪表盘(如 1860、4076)。
  • 稳定性:为 Prometheus 与 Alertmanager 配置持久化存储与资源请求/限制,避免 OOM 与数据丢失。
  • 安全:组件间启用RBAC与TLS,对外暴露最小化;Grafana 使用强口令/SSO。
  • 可观测性增强:结合日志(EFK/ELK)与分布式追踪(Jaeger/Zipkin),与指标/告警联动定位根因。
  • 持续校准:定期复盘告警规则与仪表盘,淘汰无效告警,补充业务关键指标。

相关文章

精彩推荐