30/09/2019, 08:25

100 ngày học DevOps – Ngày 1

Chào mừng bạn đến với Ngày 1 trong 100 ngày của DevOps, tôi muốn bắt đầu hành trình này với một trong những khái niệm quan trọng nhất trong Giám sát và cảnh báo DevOps. Vấn đề cần quan tâm : Tạo CloudWatch Alert gửi email bằng thông báo SNS khi Sử dụng CPU hơn 70%. Tạo alert kiểm ...

Chào mừng bạn đến với Ngày 1 trong 100 ngày của DevOps, tôi muốn bắt đầu hành trình này với một trong những khái niệm quan trọng nhất trong Giám sát và cảnh báo DevOps.

Vấn đề cần quan tâm :

Tạo CloudWatch Alert gửi email bằng thông báo SNS khi Sử dụng CPU hơn 70%. Tạo alert kiểm tra trạng thái sức khỏe và kiểm tra lỗi Hệ thống khi thất bại gửi và email bằng thông báo SNS Giải pháp :

Điều này có thể thực hiện thông qua một trong 3 cách bên dưới .

  • AWS Console
  • AWS CLI
  • Terraform

LƯU Ý: Đây không phải là danh sách đầy đủ và có nhiều cách hơn để đạt được điều tương tự

CloudWatch là gì?

| AWS CloudWatch là một dịch vụ giám sát để giám sát tài nguyên AWS, cũng như các ứng dụng chạy trên AWS.

CloudWatch sẽ theo dõi mặc định những thông số bên dưới .

  • CPU
  • Network
  • Disk

Status Check :

Có hai loại kiểm tra trạng thái dịch vụ AWS .

System status check:

Giám sát hệ thống AWS nơi những instance của bạn đang chạy .Nó yêu cầu sự tham gia của AWS để repair hoặc bạn có thể tự sửa nó bằng cách stop / start thể hiện (trong trường hợp khối lượng EBS)

  • Loss of network connectivity
  • Loss of system power
  • Software issues on the physical host
  • Hardware issues on the physical host that impact network reachability

Instance status check:

Giám sát cấu hình phần mềm và network của một instance, Nó kiểm tra / phát hiện các vấn đề đòi hỏi sự tham gia của bạn để sửa chữa.

  • Incorrect networking or startup configuration
  • Exhausted memory
  • Corrupted filesystem
  • Incompatible kernel

NOTE :

  • Memory / RAM là số liệu tùy chỉnh
  • Theo default, giám sát EC2 là các khoảng thời gian 5 phút nhưng tôi luôn có thể kích hoạt giám sát chi tiết (khoảng thời gian 1 phút, nhưng điều đó sẽ khiến bạn mất thêm $$$)

**P.S: **

CloudWatch cũng có thể được sử dụng trên tiền đề. Chúng ta chỉ cần cài đặt SSM (System Manager) và CloudWatch agent Khái niệm lý thuyết đủ rồi, hãy thiết lập báo thức CloudWatch

Kịch bản 1:

Tôi muốn tạo một cảnh báo từ CloudWatch gửi email bằng thông báo SNS khi mức độ sử dụng CPU là hơn 70%

Solution 1:

Thiết lập alert sử dụng CPU bằng Bảng điều khiển quản lý AWS.

  1. Open the CloudWatch console athttps://console.aws.amazon.com/cloudwatch/.
  2. In the navigation pane, choose Alarms, Create Alarm.
  3. Go to Metric → Select metric → EC2 → Per-Instance-Metrics → CPU Utilization → Select metric  

Solution 2:

Thiết lập cảnh báo sử dụng CPU bằng AWS CLI

  • Tạo một alert bằng cách sử dụng lệnh put-metric-alarm
  • Sử dụng command, chúng ta có thể kiểm tra alert bằng cách buộc thay đổi trạng thái cảnh báo bằng lệnh set-alarm-state
  • Thay đổi trạng thái alert từ INSUFFICIENT_DATA thành OK
  • Thay đổi trạng thái Alert từ OK sang ALARM
  • Kiểm tra xem bạn đã nhận được thông báo qua email về báo thức chưa

Solution 3 :

  • Thiết lập cảnh báo sử dụng CPU bằng cách sử dụng Terraform, chúng ta tạo 1 file terraform .tf

Kịch bản 2 : Tạo một Alert kiểm tra trạng thái và thông báo khi một instance bị failed (shutdown)

Solution 1: Tạo Alert kiểm tra trạng thái bằng Bảng điều khiển AWS

  1. Open the Amazon EC2 console at https://console.aws.amazon.com/ec2/.
  2. In the navigation pane, choose Instances.
  3. Select the instance, choose the Status Checks tab, and choose to Create Status Check Alarm.

Solution 2 :

Để tạo Alert kiểm tra trạng thái qua thông qua AWS CLI

  • Sử dụng lệnh put-metric-alarm để tạo Alert

Solution 3 :

Để tạo Alert kiểm tra trạng thái qua viết Terraform

Chúng ta đã kết thúc ngày 1 trong 100 ngày Devops .. Hẹn các bạn vào thứ 4 hàng tuần nha . Nguồn : https://techzones.me/2019/09/25/day-1-cloudwatch-metrics/

Có thể bạn cần xem:

  1. DevOps trend – 8 dự đoán trong nhiều năm tới
  2. DevOps là gì? Tìm hiểu về DevOps 
  3. Bạn đang là kiểu lập trình viên nào?
  DevOps trend - 8 dự đoán trong nhiều năm tới
  Hỏi đáp anh Võ Duy Tuấn TeamCrop về Web, Backend, Outsource, Mobile, DevOps.
0