VinitaBaswant/aws-cloudwatch-sns-monitoring
GitHub: VinitaBaswant/aws-cloudwatch-sns-monitoring
该项目利用 AWS CloudWatch 和 SNS 为 EC2 实例搭建自动化的实时性能监控与多渠道告警系统,帮助团队在问题恶化前快速响应。
Stars: 0 | Forks: 0
# 使用 CloudWatch 和 SNS 的实时 AWS 监控 - 自动化警报系统
一个使用 AWS CloudWatch 和 SNS 的自动化云监控系统,用于提供针对 EC2 性能指标和系统事件的实时警报,从而实现主动的事件响应。
## 项目概述
该项目在 AWS 上实现了一个实时监控和警报系统,使用 CloudWatch 进行指标收集和警报设置,并使用 SNS 通过电子邮件、SMS 或推送警报发送即时通知。该系统通过在突破性能阈值时自动通知团队,实现了主动的事件响应,从而确保零停机时间和快速解决。
项目链接:
## 问题陈述
如果没有适当的监控,云基础设施的问题在影响到用户之前通常难以察觉。该项目通过构建一个自动化警报系统解决了这一问题,该系统可以实时监控 AWS 资源,并在指标超出定义的阈值时发送即时通知,使团队能够在问题升级之前做出响应。
## 主要功能
CloudWatch Alarms - 监控 EC2 CPU 利用率和自定义应用程序指标
SNS Notifications - 针对阈值违规发送即时的电子邮件、SMS 和推送警报
主动的事件响应 - 自动化警报可实现更快的问题解决
零停机监控 - 实时阈值监控与即时通知
可扩展的警报系统 - 支持同时监控多个 AWS 服务
自定义指标 - 跟踪特定于应用程序的性能指标
## 使用的技术
AWS CloudWatch - 指标收集、监控和警报配置
AWS SNS - Simple Notification Service,用于多渠道警报传递
AWS EC2 - 受监控的目标实例
AWS IAM - 用于 CloudWatch 和 SNS 权限的访问控制
AWS Lambda - 可选的警报触发自动修复
## 架构图
AWS EC2 Instance
|
| (CPU, Memory, Network metrics)
|
AWS CloudWatch
|
|-- 指标收集(每 1-5 分钟)
|-- 警报评估
|
|-- CPU 高于 80% - 触发 ALARM 状态
|-- CPU 低于 20% - OK 状态
|
|
AWS SNS Topic
|
|-- 电子邮件通知
|-- SMS 通知
|-- 推送通知
|-- Lambda 触发(自动修复)
## 工作原理
1. CloudWatch 收集 EC2 指标,包括 CPU、内存、磁盘和网络
2. CloudWatch Alarms 每分钟根据定义的阈值评估指标
3. 当 CPU 超过 80% 时,警报转换至 ALARM 状态
4. 警报触发 SNS topic 发送通知
5. SNS 将电子邮件和 SMS 警报发送至已订阅的 endpoint
6. 团队收到实时通知并对事件做出响应
7. 当 CPU 恢复正常时,CloudWatch 会发送 OK 通知
## 结果与影响
对所有受监控资源的性能变化保持实时感知
更快的事件响应缩短了平均解决时间
主动警报防止了意外的系统崩溃和停机
增强了跨多个 AWS 服务的云可观测性
随基础设施同步增长的可扩展警报系统
## 设置与部署
前置条件
具有适当 IAM 权限的 AWS 账户
正在运行并生成指标的 EC2 实例
用于 SNS 通知的电子邮件或电话号码
步骤
1. 打开 CloudWatch 并导航至 Alarms
2. 创建新警报并选择 EC2 CPU 利用率指标
3. 将阈值设置为连续 2 个周期大于 80%
4. 创建名为 CloudAlerts 的新 SNS topic
5. 添加您的电子邮件作为订阅者并确认订阅
6. 将 SNS topic 链接到 CloudWatch 警报
7. 通过对 EC2 CPU 施加压力进行测试,并验证是否收到电子邮件通知
## 项目结构
aws-cloudwatch-sns-monitoring
cloudwatch
alarm-config.md
sns
topic-setup.md
subscription-config.md
screenshots
cloudwatch-alarm.png
sns-notification.png
email-alert.png
README.md
## 作者
Vinita Baswant
LinkedIn:
GitHub:
标签:AWS, CloudWatch, DPI, EC2, IaC, SNS, 告警系统, 运维监控