Amazon CloudWatch

Cloud Watch là gì?

AWS CloudWatch là một dịch vụ giúp giám sát, tổng hợp, phân tích dữ liệu, nguồn tài nguyên chạy trên AWS. Nó tự động hiển thị các chỉ số về mọi dịch vụ AWS mà bạn chọn một cách realtime và sử dụng cảnh báo, tự động hành động. Bạn cũng có thể tạo báo thức để xem các chỉ số. Nó cũng có thể được sử dụng để dừng phiên bản để tiết kiệm tiền.

Các dịch vụ của Amazon CloudWatch

CloudWatch Logs

Dịch vụ này cho phép người dùng thu thập và lưu trữ nhật ký cho các dịch vụ bán tự động dành cho khách hàng, nhật ký cho các dịch vụ AWS cụ thể như AWS CloudTrail, AWS Lambda, Amazon API Gateway, Amazon Simple Notification Service hoặc cho các ứng dụng độc quyền và tài nguyên tại chỗ.
CloudWatch Logs Insights có thể cung cấp truy vấn nhanh và trực quan hóa dữ liệu nhật ký.

Có ba nhóm nhật ký chính:

  • Nhật ký có tính phí. Đây là các nhật ký do chính dịch vụ AWS trích xuất thay bạn. Hiện tại, chúng tôi hỗ trợ hai loại nhật ký từ Amazon VPC Flow Logs và Amazon Route 53.

  • Nhật ký do các dịch vụ AWS trích xuất. Hiện có hơn 30 dịch vụ AWS trích xuất nhật ký lên CloudWatch. Các dịch vụ này bao gồm Amazon API Gateway, AWS Lambda, AWS CloudTrail và nhiều dịch vụ khác.

  • Nhật ký tùy chỉnh. Là các nhật ký từ ứng dụng và tài nguyên tại chỗ của bạn.

Bạn có thể trích xuất nhật ký bằng cách cài đặt CloudWatch Agent thông qua AWS Systems Manager.

logs

CloudWatch Agent

Amazon CloudWatch Agent cho phép bạn thực hiện những việc sau:

  • Thu thập thêm số liệu cấp hệ thống từ các phiên bản Amazon EC2 trên các hệ điều hành. Các chỉ số có thể bao gồm chỉ số về in-guest metrics ngoài các chỉ số dành cho phiên bản EC2. Các số liệu bổ sung có thể được liệt kê trong số liệu được CloudWatch Agent thu thập.
  • Thu thập số liệu cấp hệ thống từ các máy chủ tại chỗ. Chúng có thể bao gồm các máy chủ trong môi trường kết hợp cũng như các máy chủ không do AWS quản lý.
  • Truy xuất các số liệu tùy chỉnh từ các ứng dụng hoặc dịch vụ của bạn bằng giao thức StatsD và Collectd. StatsD được hỗ trợ trên cả máy chủ Linux và máy chủ chạy Windows Server. Colld chỉ được hỗ trợ trên các máy chủ Linux.
  • Thu thập nhật ký từ các phiên bản Amazon EC2 và máy chủ, chạy Linux hoặc Windows Server.

AGENT

CloudWatch Metrics

Metrics là những biểu đồ thể hiện số liệu của tài nguyên chạy trên AWS. CloudWatch giám sát các dịch vụ khác bằng các Metrics.

