Amazon CloudWatch Logs
Lưu và tìm log
Thu và lưu log từ Lambda, EC2, container…; tìm kiếm bằng Logs Insights, tạo metric từ log.
- Chi phí$$ Vừa phải
- Độ khó●●●●●
- Để không có tốn tiền?Có
- AWS quản lý
- Có trong đềSAA · DVA · SOA
Hình dungNhư cuốn nhật ký chung của mọi máy, tra cứu được.
CloudWatch Logs đứng ở đâu trong hệ thống?
Gọi tới CloudWatch Logs
CloudWatch Logs gọi tới
Một ví dụ thật, từng bước
- Khách báo lỗi thanh toán lúc 21 giờ tối qua, bạn cần biết ứng dụng đã báo gì lúc đó.
- Mọi console.log của Lambda và log của container đều đã tự gửi về CloudWatch Logs, mỗi ứng dụng một log group.
- Bạn dùng Logs Insights lọc các dòng ERROR quanh 21 giờ và thấy ngay lỗi kết nối tới cổng thanh toán.
- Bạn tạo metric filter đếm số dòng ERROR, kèm alarm báo khi quá 10 lỗi trong 5 phút.
- Bạn đặt thời gian lưu 30 ngày cho log group để không phải trả tiền giữ log mãi mãi.
Khi nào nên dùng
✓ Nên dùng khi
Gỡ lỗi, điều tra sự cố, lưu log tập trung.
✗ Không nên dùng khi
Lưu log rất lâu, rẻ → xuất sang S3.
Ví dụ hay gặp
- Log của Lambda, ECS, API Gateway
- Tìm lỗi bằng Logs Insights
- Tạo metric và alarm từ log (metric filter)
CloudWatch Logs, CloudWatch hay CloudTrail?
| Lưu gì | Log của ứng dụng và hệ thống | Metric và alarm | Lịch sử gọi API AWS |
|---|---|---|---|
| Ai ghi | Ứng dụng, Lambda, agent, dịch vụ AWS | Dịch vụ AWS, agent, ứng dụng | AWS tự ghi |
| Tìm kiếm | Logs Insights | Biểu đồ, dashboard | Event history, CloudTrail Lake |
| Chi phí chính | Dung lượng gửi lên + lưu | Metric tuỳ chỉnh, alarm | Data event, bản sao thêm |
Tốn bao nhiêu tiền?
- Cách tính: Thu nạp ~$0,50/GB (log chuẩn), lưu trữ ~$0,03/GB-tháng, truy vấn Logs Insights ~$0,005/GB dữ liệu quét.
- Miễn phí: Always Free: 5 GB (thu nạp + lưu trữ + quét) mỗi tháng.
Khoản hay phình nhất hoá đơn: để log debug ở production; giữ retention 'Never expire'; không chuyển log cũ sang S3.
Muốn giảm chi phí log → đặt retention và xuất log cũ sang S3. Biến mẫu log thành cảnh báo → metric filter + alarm. Xử lý log theo thời gian thực → subscription filter tới Lambda, Kinesis hoặc OpenSearch.
Câu hỏi thường gặp
Log được giữ trong CloudWatch Logs bao lâu?
Mặc định giữ vĩnh viễn, nên nếu không đặt thời gian lưu thì tiền lưu trữ tăng dần. Hãy đặt retention cho từng log group, ví dụ 30 hoặc 90 ngày, và xuất sang S3 nếu cần giữ lâu hơn với giá rẻ.
Tìm kiếm và phân tích log thế nào?
Dùng CloudWatch Logs Insights để truy vấn, lọc và thống kê log bằng câu lệnh. Dùng metric filter để biến mẫu log (như số dòng ERROR) thành metric rồi đặt cảnh báo. Subscription filter chuyển log theo thời gian thực sang Lambda, Kinesis hay OpenSearch.
CloudWatch Logs tính tiền thế nào?
Theo dung lượng log gửi lên (ingest), dung lượng lưu trữ mỗi tháng và lượng dữ liệu mà Logs Insights quét. Log class Infrequent Access rẻ hơn cho log ít khi tra cứu.
Đề thi AWS hay hỏi gì về CloudWatch Logs?
Đặt retention để giảm chi phí, metric filter kèm alarm, xuất sang S3 để lưu dài hạn, subscription filter để xử lý theo thời gian thực, và cài CloudWatch agent để gửi log từ EC2 hay máy on-prem.