91·监控与运维进阶

监控简介

kubernetesmonitoringobservability

监控简介

学习目标

  1. 理解为什么需要监控 Kubernetes 集群
  2. 掌握监控的三大支柱:指标、日志、链路追踪
  3. 了解常见的监控方案和工具

核心概念

为什么需要监控

没有监控的集群:
┌─────────────────────────────────┐
│         Kubernetes 集群         │
│  ┌───────┐ ┌───────┐ ┌───────┐ │
│  │ Pod 1 │ │ Pod 2 │ │ Pod 3 │ │
│  │  ???  │ │  ???  │ │  ???  │ │
│  └───────┘ └───────┘ └───────┘ │
│  CPU? 内存? 请求量? 错误率?     │
└─────────────────────────────────┘
问题:出了问题才发现,被动响应

有监控的集群:
┌─────────────────────────────────┐
│         Kubernetes 集群         │
│  ┌───────┐ ┌───────┐ ┌───────┐ │
│  │ Pod 1 │ │ Pod 2 │ │ Pod 3 │ │
│  └───┬───┘ └───┬───┘ └───┬───┘ │
│      └─────────┼─────────┘     │
│           ┌───┴───┐            │
│           │ 监控  │            │
│           └───┬───┘            │
│         告警 + 仪表盘          │
└─────────────────────────────────┘
主动发现,提前预警

可观测性三大支柱

支柱说明工具
Metrics(指标)数值型时序数据Prometheus, Metrics Server
Logs(日志)文本型事件记录EFK, Loki
Traces(链路)请求调用链路Jaeger, Zipkin

监控层次

┌─────────────────────────────────────────┐
│              业务监控                    │
│    请求量、错误率、响应时间、业务指标     │
├─────────────────────────────────────────┤
│              应用监控                    │
│    JVM、Go Runtime、容器资源使用         │
├─────────────────────────────────────────┤
│              基础设施监控                │
│    Node CPU/内存/磁盘、Pod 状态         │
├─────────────────────────────────────────┤
│              集群监控                    │
│    API Server、etcd、Controller Manager │
└─────────────────────────────────────────┘

常见监控方案

方案特点适用场景
Metrics Server轻量、内置HPA、资源查看
Prometheus + Grafana功能强大、社区活跃生产环境
EFK Stack日志收集和分析日志集中管理
Datadog/New RelicSaaS、开箱即用不想自建

实践练习

练习 1:查看当前集群状态

# 查看 Node 资源使用
kubectl top nodes

# 查看 Pod 资源使用
kubectl top pods

# 查看集群事件
kubectl get events --sort-by='.lastTimestamp'

练习 2:理解监控需求

为你的应用列出需要监控的指标:

  1. 基础设施层:______
  2. 应用层:______
  3. 业务层:______

小结

要点说明
监控目的主动发现问题,提前预警
三大支柱指标、日志、链路追踪
监控层次集群、基础设施、应用、业务
常用工具Prometheus、Grafana、EFK

练习编辑器

bash
Loading...

继续学习

完成本课后,建议继续学习下一课「Metrics Server」 以巩固所学知识。