Một số Metrics thường dùng dành cho EC2 có thể kể đến:

  • CPUUtilization: Tỷ lệ phần trăm của các đơn vị tính EC2 được phân bổ hiện đang được sử dụng trên Instance. Số liệu này xác định sức mạnh xử lý cần thiết để chạy một ứng dụng trên một Instance được chọn.
  • NetworkIn: Số lượng Bytes nhận được từ tất cả network interfaces của instance. Metrics này xác định lưu lượng truy cập mạng của 1 instance.
  • NetworkOut: Số lượng Bytes được gửi đi từ tất cả các network interface của instance. Metrics này xác định lưu lượng mạng đi ra từ 1 instance.
  • StatusCheckFails: Báo cáo xem instance đã vượt qua cả kiểm tra instance status check and the system status check trong 1 phút vừa qua. Số liệu này có thể là 0 (passed) hoặc 1 (failed).
  • ImageId: Lọc ra data bạn yêu cầu cho tất cả instance chạy bởi cùng 1 AMI
  • ResourceCount: Số lượng tài nguyên được chỉ định đang chạy trong tài khoản của bạn. Các tài nguyên được xác định bởi các kích thước được liên kết với số liệu. Thống kê hữu ích nhất cho số liệu này là MAXIMUM, đại diện cho số lượng tài nguyên tối đa được sử dụng trong khoảng thời gian 1 phút.

metric

Dashboards

Dashboards là các trang chủ của CloudWatch có thể tùy chỉnh trong mà bạn có thể sử dụng để giám sát tài nguyên của mình trong một màn hình duy nhất, ngay cả những tài nguyên được trải rộng trên các Regions khác nhau. Bạn có thể sử dụng Dashboards để tạo chế độ xem tùy chỉnh về số liệu và báo động cho tài nguyên AWS của mình.

Bạn có thể tạo các Dashboard dành riêng cho EC2 instance của bạn với những Metrics tuỳ chọn.

Dưới đây là một ví dụ về dashboard EC2-Monitoring với các metric như CPU, Network, Disk.

dashboard

Alarms

Một cảnh báo chỉ số theo dõi một chỉ số CloudWatch duy nhất hoặc kết quả của một biểu thức toán học dựa trên CloudWatch metrics. Alarm thực hiện một hoặc nhiều hành động dựa trên giá trị của chỉ số hoặc biểu thức liên quan đạt ngưỡng trong một số khoảng thời gian. Hành động có thể là gửi thông báo đến chủ đề Amazon SNS,
thực hiện một hành động Amazon EC2 hoặc một hành động Auto Scaling hoặc tạo một OpsItem hoặc sự cố trong Systems Manager.

Một cảnh báo tổng hợp bao gồm một biểu thức quy tắc có tính đến các trạng thái cảnh báo của các cảnh báo khác mà bạn đã tạo. Báo động tổng hợp chuyển sang trạng thái ALARM chỉ khi tất cả các điều kiện của quy tắc được đáp ứng.
Cảnh báo được chỉ định trong biểu thức quy tắc của cảnh báo tổng hợp có thể bao gồm cảnh báo số liệu và cảnh báo tổng hợp khác. Sử dụng báo động tổng hợp có thể giảm tiếng ồn báo động.

alarm

Events

Events là các sự kiện khi trạng thái của tài nguyên trong môi trường AWS thay đổi.

Dịch vụ này cung cấp mô tả các sự kiện thay đổi theo luồng hệ thông gần như real-time. Bạn có thể thiết lập các sự kiện bằng những quy tắc và gắn chúng với luồng đích.

Các quy tắc khớp và định tuyến các sự kiện đến các mục tiêu để xử lý. Các mục tiêu có thể là các dịch vụ của AWS như:

  • Amazon EC2 instances
  • AWS Lambda functions
  • Streams in Amazon Kinesis Data Streams
  • Delivery streams in Amazon Kinesis Data Firehose
  • Log groups in Amazon CloudWatch Logs
  • Amazon ECS tasks
  • Systems Manager Run Command
  • Systems Manager Automation
  • AWS Batch jobs
  • Step Functions state machines
  • Pipelines in CodePipeline
  • CodeBuild projects
  • Amazon Inspector assessment templates
  • Amazon SNS topics
  • Amazon SQS queues

Trên đây là một số khái niệm, chức năng và cách sử dụng của Amazon CloudWatch mà mình tìm hiểu được trong thời gian học và sử dụng AWS, hy vọng sẽ có ích cho những bạn mới tìm hiểu về dịch vụ này.