一、CloudWatch 是什么(一句话版)
Amazon CloudWatch 是 AWS 的集中式监控服务,用来收集、存储、可视化和告警 AWS 资源的指标和日志。
核心关键词:
集中式(centralized) / 托管(managed) / 无需运维
二、CloudWatch 如何工作(整体逻辑)
AWS 中的各种资源(EC2、ELB、Lambda、RDS 等)
➡️ 自动或主动发送数据到 CloudWatch
➡️ CloudWatch 统一存储、分析、展示、告警
你只需要:
一个 AWS 账号
不需要部署任何监控服务器
三、CloudWatch Metrics(指标)
1️⃣ 基础监控(Basic Monitoring)
默认开启
免费
5 分钟一个数据点
多数 AWS 服务自动发送
📌 例子:
EC2:CPUUtilization
ELB:RequestCount
Lambda:Invocations
很多应用“只用基础监控就够了”
2️⃣ 详细监控(Detailed Monitoring)
1 分钟粒度
额外收费
主要用于 EC2
📌 适合:
对响应时间敏感
自动扩缩容需要更快响应
3️⃣ Metric 的结构(考试重点)
每个 Metric 都有:
| 组成 | 含义 |
|---|---|
| Timestamp | 时间点 |
| Namespace | 命名空间(分类) |
| Dimensions | 维度(身份标识) |
Namespace
不同服务在不同 Namespace
彼此隔离
Dimensions
name / value 键值对
用来区分资源
📌 例子:
Metric: CPUUtilization Namespace: AWS/EC2 Dimension: InstanceId=i-123456四、自定义指标(Custom Metrics)
为什么需要?
CloudWatch 默认 看不到应用内部指标,比如:
页面访问量
错误率
业务处理量
Custom Metrics 能做什么?
你可以自己上报:
Web 页面加载时间
请求错误率
进程 / 线程数
应用完成的工作量
📌 方式:
使用 PutMetricData API
高分辨率自定义指标(High-Resolution)
1 秒一个数据点
更精细
更贵
👉 用于:
实时监控
高频交易 / 实时系统
五、CloudWatch Dashboards(可视化)
Dashboard 是什么?
自定义监控首页
由多个 widget 组成:
折线图
数字
文本
Dashboard 的能力
一个 Dashboard 看多个 Metrics
跨 多个 AWS Region
支持:
聚合统计
实时数据(最近 1 分钟)
CloudWatch ≠ 只能自己用
你也可以用 GetMetricData API 拉到第三方系统
安全控制
使用 IAM Policy
控制:
谁能看
谁能改 Dashboard
六、CloudWatch Logs(日志)⭐⭐⭐
CloudWatch 不只是 Metrics
还能集中管理日志
来源包括:
EC2
Lambda
其他 AWS 服务
Logs 能做什么?
存储日志
搜索 / 过滤
查询错误堆栈
把日志转成指标(Metric Filters)
不同服务的日志接入方式
Lambda
几乎零配置
只要 IAM 权限
EC2
需要安装 CloudWatch Logs Agent
Agent 包含:
CLI 插件
启动脚本
cron 保活任务
七、CloudWatch Logs 术语(考试必背)⭐⭐⭐
1️⃣ Log Event
单条日志
包含:
时间戳
日志内容
2️⃣ Log Stream
一组 Log Events
来自 同一个资源
例如:一台 EC2 的日志
3️⃣ Log Group
- 多个 Log Stream 的集合
共享:
保留策略
权限
📌 例子:
Log Group: /application/employee-directory ├─ EC2-1 Log Stream ├─ EC2-2 Log Stream八、CloudWatch Alarms(告警)
Alarm 是什么?
当 Metric 在“持续一段时间内”超过阈值时触发动作
创建 Alarm 需要 3 个要素
Metric
Threshold(阈值)
Time Period(持续时间)
不是“瞬间超过”,而是 持续超标
| 状态 | 含义 |
|---|---|
| OK | 正常 |
| ALARM | 超过阈值 |
| INSUFFICIENT_DATA | 数据不足 |
Alarm 能触发什么?
EC2 行为(重启等)
Auto Scaling
SNS 通知(邮件 / 短信)
Lambda(自动修复)
九、Logs + Alarm:实战监控模式
示例:500 错误告警
日志里记录 HTTP 500
用 Metric Filter 转成指标
设置 Alarm:
- 5 次 / 小时
触发:
SNS 通知
或 Lambda 自动修复
从“被动发现问题” → “主动 + 自动响应”
十、CloudWatch 在架构中的定位(总结)
CloudWatch 是 AWS 的“监控中枢”,负责:
看得见(Metrics)
查得清(Logs)
叫得响(Alarms)
动得快(Automation)
一句话考试总结
Metrics:资源状态
Logs:行为记录
Dashboards:可视化
Alarms:自动响应
Custom Metrics:应用级监控