
Trả lời nhanh: Bộ ba giám sát miễn phí phủ đủ nhu cầu một VPS: Netdata, bảng đồng hồ tài nguyên chi tiết từng giây (CPU, RAM, ổ, mạng, từng container), cài một dòng; Uptime Kuma, canh sống chết từng dịch vụ từ góc nhìn người dùng, đặt ở máy khác; cảnh báo Telegram, cả hai đều đẩy được thông báo về nhóm chat của bạn. Nguyên tắc phân vai: Kuma trả lời "có đang chết không?", Netdata trả lời "vì sao chết/sắp chết?", thiếu một trong hai là nửa mù.
Không giám sát, bạn biết site chết khi khách nhắn "web anh sập à?", tức là muộn nhất và xấu hổ nhất có thể. Bài này dựng hệ thần kinh cho VPS trong 20 phút, toàn đồ miễn phí, kết thúc bằng bộ ngưỡng cảnh báo gợi ý, đủ nhạy để báo sớm, đủ điềm tĩnh để không spam bạn mỗi đêm.
- Hai câu hỏi, hai công cụ: Kuma canh 'sống không?', Netdata soi 'vì sao?'
- Netdata: một dòng cài, dashboard từng giây, gần như zero cấu hình
- Kuma đặt máy KHÁC với thứ nó canh, lính gác không ngủ chung nhà cháy
- Cảnh báo về Telegram nhóm riêng; ngưỡng gợi ý: ổ >85%, RAM >90% kéo dài, steal >5%, cert <14 ngày
Netdata: soi nội tạng từng giây
curl -fsSL https://get.netdata.cloud/kickstart.sh | sh /dev/stdin --stable-channel
# dashboard: http://127.0.0.1:19999, dua ra ngoai qua SSH tunnel hoac Caddy + basic authKhông cần cấu hình gì đã có: CPU từng nhân (kèm steal time, chỉ số bài CPU steal đã dạy đọc), RAM và swap, I/O từng ổ (độ trễ đọc/ghi, nhìn thấy tận mắt ổ NVMe khác ổ thường thế nào), mạng, và tự nhận diện dịch vụ quen (MySQL, Postgres, Redis, Docker, số liệu từng container). Độ phân giải từng giây là điểm ăn tiền khi truy án: cú khựng 30 giây lúc 21h14 hiện nguyên hình trên biểu đồ thay vì tan biến trong số trung bình 5 phút.
Lưu ý phơi bày: dashboard chứa thông tin nhạy cảm, đừng mở trần cổng 19999 ra internet; SSH tunnel cho riêng mình hoặc Caddy kèm mật khẩu.
Uptime Kuma: góc nhìn của khách hàng
Netdata đứng trong máy, không thấy được cảnh 'máy khỏe mà khách không vào được' (DNS hỏng, tunnel đứt, chứng chỉ hết hạn). Kuma đứng ngoài nhìn vào như một khách thật: check HTTP từng phút, đo cả thời gian phản hồi thành biểu đồ, canh được cả hạn chứng chỉ SSL và keyword trong trang (bắt cảnh 'trang lên nhưng trắng trơn'). Cài như bài uptime đã dẫn, điểm nhấn lại vì quan trọng: đặt trên máy khác (VPS nhỏ riêng) hoặc ít nhất kèm UptimeRobot free đo từ ngoài đối chiếu.
Nối cảnh báo về Telegram trong 5 phút
- Chat với @BotFather → /newbot → nhận token.
- Tạo nhóm riêng "Cảnh báo VPS", thêm bot vào, lấy chat_id (chat với @userinfobot hoặc gọi API getUpdates).
- Kuma: Settings → Notifications → Telegram, dán token + chat_id, gắn vào mọi monitor.
- Netdata: sửa health_alarm_notify.conf bật SEND_TELEGRAM + token, hoặc gọn hơn: nối Netdata Cloud (free) nhận cảnh báo tập trung.
Kỷ luật nhóm cảnh báo: chỉ chứa cảnh báo, lẫn chuyện phiếm là não học cách bỏ qua cả nhóm, và một cảnh báo bị bỏ qua bằng không có hệ thống.
Bộ ngưỡng gợi ý - báo sớm mà không spam
- Ổ đĩa >85%: cảnh báo sớm nhất đáng có, đầy ổ là án tử từ từ mà dễ phòng nhất (thủ phạm quen: log Docker/PM2 chưa xoay vòng, các bài trước đã vá sẵn).
- RAM >90% kéo dài 10 phút (không phải đỉnh nhọn thoáng qua) + swap si/so cày liên tục → xem lại khẩu phần hoặc nâng gói.
- Steal time >5% lặp lại theo giờ: bằng chứng gửi nhà cung cấp, hoặc lý do đổi nhà (bài CPU steal có quy trình đủ).
- Load average > số nhân × 2 kéo dài: máy đang ngộp, vào Netdata xem vì CPU, I/O hay tiến trình cụ thể nào.
- Chứng chỉ SSL <14 ngày: Kuma canh sẵn, lưới đỡ cho cả những site không dùng auto-renew.
- Response time tăng gấp đôi mốc bình thường: chuông sớm nhất của mọi loại bệnh, biểu đồ Kuma cho bạn mốc đó sau một tuần chạy.
Bộ ngưỡng gợi ý: báo sớm mà không làm phiền
| Chỉ số | Ngưỡng cảnh báo | Vì sao đặt vậy |
|---|---|---|
| Ổ đĩa còn trống | dưới 15% | Còn kịp dọn trước khi dịch vụ chết |
| Bộ nhớ khả dụng | dưới 10% kéo dài 10 phút | Đợt cao điểm ngắn không đáng báo |
| Tải trung bình | cao hơn số nhân, kéo dài 15 phút | Tránh báo vì một lần build |
| Steal time | trên 10% kéo dài 15 phút | Dấu hiệu máy chủ vật lý quá tải |
| Trang web không phản hồi | thất bại 2 lần liên tiếp | Một lần có thể là nhiễu mạng |
| Chứng chỉ bảo mật sắp hết hạn | còn 14 ngày | Đủ thời gian xử lý |
| Sao lưu không chạy | không có tệp mới trong 26 giờ | Bắt được cả trường hợp chạy trễ |
Nguyên tắc quan trọng nhất khi đặt cảnh báo: cảnh báo nào không dẫn tới hành động thì tắt đi. Hệ thống bắn 30 cảnh báo mỗi ngày là hệ thống mà mọi người đã học cách bỏ qua, và lúc có sự cố thật thì không ai để ý.
Hai lớp giám sát khác nhau
- Giám sát bên trong máy cho biết vi xử lý, bộ nhớ, ổ đĩa và tiến trình. Trả lời câu hỏi máy đang gặp gì.
- Giám sát từ bên ngoài cho biết trang có truy cập được không, từ góc nhìn của khách. Trả lời câu hỏi khách có dùng được không.
- Phải có cả hai. Máy khỏe mà trang chết vì cấu hình sai là chuyện thường; và trang vẫn chạy mà ổ đĩa sắp đầy cũng là chuyện thường.
- Đặt phần giám sát bên ngoài trên một máy khác, không cùng máy với dịch vụ được giám sát. Cùng máy thì máy chết là cảnh báo cũng chết.
Kiểm hệ thống cảnh báo có thật sự chạy
# 1. Thu ngat mot dich vu, xem co nhan duoc canh bao khong systemctl stop nginx && sleep 120 && systemctl start nginx # 2. Thu lam day o dia gia lap, xem canh bao co ban khong fallocate -l 5G /tmp/test-day-o && sleep 120 && rm /tmp/test-day-o # 3. Kiem dich vu giam sat co tu khoi dong lai sau khi may reboot khong systemctl is-enabled netdata uptime-kuma # 4. Dat lich thu lai moi quy # He thong canh bao chua tung duoc thu la he thong chua chac hoat dong
Bước bốn là bước quyết định: rất nhiều hệ thống giám sát ngừng gửi được cảnh báo sau khi ai đó đổi khóa hoặc đổi kênh nhận, và không ai biết cho tới lần sự cố tiếp theo.
Câu hỏi thường gặp
Netdata có làm nặng VPS không?
Nhẹ đáng ngạc nhiên cho lượng số liệu nó thu (~1-3% CPU một nhân, vài trăm MB RAM). Trên gói rất nhỏ 1 GB có thể giảm tần suất thu về 2-5 giây nếu muốn tiết kiệm nữa.
Có cần Prometheus/Grafana không?
Chưa, bộ đó mạnh cho hệ nhiều máy, đội vận hành riêng, đổi lấy công dựng và nuôi đáng kể. Một-vài VPS: Netdata + Kuma phủ 95% nhu cầu với 5% công sức. Lớn lên rồi nâng cấp sau.
Zabbix so với bộ này thế nào?
Zabbix là hạng nặng doanh nghiệp: khai báo chi tiết, quản trăm máy, học dốc. Cá nhân/đội nhỏ chọn Netdata+Kuma cho nhanh; đã có sẵn hệ Zabbix (như doanh nghiệp đang dùng) thì thêm host vào hệ cũ hợp lý hơn dựng song song.
Giám sát cả chi phí API AI được không?
Được ở mức thực dụng: script nhỏ gọi API usage của nhà cung cấp mỗi ngày, đẩy Telegram, hoặc n8n làm việc này không cần code. Spending limit phía nhà cung cấp vẫn là chốt chặn chính.
Bài viết liên quan
- Uptime và downtime: đo thế nào, bao nhiêu là đủ
- CPU steal time: kẻ cắp hiệu năng VPS
- VPS ổ Enterprise U.2 NVMe RAID 10 tại TND
- Theo dõi IP động bằng bash, cron và ip.tnd.vn (DDNS tự dựng)
- Chương trình tặng Voucher cho khách hàng mới dự sự kiện PingPong 2024
- cPanel/WHM phát hành 5 bản vá khẩn cấp - Hướng dẫn cập nhật VPS an toàn
- DeepSeek API vs self-host: khi nào nên thuê GPU, khi nào dùng API
- Lỗi fetch control key và invalid key trong Tailscale
- Coolify vs CapRover vs Dokku: chọn self-host PaaS nào?



