Cách quản lý AWS Cloudwatch bằng aws-cli

theanh

Administrator
Nhân viên
Trong bài viết này, tôi sẽ chỉ cho bạn các lệnh aws-cli để quản lý Cloudwatch từ terminal. Hướng dẫn này sẽ giúp bạn bắt đầu sử dụng aws-cli để tạo, quản lý cảnh báo Cloudwatch. Chúng ta sẽ thấy các lệnh để tạo, quản lý, xóa cảnh báo giám sát CPU EC2. Giả sử bạn đã quen thuộc với các dịch vụ AWS EC2, Cloudwatch.

Sau đây là các lệnh aws-cli dành cho Cloudwatch mà chúng ta sẽ thấy trong bài viết này.
  1. list-metrics: Lệnh này liệt kê các số liệu đã chỉ định.
  2. put-metric-alarm: Bạn có thể tạo và cập nhật báo động bằng lệnh này.
  3. describe-alarms: Nhận thông tin chi tiết về báo động đã chỉ định.
  4. set-alarm-state: Thay đổi trạng thái của báo động tạm thời cho mục đích thử nghiệm bằng lệnh này.
  5. describe-alarm-history: Kiểm tra lịch sử của báo động đã chỉ định bằng lệnh này.
  6. delete-alarms: sử dụng lệnh này để xóa một báo động cụ thể.
Truy cập tài liệu chính thứctại đâyđể biết tất cả các lệnh có sẵn để quản lý Cloudwatch.

Điều kiện tiên quyết​

  1. Tài khoản AWS (Tạonếu bạn chưa có).
  2. Hiểu biết cơ bản về phiên bản EC2 (Nhấp vào đây để tìm hiểu cách tạo phiên bản EC2).
  3. Hiểu biết cơ bản về Cloudwatch (Nhấp vào đây để tìm hiểu cách tạo Báo động cho phiên bản EC2 từ AWS Console).
  4. Người dùng AWS IAM có AdministratorAccesschính sách được đính kèm vào chính sách đó cùng với khóa truy cập và khóa bí mật của chính sách đó (Nhấp vào đây để tìm hiểu cách tạo Người dùng IAM).
  5. AWS CLI được cài đặt trên máy cục bộ của bạn.
  6. Chủ đề SNS (Nhấp vào đây để tìm hiểu cách tạo chủ đề SNS bằng Cloudformation).

Chúng ta sẽ làm gì?​

  1. Kiểm tra aws cli và xuất AWS access & khóa bí mật trên máy cục bộ của bạn.
  2. Quản lý Cloudwatch bằng aws-cli

Kiểm tra aws cli và xuất AWS access & khóa bí mật trên máy cục bộ của bạn.​

Trước khi tiếp tục, hãy đảm bảo rằng bạn đã cài đặt aws-cli trên máy cục bộ của mình.
Mã:
aws --verson #aws-cli/2.0.0 Python/3.8.2 Darwin/19.2.0 botocore/2.0.0dev7
Lấy quyền truy cập người dùng AWS IAM và khóa bí mật của bạn và xuất chúng vào thiết bị đầu cuối của bạn.
Mã:
export AWS_ACCESS_KEY_ID=
Mã:
export AWS_SECRET_ACCESS_KEY=
Kiểm tra danh tính của các khóa bạn đã xuất.
Mã:
aws sts get-caller-identity


Bạn sẽ thấy các khóa của tôi trong ảnh chụp màn hình ở trên, bạn sẽ không thể sử dụng chúng vì chúng không còn hoạt động nữa. Ngoài ra, hãy lưu ý rằng bạn không bao giờ chia sẻ khóa của mình với bất kỳ ai.

Quản lý Cloudwatch bằng aws-cli​

Việc tạo báo thức sẽ vô ích nếu thông báo không đến được với chúng ta khi báo thức được kích hoạt. Để gửi cảnh báo, chúng ta cần một Chủ đề SNS có đăng ký vào chủ đề đó. Tôi đã có một số chủ đề SNS có đăng ký email cho một trong số chúng. Tôi sẽ sử dụng nó cho mục đích demo. Nếu bạn không có chủ đề SNS, hãy tạo chủ đề trước khi tiếp tục.

Lấy danh sách các chủ đề SNS hiện có trong tài khoản của bạn.
Mã:
aws sns list-topics
Lấy ID của các phiên bản để tạo cảnh báo cho bất kỳ phiên bản nào.
Mã:
aws ec2 describe-instances --query "Reservations[].Instances[].InstanceId"


Giữ nguyên ID phiên bản và ARN SNS. Có sẵn Checkmetrics cho các phiên bản EC2.
Mã:
aws cloudwatch list-metrics --namespace "AWS/EC2"
Bây giờ, hãy tạo một cảnh báo có tên "cpu-mon" sẽ được kích hoạt khi mức sử dụng CPU vượt quá "70 phần trăm" trong "300 giây" đối với Phiên bản đã chỉ định. Khi cảnh báo được kích hoạt, thông báo sẽ được gửi đến SNS đã chỉ định.
Mã:
aws cloudwatch put-metric-alarm --alarm-name cpu-mon --alarm-description "Kiểm tra cảnh báo khi CPU vượt quá 70 phần trăm" --metric-name CPUUtilization --namespace AWS/EC2 --statistic Average --period 300 --threshold 70 --comparison-operator GreaterThanThreshold --dimensions "Name=InstanceId,Value=[B][/b]" --evaluation-periods 2 --alarm-actions [B][/b]--unit Phần trăm


Mô tả báo động mà chúng ta vừa tạo và xem thông tin chi tiết của nó.
Mã:
aws cloudwatch describe-alarms --alarm-names cpu-mon
Bạn có thể thay đổi trạng thái của báo động. Để kích hoạt nó cho mục đích thử nghiệm, hãy thay đổi trạng thái thành "ALARM". Thao tác này sẽ thay đổi trạng thái báo động thành "ALARM" và một thông báo sẽ được gửi đến Chủ đề SNS.
Mã:
aws cloudwatch set-alarm-state --alarm-name "cpu-mon" --state-value ALARM --state-reason "testing purposes"
Kiểm tra lịch sử trạng thái báo động.
Mã:
aws cloudwatch describe-alarm-history --alarm-name "cpu-mon" --history-item-type StateUpdate


Khi bạn không cần báo động đã tạo nữa, bạn có thể xóa báo động đó bằng lệnh sau.
Mã:
aws cloudwatch delete-alarms --alarm-names cpu-mon
Xác minh xem báo động đã bị xóa chưa.
Mã:
aws cloudwatch describe-alarms

Kết luận​

Trong bài viết này, chúng ta đã thấy các lệnh để tạo và quản lý báo động từ thiết bị đầu cuối bằng aws-cli. Chúng tôi đã tạo báo động cho EC2 Instance để theo dõi việc sử dụng CPU. Chúng tôi đã thấy cách thay đổi trạng thái báo động theo cách thủ công để kiểm tra báo động mà chúng tôi đã tạo. Chúng tôi cũng đã thấy lệnh xóa báo động mà chúng tôi đã tạo. Hướng dẫn này có thể giúp bạn bắt đầu với AWS Cloudwatch, bạn có thể thử các lệnh và tùy chọn khác nhau có sẵn để quản lý Cloudwatch bằng aws-cli.
 
Back
Bên trên