2024.12.14
CloudWatch AWS: 5 tính năng cốt lõi

Trong môi trường điện toán đám mây, việc giám sát hiệu suất và trạng thái của hệ thống là vô cùng quan trọng. AWS CloudWatch cung cấp giải pháp toàn diện cho việc này, giúp bạn thu thập, phân tích và hiển thị dữ liệu từ nhiều nguồn khác nhau. Bài viết này sẽ đi […]
Trong môi trường điện toán đám mây, việc giám sát hiệu suất và trạng thái của hệ thống là vô cùng quan trọng. AWS CloudWatch cung cấp giải pháp toàn diện cho việc này, giúp bạn thu thập, phân tích và hiển thị dữ liệu từ nhiều nguồn khác nhau. Bài viết này sẽ đi sâu vào các tính năng chính của CloudWatch, cách thức hoạt động và lợi ích mà nó mang lại cho người dùng.
CloudWatch là gì?
CloudWatch là một dịch vụ giám sát và quản lý dành cho các tài nguyên AWS cũng như các ứng dụng chạy trên AWS. Nó thu thập và theo dõi dữ liệu ở nhiều định dạng khác nhau, bao gồm metrics, logs và events. Dữ liệu này được sử dụng để theo dõi hiệu suất ứng dụng, phát hiện sự cố, tối ưu hóa tài nguyên và tự động hóa các tác vụ quản lý.
5 tính năng cốt lõi trong CloudWatch
1. Logs
CloudWatch Logs cho phép bạn thu thập và lưu trữ dữ liệu log lên trên cloud. Nghĩa là logs hệ thống của bạn sẽ được lưu trữ an toàn trên đám mây, cho phép bạn truy cập và xem xét từ bất kỳ đâu, bất kỳ lúc nào, chỉ cần có kết nối internet. CloudWatch Logs còn trang bị hệ thống search, filter logs, data log real-time giúp bạn theo giỏi, và tìm kiếm lỗi một cách dễ dàng.
Câu hỏi thường gặp:
- CloudWatch Logs có thể lưu trữ logs từ những nguồn nào?
– Logs từ các dịch vụ AWS như Lambda, EC2, S3 (được tự động thiết lập).
– Logs từ các ứng dụng bên ngoài AWS (sử dụng thư viện để gửi logs lên CloudWatch, ví dụ:boto3
cho Python,@aws-sdk/client-cloudwatch-logs
cho Node.js). - Logs được lưu trữ trong bao lâu?
Bạn có thể tùy chỉnh thời gian lưu trữ logs, từ vài ngày đến vài năm, thậm chí là “vĩnh viễn”. - Làm thế nào để xem logs trong CloudWatch Logs?
Bạn có thể xem logs thông qua giao diện web của CloudWatch Logs, AWS CLI hoặc AWS SDK.
Các case study về CloudWatch Logs:
- Phân tích lỗi server: Logs từ server giúp xác định process chiếm dụng nhiều CPU gây lỗi hệ thống.
- Debug ứng dụng: Logs ghi lại stack trace, hỗ trợ tìm và sửa lỗi code trong ứng dụng.
- Bảo mật website: Logs ghi lại địa chỉ IP, giúp xác định nguồn tấn công DDoS và bảo vệ website.
- Hiểu hành vi người dùng: Logs ghi lại hành động người dùng, giúp phân tích và cải thiện trải nghiệm người dùng.
- Tối ưu API: Logs ghi lại thời gian xử lý API, giúp xác định API hoạt động chậm và tối ưu hóa hiệu suất.
- Tìm kiếm logs với nhiều điều kiện phức tạp: Sử dụng CloudWatch logs-insights
2. Metrics
CloudWatch Metrics là các chỉ số đo lường “sức khỏe” của hệ thống và ứng dụng, ví dụ như CPU usage, memory usage, network traffic… CloudWatch cung cấp sẵn rất nhiều metrics cho các dịch vụ AWS, đồng thời cho phép bạn tạo custom metrics cho riêng mình
Câu hỏi thường gặp:
- Metrics được lưu trữ trong bao lâu?
Tương tự như logs, bạn có thể tùy chỉnh thời gian lưu trữ metrics. - Custom metrics là gì?
Custom metrics là các metrics do bạn tự định nghĩa và gửi đến CloudWatch, dùng để theo dõi các chỉ số đặc thù của ứng dụng.
Các case study về CloudWatch Metrics:
- Giám sát ứng dụng: Theo dõi CPU usage, memory usage… của ứng dụng để phát hiện sự cố.
- Theo dõi hiệu suất website: Theo dõi số lượng request, thời gian phản hồi… để đánh giá hiệu suất website.
- Phân tích dữ liệu kinh doanh: Theo dõi các chỉ số kinh doanh như doanh thu, số lượng đơn hàng…
3. Events
CloudWatch Events ghi lại các sự kiện xảy ra trong hệ thống AWS của bạn, ví dụ: như khi một EC2 instance được khởi động, một file được upload lên S3, một hàm lambda vừa delop xong… Bạn có thể sử dụng Events để kích hoạt các hành động tự động.
Câu hỏi thường gặp:
- Events có thể “bắt” được những loại sự kiện nào?
– Sự kiện từ các dịch vụ AWS (ví dụ: thay đổi trạng thái của EC2 instance).
– Sự kiện theo lịch trình (ví dụ: chạy một task mỗi ngày).
– Sự kiện từ các nguồn khác (ví dụ: GitHub webhook).
Các case study về CloudWatch Events:
- Tự động scale ứng dụng: Khi traffic tăng cao, tự động scale up ứng dụng bằng cách thêm EC2 instances.
- Tự động sao lưu dữ liệu: Setup event cuối ngày sẽ backup dữ liệu order lưu xuống s3
- Thông báo: Khi deploy thành công thì gửi thông báo lên Slack
4. Dashboard
CloudWatch Dashboards cho phép bạn tạo ra các bảng điều khiển trực quan, hiển thị dữ liệu từ nhiều nguồn khác nhau như metrics, logs và events. Bạn có thể tùy chỉnh dashboard theo ý muốn, sắp xếp các widget, biểu đồ… để theo dõi hiệu suất hệ thống một cách dễ dàng.
Câu hỏi thường gặp:
- Tôi có thể chia sẻ dashboard cho người khác xem không?
Có, bạn có thể chia sẻ dashboard cho người khác trong cùng một tài khoản AWS hoặc chia sẻ công khai. - Tôi có thể tạo bao nhiêu dashboard?
Bạn có thể tạo nhiều dashboard tùy ý, không giới hạn số lượng. - Dashboard có tự động refresh không?
Có, dashboard sẽ tự động refresh để hiển thị dữ liệu mới nhất.
Các case study về CloudWatch Dashboard:
- Dashboard “Sức khỏe hệ thống”: CPU Usage, Memory Usage, Network Traffic… theo thời gian
- Dashboard “Hiệu suất ứng dụng”: Số lượng request, duration của một request, tỷ lệ lỗi… theo thời gian
- Dashboard “Chi phí AWS”: Tổng chi phí theo thời gian
- Dashboard “Bảo mật”: Số lượng đăng nhập thất bại, truy cập trái phép… theo thời gian
- Dashboard “Kinh doanh”: doanh thu, số lượng đơn hàng, tỷ lệ chuyển đổi… theo thời gian
5. Alarms
CloudWatch Alarms hoạt động như một “chuông báo động”, thông báo cho bạn khi có sự cố xảy ra. Bạn có thể thiết lập alarms dựa trên các ngưỡng metric hoặc các mẫu log cụ thể.
Câu hỏi thường gặp:
- Các kênh Alarms có thể gửi notification đến:
- SMS
- HTTP/HTTPS endpoints: Slack, Telegram, Discord, Workplace,…
- AWS Lambda functions
- SQS queues
- Sự khác nhau giữa event, alarms là gì?
Events ghi lại sự kiện, Alarms cảnh báo khi có sự cố. Events thường dùng để kích hoạt hành động tự động, Alarms để thông báo.
Các case study về CloudWatch Alarms:
- Thông báo: khi RAM vượt mức 60%
- Cảnh báo ngưỡng kinh doanh: Nhận thông báo khi doanh thu giảm xuống dưới mức dự kiến
Lời kết
CloudWatch AWS là một công cụ giám sát mạnh mẽ và linh hoạt, giúp bạn “nắm bắt” mọi hoạt động của hệ thống và ứng dụng trên AWS. Hy vọng bài viết này đã giúp bạn hiểu rõ hơn về CloudWatch và cách sử dụng nó.
Còn chần chừ gì nữa, hãy khám phá ngay CloudWatch và trải nghiệm sức mạnh của nó!