Cloud Monitoring
Amazon CloudWatch
Dịch vụ monitoring và observability trung tâm của AWS. Hiểu đơn giản: CloudWatch là “mắt thần” theo dõi toàn bộ hạ tầng AWS của bạn.
Metric là biến số cần theo dõi (CPUUtilization, NetworkIn…). Mỗi AWS service tự động đẩy metric về CloudWatch.
Lưu ý thi: EC2 mặc định gửi metric mỗi 5 phút. Muốn nhanh hơn (1 phút) thì bật Detailed Monitoring nhưng tốn thêm tiền.
Các Metric quan trọng cần nhớ
| Service | Metric tiêu biểu |
|---|---|
| EC2 | CPU, Disk I/O, Network I/O |
| EBS | Disk Read/Write |
| RDS | CPU, free storage, IOPS |
| S3 | Số request, latency, lỗi |
| Lambda | Số lần gọi, lỗi, thời gian chạy |
| Billing | Total Estimated Charge (chỉ ở us-east-1) |
Mở rộng: EC2 không tự báo cáo RAM hay disk usage — đây là custom metric, phải tự cài agent để push lên.
CloudWatch Alarms
Khi metric vượt ngưỡng → tự động kích hoạt hành động.
3 trạng thái Alarm: OK → INSUFFICIENT_DATA → ALARM
Hành động có thể làm:
- EC2 Actions: stop / terminate / reboot / recover instance
- SNS notification: gửi email, SMS, kích hoạt Lambda…
- Auto Scaling: scale out/in EC2
Ví dụ hay gặp thi: Tạo billing alarm → CloudWatch Billing metric → SNS gửi email cảnh báo chi phí.
CloudWatch Logs
Thu thập log tập trung từ nhiều nguồn:
- Elastic Beanstalk, ECS, Lambda → tự động gửi log
- EC2 → phải cài CloudWatch Agent + cấu hình IAM đúng
- On-premises server → cũng dùng được CloudWatch Agent
- Route53 → log DNS query
- CloudTrail → log theo filter
Quan trọng: Mặc định EC2 không tự gửi log lên CloudWatch. Phải có agent.
Retention (thời gian lưu log) có thể tùy chỉnh — từ 1 ngày đến vĩnh viễn.
CloudWatch Events → Amazon EventBridge
EventBridge là phiên bản nâng cấp của CloudWatch Events (cùng khái niệm, tên mới).
3 loại Event Bus:
- Default bus — event từ AWS services
- Partner bus — từ bên thứ 3: Zendesk, DataDog, Auth0…
- Custom bus — từ ứng dụng của bạn
2 cách trigger:
- Schedule (Cron): chạy theo lịch, ví dụ mỗi giờ gọi Lambda
- Event Pattern: phản ứng theo sự kiện, ví dụ root user login → gửi SNS alert
AWS CloudTrail
Ghi lại toàn bộ API call trong AWS account — ai làm gì, lúc nào, từ đâu.
Bật mặc định, áp dụng cho tất cả Region.
Khi nào dùng: resource bị xóa bất ngờ → tra CloudTrail trước tiên.
Phân loại Events
Management Events (mặc định bật):
- Các thao tác với resource: tạo subnet, attach policy, tạo trail…
- Phân biệt Read Events (xem) và Write Events (thay đổi)
Data Events (mặc định tắt — vì volume rất lớn):
- S3 object-level: GetObject, PutObject, DeleteObject
- Lambda Invoke API
CloudTrail Insights — phát hiện hoạt động bất thường:
- Đột biến IAM actions
- Vượt service limit
- Lỗi provisioning
- Cách hoạt động: phân tích baseline từ management events → phát hiện pattern lạ → gửi alert về S3 + EventBridge
Retention: CloudTrail lưu 90 ngày. Muốn lưu lâu hơn → export sang S3 rồi query bằng Athena.
AWS X-Ray
Dịch vụ distributed tracing — theo dõi luồng request đi qua nhiều service.
Dùng khi nào: ứng dụng microservice phức tạp, khó debug bằng log thông thường.
Những gì X-Ray giải quyết:
- Bottleneck ở đâu trong chuỗi service?
- Service nào đang bị throttle?
- Request nào gặp lỗi / timeout?
- SLA có đang được đảm bảo không?
- User nào đang bị ảnh hưởng?
Visualize: X-Ray tạo Service Map — bản đồ trực quan các service và dependency.
Amazon CodeGuru
Dùng machine learning để review code và profile performance.
| CodeGuru Reviewer | CodeGuru Profiler | |
|---|---|---|
| Mục tiêu | Review code tĩnh | Phân tích runtime |
| Giai đoạn | Development | Production |
| Phát hiện | Security bug, inefficiency, best practice | CPU/memory bottleneck, chi phí tốn kém |
| Hỗ trợ | Java, Python | AWS + on-premises |
Tích hợp: GitHub, Bitbucket, CodeCommit.
Service Health Dashboard vs Personal Health Dashboard
| Service Health Dashboard | Personal Health Dashboard | |
|---|---|---|
| Phạm vi | Toàn bộ AWS, mọi Region | Chỉ resource của bạn |
| Nội dung | Trạng thái chung các service | Ảnh hưởng trực tiếp đến account |
| URL | status.aws.amazon.com | phd.aws.amazon.com |
| Tính năng thêm | RSS feed | Proactive alert, lịch maintenance |
Phân biệt để thi: Health Dashboard = nhìn toàn cảnh AWS. Personal Health Dashboard = nhìn vào chính mình.
Tóm tắt nhanh để thi
| Tình huống | Dùng gì |
|---|---|
| Theo dõi CPU, RAM, metric | CloudWatch Metrics |
| Cảnh báo khi vượt ngưỡng | CloudWatch Alarms |
| Thu thập log từ EC2 | CloudWatch Logs + Agent |
| Chạy Lambda theo lịch | EventBridge (Schedule) |
| Ai đã xóa resource? | CloudTrail |
| Phát hiện hành vi lạ trong account | CloudTrail Insights |
| Debug microservice chậm | X-Ray |
| Review code tự động | CodeGuru Reviewer |
| Tối ưu CPU/memory app | CodeGuru Profiler |
| AWS đang có sự cố gì? | Service Health Dashboard |
| Sự cố đó ảnh hưởng tôi không? | Personal Health Dashboard |