9

Chúng tôi có ba trường hợp EC2 — một trong mỗi vùng khả dụng (AZ) ở vùng eu-tây-1. Chúng được loadbalanced bằng ELB. Chúng tôi muốn theo dõi số lượng phiên bản được đăng ký tại loadbalancer, sử dụng CloudWatch. Vấn đề ist: Tôi không thực sự hiểu số liệu HealthyHostCount.Làm cách nào để sử dụng HealthyHostCount của ELB để theo dõi trong CloudWatch?

Để triển khai, chúng tôi muốn có thể hủy đăng ký một cá thể (lấy nó ra khỏi LB) mà không được thông báo. Vì vậy, báo động sẽ là: Thông báo nếu chỉ có 1 trường hợp khỏe mạnh để lại phía sau loadbalancer trong 5 phút.

Theo như tôi hiểu, HealthyHostCount (HHC) là số lượng các cá thể khỏe mạnh được đăng ký với ELB nhất định, tính trung bình trên tất cả các AZ. Nếu mọi thứ đều ổn, HHC phải là 1 (bất kể trong khoảng thời gian nào) vì có 1 trường hợp trong mỗi AZ.

Một vài ngày trước, một người nào đó đã triển khai mà không đăng ký lại các phiên bản, vì vậy chỉ có 1 trường hợp được cân bằng. Khi chúng tôi nhận thấy điều đó, chúng tôi đã tạo ra một báo động để thông báo cho chúng tôi khi HHC trung bình chìm dưới 0.6 sau 5 phút. (Nếu chỉ có 1 trường hợp được đăng ký trong ELB, HHC sẽ trung bình 0,33 cho bất kỳ khoảng thời gian nào.) Tuy nhiên, báo thức không bao giờ thay đổi thành trạng thái "ALARM".

Khi tôi kiểm tra HHC trong CloudWatch, HHC là những con số không có ý nghĩa (tổng cộng 10,0 trong khoảng thời gian 5 phút là tất cả những gì tôi nhớ bây giờ).

Đó là một mớ hỗn độn lớn đối với tôi. Bất cứ lúc nào tôi nghĩ rằng tôi hiểu số liệu, các biểu đồ CloudWatch đều vô nghĩa đối với tôi.

Ai đó có thể giải thích cách sử dụng HHC để nhận báo thức khi chỉ có 1 trường hợp được đăng ký? HHC trung bình có phải là con đường để đi hay tôi nên sử dụng một số liệu khác?

Trả lời

3

Đây là khu vực mà bảng điều khiển web CloudWatch không hiển thị mọi thứ mà đồng hồ trên đám mây có thể thực hiện. Khi số docs giải thích, HealthyHostCount là chỉ số vùng có sẵn. Giao diện điều khiển cho phép bạn có HealthHostCount theo vùng sẵn có (nhưng trên tất cả các cân bằng tải) hoặc bằng cách cân bằng tải (nhưng trên tất cả các vùng) nhưng không bị cắt theo cả hai cách.

Nếu bạn chỉ có một bộ cân bằng tải, điều đơn giản nhất là cài đặt một báo thức trên mỗi chỉ số của mỗi vùng. Nếu bạn có nhiều vùng sẵn sàng thì bạn có thể sử dụng api để tạo ra một cảnh báo cắt trên vùng sẵn có và cân bằng tải (một lần nữa, một báo động cho mỗi cân bằng tải) nhưng bạn không thể thực hiện điều này từ giao diện người dùng web. biết.

6

Số liệu HealthyHostCount ghi lại một giá trị dữ liệu với số lượng máy chủ khả dụng cho mỗi vùng khả dụng, mỗi lần kiểm tra tình trạng được thực thi. Kiểm tra sức khỏe ELB của bạn có tham số Interval xác định số lần kiểm tra sức khỏe được thực hiện mỗi phút.

Nếu bạn đang xem chỉ số Per-AZ, với kiểm tra sức khỏe Interval trong 10 giây, với 2 máy chủ khỏe mạnh trong AZ đó, bạn sẽ thấy 6 điểm dữ liệu mỗi phút (60/10) với giá trị là 2. Trung bình , max và min sẽ là 2, nhưng tổng sẽ là 6*2=12.

Nếu bạn có 3 AZ với 2 máy chủ, một lần nữa với Interval = 10, nhưng bạn đang xem chỉ số Per-LB, bạn sẽ thấy 3*6=18 điểm dữ liệu mỗi phút, mỗi điểm có giá trị là 2. trung bình, tối đa và min sẽ là 2, nhưng số tiền sẽ là 18*2=36

Tôi khuyên bạn nên thiết lập một giá trị khoảng thời gian có thể chia 60 giây (5, 6, 10, 15, 20, 30 hoặc 60 giây).

Trong trường hợp của bạn, nếu khoảng thời gian của bạn là 30 giây và bạn có 3 AZ và 1 máy chủ trên AZ: Bạn nên dự kiến ​​2 điểm dữ liệu trên mỗi phút AZ, do đó hãy thiết lập báo thức Per-LB, với Period trong 1 phút, cho Sum of HealthyHostCount kích hoạt khi giá trị là LowerOrEqual hơn 2 (2 data values * 1 Healthy AZ * 1 healthy server = 2, 4 giá trị dữ liệu khác của AZ không lành mạnh phải là 0 để chúng không ảnh hưởng đến tổng).

UPDATE:

turns out rằng số lượng khám sức khỏe thực hiện cũng phụ thuộc vào số lượng các trường hợp nội bộ mà hình dạng các ELB (ussually một mỗi AZ), vì vậy nếu bạn đang bị một cành giao thông, hoặc đủ tải để bão hòa một cá thể đơn lẻ trong nội bộ, số lượng máy chủ nội bộ bên trong ELB sẽ tăng lên và bạn sẽ có nhiều điểm dữ liệu hơn bất ngờ. Điều này có thể ảnh hưởng đến giá trị sum, chỉ khi bạn có nhiều lưu lượng truy cập. Tôi không thấy vấn đề này với tải trọng cao nhất là 6k RPM được phân phối trong 3 AZ. Nếu đây là kịch bản của bạn, thì việc sử dụng average là đặt cược an toàn hơn, nhưng tôi khuyên bạn nên sử dụng LowerThan 0,65 làm ngưỡng của bạn.

Các link cũng làm cho tôi tự hỏi làm thế nào để tính năng Cross-Zone Load Balancing ảnh hưởng đến số lượng các điểm dữ liệu ...

+0

Cám ơn lời giải thích chi tiết và tuyệt vời này! –