Beszel Công cụ monitoring nhẹ mà bạn ước gì biết sớm hơn
Beszel là giải pháp monitoring server siêu nhẹ, dễ cài, đủ xài. Tìm hiểu vì sao nó đang trở thành lựa chọn mặc định cho nhiều dev.
Nguyễn Nhật Long
@nguyennhatlong1303

Bạn đang chạy vài con VPS nhỏ, muốn theo dõi CPU, RAM, disk, network nhưng cài Prometheus + Grafana thì overkill quá? Hay Netdata thì ngốn RAM như điên trên con server 1GB? Mình từng ở đúng tình huống đó, và Beszel là thứ đã giải quyết gọn gàng vấn đề này.
Monitoring không nên là một "project" riêng
Nếu bạn từng setup monitoring stack kiểu truyền thống, bạn biết cảm giác đó cài Prometheus, config scrape targets, dựng Grafana, import dashboard, chỉnh alert rules... Chưa kể còn phải lo resource cho chính cái monitoring stack. Đối với team nhỏ hoặc side project, đây là overhead không cần thiết.
Beszel ra đời với triết lý khác: monitoring nên đơn giản như cài một app. Không cần database riêng, không cần config phức tạp, không cần học query language mới. Cài xong là chạy, mở browser là thấy số liệu.
Beszel là gì?
Beszel là một lightweight server monitoring tool, gồm hai thành phần chính:
- Hub Web UI + backend, nơi bạn xem tất cả metrics. Được build trên PocketBase (SQLite-based), nên không cần PostgreSQL hay MySQL gì cả.
- Agent Chạy trên mỗi server cần monitor, gửi metrics về Hub. Agent này cực nhẹ, viết bằng Go, chỉ tốn khoảng 10-20MB RAM.
Điều mình thấy hay là kiến trúc này giữ mọi thứ tối giản nhưng vẫn đủ dùng. Hub có thể chạy trên bất kỳ server nào (kể cả con VPS rẻ nhất), và agent thì gần như không ảnh hưởng đến performance của server đang chạy production.

Cài đặt Nhanh đến mức bất ngờ
Đây là phần mình thích nhất. Cài Hub bằng Docker:
1docker run -d \2 --name beszel \3 -p 8090:8090 \4 -v beszel_data:/beszel_data \5 henrygd/beszel
Cài Agent trên mỗi server:
bash:::curl -sLhttps://get.beszel.dev| bash
Script cài agent sẽ tự tạo systemd service, tự generate SSH key. Bạn chỉ cần copy public key paste vào Hub UI là xong. Toàn bộ quá trình mất khoảng 5 phút cho lần đầu tiên, và 1-2 phút cho mỗi server tiếp theo.
Theo kinh nghiệm của mình, so với việc setup Prometheus + Node Exporter + Grafana (dễ mất cả buổi chiều nếu chưa quen), thì Beszel nhanh hơn ít nhất 10 lần.
Beszel so với các giải pháp khác
Để bạn dễ hình dung vị trí của Beszel trong hệ sinh thái monitoring:
Bạn thấy đó Beszel không cố cạnh tranh với Prometheus ở phân khúc enterprise. Nó nhắm vào nhóm người dùng mà Prometheus quá nặng nề, nhưng lại cần nhiều hơn Uptime Kuma.
| Tiêu chí | Beszel | Prometheus + Grafana | Netdata | Uptime Kuma |
|---|---|---|---|---|
| RAM usage (agent) | ~10-20MB | ~50-100MB (node_exporter) | ~200-500MB | N/A (agentless) |
| Setup time | 5 phút | 1-3 giờ | 10-15 phút | 5 phút |
| Database | SQLite (PocketBase) | TSDB riêng | Built-in | SQLite |
| Custom metrics | Hạn chế | Rất mạnh | Tốt | Không |
| Docker monitoring | ✅ | Cần cAdvisor | ✅ | ❌ |
| Alerting | Email, Webhook, Slack... | AlertManager (phức tạp) | Built-in | Rất nhiều kênh |
| Phù hợp cho | Homelab, VPS nhỏ, side project | Production lớn, enterprise | Dev/debug chi tiết | Chỉ uptime check |
| Query language | Không cần | PromQL | Không cần | Không cần |
Những tính năng đáng chú ý
Docker container monitoring
Beszel tự động detect và monitor từng Docker container trên server. Bạn thấy được CPU, RAM, network I/O của từng container mà không cần config gì thêm. Đây là tính năng mà với Prometheus bạn phải cài thêm cAdvisor mới có.
Alerting đơn giản mà đủ dùng
Bạn set threshold cho CPU, RAM, disk khi vượt ngưỡng thì Beszel gửi notification qua email, webhook, Slack, Telegram, Discord... Không cần viết alerting rules phức tạp như AlertManager.
Multi-user support
Vì build trên PocketBase, Beszel có sẵn hệ thống auth. Bạn có thể tạo nhiều user, phân quyền xem server nào. Tiện nếu bạn quản lý server cho nhiều khách hàng hoặc nhiều team.
Disk và network monitoring chi tiết
Không chỉ tổng disk usage, Beszel còn track theo từng mount point. Network thì track cả bandwidth in/out theo từng interface. Đủ để bạn debug hầu hết các vấn đề thường gặp.

