Giám sát VPS miễn phí: Netdata, Kuma và cảnh báo Telegram

Chia sẻ bài viết

Mục lục
Giám sát VPS miễn phí: Netdata, Kuma và cảnh báo Telegram

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.

Tóm tắt nhanh
  • 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 auth

Khô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

  1. Chat với @BotFather → /newbot → nhận token.
  2. 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).
  3. Kuma: Settings → Notifications → Telegram, dán token + chat_id, gắn vào mọi monitor.
  4. 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áoVì sao đặt vậy
Ổ đĩa còn trốngdưới 15%Còn kịp dọn trước khi dịch vụ chết
Bộ nhớ khả dụngdưới 10% kéo dài 10 phútĐợt cao điểm ngắn không đáng báo
Tải trung bìnhcao hơn số nhân, kéo dài 15 phútTránh báo vì một lần build
Steal timetrên 10% kéo dài 15 phútDấu hiệu máy chủ vật lý quá tải
Trang web không phản hồithất bại 2 lần liên tiếpMột lần có thể là nhiễu mạng
Chứng chỉ bảo mật sắp hết hạncòn 14 ngàyĐủ thời gian xử lý
Sao lưu không chạykhô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.

Hạ tầng NVMe Enterprise của TND
VPS ổ Enterprise U.2 NVMe, CPU xung cao, đặt tại Việt Nam
Hệ giám sát đẹp nhất là hệ ít khi phải kêu: TND VPS NVMe với Xeon Platinum xung cao không oversell cho biểu đồ steal time phẳng lì, Enterprise U.2 NVMe RAID 10 cho đồ thị độ trễ I/O nằm im dưới mili-giây. Thêm gói 129k làm trạm gác Kuma độc lập, bộ đôi máy chính + lính canh trọn vẹn từ một nhà, bàn giao mỗi máy 5 phút.
Chọn gói VPS NVMe phù hợp dự án của bạn

Bài viết liên quan