
答:核心组件包括计算、网络、存储与托管服务。具体为:EC2 实例、ELB/ALB、RDS/ Aurora、EBS、S3、VPC 子网与 NAT、Route53 健康检查、Lambda(若有无服务器架构)。对以上组件应建立基础可用性与性能监控。
使用 CloudWatch 监控指标、CloudTrail 记录操作审计、SNS 做告警发布、以及第三方 APM(如 Datadog、New Relic)补充事务追踪。
CPU、内存(自定义 CloudWatch Agent)、磁盘 I/O、网络流量、连接数、数据库慢查询、ELB 响应时间、错误率(5xx/4xx)等。
优先保证可用性相关指标(实例状态、负载均衡健康、RDS 可连接性),其次关注性能与容量规划指标。
答:阈值依据服务等级(SLO/SLA)与历史波动设定,建议分为警告(Warn)与严重(Critical)两级。例如:EC2 CPU 使用率警告 70%/严重 90%;RDS CPU 警告 60%/严重 85%;ELB 5xx 错误率警告 1%/严重 5%。
基于基线与峰值分析,结合业务流量时段,避免告警噪音(使用连续时间窗口,如 5 分钟/15 分钟)。
设置 CloudWatch Alarm:Metric=CPUUtilization, Period=300s, Statistic=Average, Threshold=90, EvaluationPeriods=3,即连续 15 分钟平均超 90% 触发严重告警。
对于高波动业务可采用基于 ML 的异常检测(CloudWatch Anomaly Detection)或使用百分位(p95/p99)作为 SLA 指标。
答:告警策略分级、渠道多样并具备自动化处置。渠道包含 Email、SMS、Webhook、PagerDuty、Slack。不同级别告警的通知链与响应人不同。
Info/Notice(记录类)发送至团队邮箱;Warn(需关注)发送至值班 Slack 群与当班运维;Critical(需立即处理)同时通知电话/SMS、PagerDuty 并触发 Runbook。
每类告警在 SNS Topic 中配置订阅者,确保有明确的 On-call 表与替班机制,并在告警中包含 runbook 链接与故障回滚步骤。
对可自动恢复的场景(比如实例重启、扩容)可触发 Lambda 自动化脚本,同时记录事件到 Incident 管理系统。
答:日志与追踪是根因定位关键。建议开启 CloudWatch Logs(或集中式 ELK/Opensearch)、开启 VPC Flow Logs、启用 RDS slow query 日志并导入到日志平台,同时为微服务启用 X-Ray 或 OpenTelemetry。
设置日志分级、保留策略与生命周期(例如关键业务日志保留 1 年,普通日志 30 天),并对敏感数据进行脱敏处理。
在服务中注入 Trace ID,使用 X-Ray 或第三方 APM 对请求链路、调用延迟和错误率进行可视化,有助于跨服务故障快速定位。
告警触发时自动抓取相关时间窗口的日志片段并附上告警通知,减少人工定位时间。
答:高可用设计包含多可用区(AZ)部署、跨区域备份与灾备演练。监控需覆盖可用区健康、跨 AZ 流量分布、备份成功率与恢复时间。
设置 Route53 健康检查与 Failover 策略,监控 AZ 内实例健康与流量倾斜(避免单 AZ 过载),并对跨区域复制任务(如 RDS 只读复制、S3 Replication)设置成功率告警。
备份任务(Snapshot、S3 Lifecycle)应有成功/失败告警,定期演练恢复并记录恢复时间,演练结果纳入告警策略调整依据。
定期进行故障演练(如切换主/备),并将演练流程自动化与监控结合,确保告警在真实故障中能触发并推动执行。