Khi nào KHÔNG nên dùng Beszel?
Mình nói thẳng Beszel không phải silver bullet. Đừng dùng nó nếu:
- Bạn cần custom metrics từ application (request latency, error rate, business metrics). Beszel chỉ monitor system-level metrics.
- Bạn cần long-term data retention với khả năng query phức tạp. SQLite không scale cho việc này.
- Bạn đang chạy Kubernetes cluster. Beszel không có integration cho k8s, bạn cần Prometheus hoặc Datadog.
- Team bạn đã quen với PromQL và Grafana dashboards. Không có lý do gì để đổi.
Theo kinh nghiệm của mình, Beszel phù hợp nhất cho: homelab, VPS chạy side project, small business với 2-20 servers, và những ai muốn có monitoring "good enough" mà không tốn thời gian maintain.
Vài tips khi dùng Beszel
- Backup data thường xuyên: Vì dùng SQLite, bạn chỉ cần backup folder
beszel_datalà đủ. Đơn giản hơn nhiều so với backup TSDB. - Đặt Hub ở server riêng: Đừng chạy Hub trên server production chính. Nếu server đó down, bạn mất luôn monitoring.
- Tận dụng Docker labels: Beszel đọc Docker labels để nhóm và filter containers. Đặt labels chuẩn từ đầu sẽ tiết kiệm thời gian sau này.
- Kết hợp với Uptime Kuma: Beszel lo system metrics, Uptime Kuma lo HTTP/TCP uptime check. Combo này cover được 90% nhu cầu monitoring của small team.
Những điều cần nhớ
- Beszel = Hub (PocketBase) + Agent (Go binary). Nhẹ, nhanh, dễ cài.
- Phù hợp cho homelab và small-to-medium server fleet. Không thay thế Prometheus cho enterprise.
- Docker monitoring out-of-the-box, không cần config thêm.
- Alerting đủ dùng qua nhiều kênh phổ biến.
- Kết hợp với Uptime Kuma để có giải pháp monitoring hoàn chỉnh mà vẫn lightweight.
Nếu bạn đang chạy vài con VPS và chưa có monitoring gì (hoặc đang dùng htop qua SSH mình biết, mình cũng từng vậy), thì Beszel là bước đầu tiên hợp lý nhất. Cài 5 phút, dùng mãi mãi. Repo trên GitHub: github.com/henrygd/beszel star đang tăng rất nhanh, community active, và maintainer respond issue khá nhanh. Thử đi, bạn sẽ tự hỏi sao không biết sớm hơn.
Nguyễn Nhật Long
@nguyennhatlong1303Nguyễn Nhật Long is a Senior Frontend Engineer and Frontend Team Leader with 7 years of experience building real-time fintech platforms. Specializing in React, Next.js, TypeScript, and React Native, shipping 10+ products across Web, Mobile, Telegram Mini-Apps, and Web3.
Thấy hay? Chia sẻ cho bạn bè!