ronnyearly-devops/aws-monitoring-lab

GitHub: ronnyearly-devops/aws-monitoring-lab

使用 AWS 原生服务搭建的云基础设施监控与告警实验室,实现 EC2 实例的系统指标采集、日志聚合、自动化告警和成本管理。

Stars: 0 | Forks: 0

# AWS 监控与事件响应实验室 ## 概述 本项目演示了如何在 Amazon Web Services (AWS) 中部署云监控和警报解决方案。该实验室重点关注基础设施可观测性、运营监控、日志聚合以及使用原生 AWS 服务进行事件响应。 该环境由一个运行 Amazon Linux 2023 的 Amazon EC2 实例组成,集成了 Amazon CloudWatch 用于收集指标和日志,并使用 Amazon SNS 进行自动化通知。 ## 项目目标 * 部署和管理 AWS EC2 实例 * 配置 IAM 角色以实现安全的服务集成 * 安装和配置 Amazon CloudWatch Agent * 从 Linux 主机收集系统级指标 * 在 CloudWatch Logs 中集中收集日志 * 创建 CloudWatch Alarms 以进行主动监控 * 配置 SNS 电子邮件通知以进行事件响应 * 实施 AWS Budgets 控制以管理云成本 ## 使用的技术 ### AWS 服务 * Amazon EC2 * Amazon CloudWatch * Amazon CloudWatch Logs * Amazon SNS * AWS IAM * AWS Budgets ### 操作系统 * Amazon Linux 2023 ### 监控与警报 * CloudWatch Agent * CloudWatch Metrics * CloudWatch Alarms * SNS 通知 ## 架构 用户 ↓ Amazon SNS 电子邮件通知 ↓ CloudWatch Alarms ↓ CloudWatch Metrics & Logs ↓ CloudWatch Agent ↓ Amazon EC2 (Amazon Linux 2023) ## 已实现的功能 ### 成本管理 * 创建了带有支出阈值的 AWS Budget * 用于预算监控的电子邮件通知 ### 基础设施部署 * 部署了 EC2 t3.micro 实例 * 配置了安全的 SSH 访问 * 配置了用于管理的 Security Groups ### 监控 收集的指标包括: * CPU 利用率 * CPU 单核指标 * 内存利用率 * 磁盘使用情况 * 磁盘 I/O 统计信息 * 网络统计信息 * Swap 利用率 ### 日志收集 配置 CloudWatch Agent 以收集: * /var/log/messages ### 警报 为以下项目配置了 CloudWatch Alarm: * CPU 空闲阈值监控 为以下项目配置了 SNS 电子邮件通知: * 告警状态变更 * 运营警报 ## 截图 ### 1. AWS Budget 配置 ![AWS Budget](https://raw.githubusercontent.com/ronnyearly-devops/aws-monitoring-lab/main/screenshots/01-aws-budget-alert.png) ### 2. Budget 成功创建 ![Budget Created](https://raw.githubusercontent.com/ronnyearly-devops/aws-monitoring-lab/main/screenshots/02-budget-created.png) ### 3. EC2 实例运行中 ![EC2 Instance](https://raw.githubusercontent.com/ronnyearly-devops/aws-monitoring-lab/main/screenshots/03-ec2-instance-running.png) ### 4. Linux 服务器访问 ![Linux Access](https://raw.githubusercontent.com/ronnyearly-devops/aws-monitoring-lab/main/screenshots/04-linux-server-access.png) ### 5. Linux 验证 ![Linux Verification](https://raw.githubusercontent.com/ronnyearly-devops/aws-monitoring-lab/main/screenshots/05-linux-verification.png) ### 6. CloudWatch Agent 安装 ![CloudWatch Agent](https://raw.githubusercontent.com/ronnyearly-devops/aws-monitoring-lab/main/screenshots/06-cloudwatch-agent-installed.png) ### 7. IAM 角色配置 ![IAM Role](https://raw.githubusercontent.com/ronnyearly-devops/aws-monitoring-lab/main/screenshots/07-iam-cloudwatch-role.png) ### 8. CloudWatch Agent 运行中 ![CloudWatch Agent Running](https://raw.githubusercontent.com/ronnyearly-devops/aws-monitoring-lab/main/screenshots/08-cloudwatch-agent-running.png) ### 9. 接收到 CloudWatch Metrics ![CloudWatch Metrics](https://raw.githubusercontent.com/ronnyearly-devops/aws-monitoring-lab/main/screenshots/09-cloudwatch-metrics-received.png) ### 10. CPU 监控面板 ![CPU Monitoring](https://raw.githubusercontent.com/ronnyearly-devops/aws-monitoring-lab/main/screenshots/10-cpu-monitoring-graph.png) ### 11. CloudWatch Alarm 配置 ![Alarm Configuration](https://raw.githubusercontent.com/ronnyearly-devops/aws-monitoring-lab/main/screenshots/11-cloudwatch-alarm-config.png) ### 12. CloudWatch Alarm 已创建 ![Alarm Created](https://raw.githubusercontent.com/ronnyearly-devops/aws-monitoring-lab/main/screenshots/12-cloudwatch-alarm-created.png) ## 展示的技能 * AWS 云管理 * Linux 管理 * 基础设施监控 * 事件响应 * 云安全 * IAM 管理 * 可观测性 * 云运营 * 故障排除 * 成本优化 ## 关键收获 本项目演示了如何使用原生 AWS 服务监控云基础设施,从而提供系统性能可见性、集中化日志记录和主动警报。该实现反映了生产云环境中使用的许多监控和运营实践。 ## 未来增强功能 * 基础设施即代码 (Terraform) * CloudWatch Dashboards * Systems Manager (SSM) * 自动化修复工作流 * 多实例监控 * 应用程序日志监控 * EventBridge 集成 ## 作者 Ronny Early LinkedIn: https://www.linkedin.com/in/ronnyearly GitHub: https://github.com/ronnyearly-devops
标签:AWS, CloudWatch, DPI, OISF, 告警通知, 日志管理, 运维监控