Nezha Monitoring: Công cụ giám sát tự host nhẹ, mạnh mẽ cho máy chủ và website

ByNgọc Trai MKT24/06/2026in GitHub Tools 0
nezha

Bạn đang tìm một công cụ giám sát tự host để theo dõi nhiều VPS, website và SSL certificate mà không muốn tốn 1GB RAM cho Prometheus? Nezha Monitoring là lựa chọn đáng cân nhắc: toàn bộ hệ thống gồm một server viết bằng Go rất nhẹ và các agent đa nền tảng, có thể quản lý hàng chục máy chủ trong một giao diện web tập trung. Khác với nhiều giải pháp khác, Nezha tích hợp sẵn web terminal và tác vụ định kỳ, nên không chỉ cảnh báo khi server down mà còn giúp bạn xử lý nhanh từ xa.

Thank you for reading this post, don't forget to subscribe!

Công cụ này hỗ trợ cảnh báo push qua Telegram, email và webhook, đồng thời cho phép kiểm tra HTTP, TCP, Ping. Trong bài này, tôi sẽ nói rõ về mức tiêu thụ RAM, cách cài agent trên nhiều server, cấu hình Telegram cho cảnh báo SSL sắp hết hạn, và khi nào nên chọn Nezha thay vì Uptime Kuma hay Prometheus/Grafana. Nếu bạn cần kiểm tra certificate, uptime và tài nguyên hệ thống, Nezha là ứng viên sáng giá.

Nezha Monitoring có ngốn nhiều RAM trên VPS nhỏ không?

Không, Nezha không ngốn RAM. Server trung tâm và agent đều là binary Go, có thể chạy trên VPS 512MB mà không cần cài Node.js, Java hay database riêng. Đây là điểm khác biệt lớn so với nhiều dashboard self-hosted cồng kềnh.

  • Theo README GitHub, Nezha gồm 2 thành phần chính: dashboard/server và agent – đều là binary Go, không phụ thuộc runtime nặng.
  • Tài liệu chính thức tại docs Nezha liệt kê 4 kiểu giám sát: HTTP/HTTPS, TCP, Ping và hệ thống CPU/RAM/disk.
  • Bản agent dựng sẵn trên GitHub Releases bao phủ nhiều hệ điều hành, từ Linux, Windows, macOS đến FreeBSD.
  • Nezha dùng SQLite mặc định, nghĩa là bạn không cần cài thêm database riêng – một điểm giúp giảm chỉ số RAM và công bảo trì.

Với một VPS 1GB, bạn có thể thoải mái chạy server Nezha cùng vài chục agent. RAM thực tế phụ thuộc vào số agent, chu kỳ heartbeat và số task, nhưng mức dưới 100MB cho server trung tâm là phổ biến trong nhóm triển khai nhỏ.

Nezha Monitoring có ngốn nhiều RAM trên VPS nhỏ không?

Cài agent Nezha trên nhiều máy chủ cùng lúc như thế nào?

Bạn không cần cài thêm plugin. Trên mỗi máy chủ, chỉ cần tải agent binary, chạy lệnh với địa chỉ server và secret key, sau đó thấy agent hiện trong dashboard. Quy trình lặp lại là viết script hoặc dùng Ansible để đẩy agent đi hàng loạt.

  1. Tải agent binary từ GitHub Releases về máy cần giám sát.
  2. Chạy lệnh: ./nezha agent -s your_server_ip:5555 -p your_secret.
  3. Mở dashboard Nezha và kiểm tra hostname mới xuất hiện.
  4. Dùng systemd hoặc crontab để giữ agent chạy nền và tự động khởi động lại nếu bị tắt.

Nếu bạn cần quản lý 20–30 VPS, cách nhanh nhất là dùng một script shell đơn giản hoặc Ansible để copy binary và ghi systemd service trên toàn bộ server. Sau khi agent kết nối, bạn có thể dùng web terminal ngay trong dashboard để sửa file cấu hình từ xa. Việc này giúp giảm số lần SSH thủ công và phù hợp với nhóm DevOps nhỏ. Dashboard Nezha còn hiển thị vị trí địa lý của agent qua dữ liệu GeoIP IPInfo.

Cài agent Nezha trên nhiều máy chủ cùng lúc như thế nào?

Cấu hình Telegram để nhận cảnh báo SSL sắp hết hạn cần những gì?

Bạn cần đúng 3 thứ: token bot Telegram, chat ID nơi nhận tin, và một notification rule trong Nezha. Cảnh báo SSL không được kích hoạt theo mặc định, vì vậy phải tạo rule liên quan đến sự kiện certificate sắp hết hạn hoặc không thể kết nối HTTPS.

  1. Tạo bot qua BotFather, lấy token dạng 123456:ABC....
  2. Nhắn tin cho bot, sau đó gọi API getUpdates để lấy chat ID.
  3. Trong dashboard Nezha, vào phần Notifications, thêm Telegram với token và chat ID.
  4. Tạo notification rule, chọn trigger liên quan đến SSL, TCP hoặc HTTP check.
  5. Đặt mức cảnh báo sớm nếu phiên bản hỗ trợ, ví dụ 7 ngày trước khi certificate hết hạn.

Nezha còn hỗ trợ webhook và email nên bạn không bị phụ thuộc vào Telegram. Nếu muốn nhận tin khi SSL sắp hết hạn trên nhiều domain, chỉ cần thêm các monitor HTTP tương ứng và gắn chúng vào cùng rule. Danh sách notifier chính thức nằm tại docs Nezha.

