Splunk at Zillow
Bài tóm tắt Zillow 2015 3. Quy mô lớn Độ khó: Trung bình
Zillow · 2015 · 3. Quy mô lớn · Độ khó: Trung bình — bài gốc
Bài recap hai talk tại Seattle Splunk User Group. Phần một là extension của Splunk (lệnh
f5query,getsnowtruy vấn F5 và ServiceNow mà không ingest dữ liệu); ghi chú dưới đây tập trung phần hai về xếp hạng lỗi.
Bối cảnh
- Sau vài năm ship liên tục, lỗi chỉ tăng: một service tầng trình bày sinh hơn 4 triệu lỗi/ngày, khoảng 20.000 loại lỗi (2015), phần lớn không cần xử lý. Giám sát service này chỉ dựa vào số lượng lỗi, nên lỗi thật chìm trong nhiễu.
- Cách thử đầu: theo dõi phân bố lỗi theo "dấu câu" (dạng thông điệp) và báo khi lệch; thất bại vì mỗi lần deploy làm phân bố đổi, không dùng được ở môi trường test, không tính mùa vụ.
Thay đổi chính
- Định nghĩa một chỉ số trải nghiệm người dùng, Factor X, gộp lỗi Apache, URL hỏng, latency cao..., lấy mẫu mỗi giây và đo từ phía khách hàng.
- Mỗi lỗi service (dạng chuẩn hoá) ghi vào một DB trong bộ nhớ hàng tỷ dòng; mỗi phút, với từng loại lỗi, lấy trung bình Factor X trong cửa sổ −1 s/+29 s quanh các lần lỗi đó xuất hiện (window join). Loại lỗi nào luôn đi cùng Factor X tăng vọt thì mức nghiêm trọng cao.
- Xếp hạng bằng Wilson score để tính độ tin cậy theo số lần xuất hiện; một lần trùng hợp ngẫu nhiên với sự cố khác bị trung bình hoá đi.
- Kết quả tra trong Splunk vài giây: danh sách lỗi đang ảnh hưởng khách nhiều nhất.
Vì sao
- Mức nghiêm trọng của lỗi nên đo bằng tác động lên người dùng, không bằng số lượng (Observability và monitoring).
- Đo từ phía khách nên không bị ảnh hưởng khi một server bị rút khỏi pool để deploy.
Bài học cho SWE
- Khi lỗi quá nhiều để đọc, xếp hạng theo tương quan với một chỉ số trải nghiệm thay vì theo tần suất.
- Ngưỡng dựa trên phân bố lỗi sẽ gãy mỗi lần deploy; cần tín hiệu ổn định hơn mà deploy không làm đổi.
Liên quan
#Splunk#error noise#error severity ranking#Factor X user-experience metric#window join#Wilson score#F5 external command#ServiceNow
Được nhắc tới trong
Chủ đề (1)
Công ty (1)
Bài tóm tắt (1)