Tài liệu

Bắt đầu nhanh + mô tả chức năng của từng phần, từng thiết bị (đang tiếp tục cập nhật)

Bảo vệ chống sập

Bài viết này giới thiệu chức năng「Bảo vệ chống sập」của bảng điều khiển — tự động giám sát bộ nhớ, CPU, ổ đĩa, can thiệp chủ động trước khi tài nguyên máy chủ cạn kiệt, ngăn máy chủ đơ cứng.

Hiểu trong một câu

Điều máy chủ sợ nhất không phải「một chương trình nào đó báo lỗi」, mà là「bộ nhớ bị ăn hết / CPU chạy kịch trần, cả máy đơ đến mức không SSH vào được, chỉ còn cách vào trang quản trị của nhà cung cấp để khởi động lại cưỡng bức」. Bảo vệ chống sập chính là tự động tìm ra tiến trình「ăn tài nguyên」đó và xử lý nó trước khi việc này xảy ra, để bạn còn một đường sống.

Giới thiệu chức năng

Bảo vệ chống sập triển khai một tiến trình giám sát nhẹ trên máy chủ đích, liên tục theo dõi bộ nhớ, CPU, ổ đĩa. Khi tài nguyên có bất thường sẽ tự động can thiệp (kill tiến trình bất thường), ngăn máy chủ hoàn toàn không truy cập được vì OOM (cạn bộ nhớ) hoặc CPU nổ tung.

Vì sao nên dùng nó (OOM / CPU nổ tung là gì)

  • OOM (Out Of Memory, cạn bộ nhớ): một chương trình bị rò rỉ bộ nhớ, hoặc xin quá nhiều bộ nhớ trong một lần, chiếm hết bộ nhớ của máy chủ. Lúc này hệ thống để tự bảo vệ sẽ bắt đầu「kill tiến trình」, nhưng thường kill luôn cả dịch vụ quan trọng, thậm chí cả máy đơ cứng.
  • CPU nổ tung: một chương trình rơi vào vòng lặp vô hạn hoặc tính toán bất thường, chiếm hết mọi nhân CPU. Lúc này SSH không vào được, bảng điều khiển cũng không kết nối được, chỉ còn cách khởi động lại cứng.

Những sự cố này thường xảy ra dần dần — trước tiên một tiến trình ăn tài nguyên từ từ, cuối cùng mới đơ hoàn toàn. Vai trò của bảo vệ chống sập là can thiệp chủ động「trước khi không thể cứu vãn」.

Ngưỡng bảo vệ (giá trị mặc định)

Hạng mục bảo vệNgưỡng mặc địnhHành vi
Bộ nhớBộ nhớ khả dụng < 8%Kích hoạt can thiệp, kill tiến trình bất thường chiếm > 15% (làm nguội 5 phút, tránh kill nhầm liên tục)
CPUTải > số nhân × 3Chỉ ra tay khi vượt ngưỡng 3 lần liên tiếp; chỉ kill tiến trình đơn > 30%
CPU cực đoanTải ≥ ngưỡng × 4Can thiệp ngay, không chờ đếm liên tiếp (đề phòng CPU nổ tung không kịp phản ứng)
Ổ đĩaMức sử dụng > 92%Chỉ cảnh báo (không tự động xóa tệp)

> Đây là các giá trị mặc định thận trọng đã được kiểm chứng, hầu hết máy chủ không cần chỉnh mà vẫn dùng yên tâm. Nếu cần tùy chỉnh, có thể sửa ngưỡng trong bảng bảo vệ chống sập.

Tình huống áp dụng

  • Máy chủ có chạy các chương trình bộ nhớ không ổn định (như một số ứng dụng Java, script crawler)
  • Bộ nhớ máy chủ vốn nhỏ, dễ bị ăn kịch trần
  • Mong có một「tuyến phòng thủ cuối cùng」để phòng khi nửa đêm đơ cứng mà không có ai trực

Cách sử dụng

1. Vào「Bảng quản lý hệ thống → Bảo vệ chống sập」của máy chủ đích

2. Nhấp「Triển khai một cú nhấp」, bảng điều khiển triển khai tiến trình giám sát trên máy chủ đích qua SSH

3. Sau khi triển khai sẽ hiện「Tiến trình giám sát đang chạy」và liệt kê giải thích ngưỡng bảo vệ hiện tại

4. Khi kích hoạt bảo vệ, có thể xem trong「Sự kiện cảnh báo」: thời điểm kích hoạt, nguyên nhân (tiến trình nào, chiếm bao nhiêu tài nguyên), hành động xử lý

Cách triển khai

  • Máy chủ có systemd (Debian/Ubuntu/CentOS...): triển khai dưới dạng dịch vụ systemd, tự khởi động khi boot + tự kéo dậy khi sập (hiện huy hiệu「Tự khởi động khi boot」)
  • Máy chủ không có systemd (Alpine...): lùi về chạy bằng nohup (giám sát được, nhưng sau khi khởi động lại không tự kéo dậy, cần triển khai lại thủ công)

Lưu ý

1. Không để lại dấu vết: tiến trình giám sát là script nhẹ độc lập, chỉ chiếm tài nguyên cực nhỏ, không ảnh hưởng nghiệp vụ của máy chủ đích.

2. Bảo vệ bằng danh sách trắng: luồng kernel, tiến trình quan trọng của hệ thống mặc định không bị kill, tránh kill nhầm gây sập hệ thống.

3. Ổ đĩa chỉ cảnh báo không dọn dẹp: ổ đĩa đầy sẽ không tự xóa tệp của bạn (tránh xóa nhầm dữ liệu quan trọng), chỉ nhắc bạn xử lý thủ công.

4. Gỡ cài đặt: nhấp「Gỡ cài đặt」trong bảng bảo vệ chống sập là được, nó sẽ dọn tiến trình giám sát và dịch vụ systemd.