Cấu hình Telegram để nhận cảnh báo SSL sắp hết hạn cần những gì?

Khi nào nên chọn Nezha thay vì Prometheus/Grafana?

Chọn Nezha khi bạn cần một dashboard nhẹ để theo dõi uptime, ping, SSL và tài nguyên hệ thống của dưới vài chục máy. Chọn Prometheus/Grafana khi bạn phải thu thập metric tùy chỉnh, service discovery, PromQL và vẽ biểu đồ chi tiết theo thời gian thực.

So với Uptime Kuma, Nezha xử lý cảnh báo SSL khác gì?

Uptime Kuma là lựa chọn rất phổ biến nhờ giao diện thân thiện và nhiều notification. Tuy nhiên, Nezha gắn cảnh báo SSL với dữ liệu agent: bạn thấy được certificate sắp hết hạn, RAM, CPU, disk và thời gian phản hồi trong cùng một bảng điều khiển. Uptime Kuma mạnh về monitor HTTP/TCP, nhưng không có web terminal và không quản lý tác vụ định kỳ trên máy chủ.

Tiêu chí Nezha Monitoring Uptime Kuma Prometheus + Grafana
Phạm vi giám sát HTTP/HTTPS, TCP, Ping, CPU/RAM/disk HTTP, TCP, Ping, Docker, keyword Metrics tùy chỉnh, service discovery, PromQL
Cảnh báo SSL hết hạn Có, gắn notifier Telegram/webhook/email Có, qua notification nhưng không gắn dữ liệu agent Phải tự viết alert rule và exporter
Web terminal Không Không
Tác vụ định kỳ Có, chạy script trên agent Không Không, chỉ scrape metric
Tài nguyên yêu cầu Rất nhẹ, hợp VPS 512MB–1GB Nhẹ, cần Node.js Nặng hơn, cần storage cho metrics
Phù hợp Cá nhân, DevOps nhỏ Cá nhân ưa đơn giản Hệ thống lớn, cần custom metrics

Bạn có thể xem thêm mã nguồn Uptime Kuma tại GitHub Uptime Kuma, Prometheus tại prometheus.io và Grafana tại grafana.com/oss/grafana. Nếu hệ thống của bạn chỉ cần theo dõi trạng thái hơn là phân tích sâu, Nezha sẽ giúp bạn tiết kiệm đáng kể chi phí hạ tầng.

Khi nào nên chọn Nezha thay vì Prometheus/Grafana?

Những hạn chế cần biết trước khi chạy Nezha trong sản xuất

Nezha không phải hệ thống all-in-one cho môi trường lớn. Nó thiếu tính năng lưu trữ metric dài hạn, alert template phức tạp và phân quyền đa người dùng. Nếu bạn cần độ sẵn sàng cao, nên đặt sau reverse proxy và bảo vệ web terminal bằng xác thực hai lớp.

  • Không phù hợp để thay thế Prometheus nếu cần query lịch sử bằng PromQL.
  • Dashboard mặc định có ít tùy biến hơn Grafana, dù cộng đồng có đóng góp theme.
  • Web terminal của Nezha rất tiện nhưng cần khóa qua firewall hoặc VPN trước khi expose ra internet.
  • Tác vụ định kỳ chạy theo lịch trên agent, nhưng không có cơ chế phân tán công việc như một orchestrator.

Nezha cũng không có sẵn cơ chế cluster cho chính server trung tâm. Nếu server Nezha gặp sự cố, toàn bộ luồng cảnh báo sẽ dừng. Với nhóm nhỏ, điều này chấp nhận được; với hệ thống quan trọng, bạn nên kết hợp thêm giải pháp dự phòng hoặc dùng dịch vụ monitoring khác cho tầng hạ tầng.

Câu hỏi thường gặp

Nezha Monitoring có hỗ trợ Docker không?

Có, Nezha cung cấp image Docker chính thức trên GitHub Container Registry, giúp chạy server bằng một file docker-compose. Cài agent trong container cũng được, nhưng cần mount /proc, /sys và /var/run/docker.sock nếu muốn theo dõi container.

Làm sao để cấu hình webhook trong Nezha?

Vào dashboard, chọn Notifications, nhấn Add và chọn Webhook. Sau đó điền URL webhook và chọn dữ liệu gửi kèm. Bạn có thể gắn rule để mỗi lần server down hoặc SSL thay đổi, Nezha sẽ POST payload JSON đến Slack, Telegram bot hoặc hệ thống nội bộ.

Nezha có giao diện tiếng Việt không?

Dự án đang được dịch qua Weblate, tiếng Việt có thể chưa hoàn chỉnh. Bạn có thể đóng góp bản dịch; sau khi được duyệt, giao diện sẽ hiển thị theo ngôn ngữ trình duyệt. Nếu chưa có tiếng Việt, bạn vẫn dùng được vì dashboard chính khá đơn giản.

Nezha Monitoring là một công cụ giám sát tự host nhẹ, đáng dùng khi bạn muốn kiểm soát server và website mà không cần hạ tầng phức tạp. Với khả năng check HTTP/SSL, TCP, Ping, cảnh báo Telegram, web terminal và tác vụ định kỳ, nó phù hợp cho admin cá nhân và nhóm DevOps nhỏ. Hãy bắt đầu từ repo Nezha Monitoring và chạy thử trên một VPS 1GB trước khi triển khai cho toàn bộ hệ thống.

Related Posts