Nếu bạn chưa rõ Prometheus và Grafana là gì, hãy đọc bài viết của chúng tôi về Prometheus và Grafana. Nếu bạn đã biết sự khác biệt, đây là cách chạy cả hai cùng nhau.
Bài viết này là phần triển khai thực tế. Nó cài Prometheus, Grafana và Node Exporter trên một VPS bằng Docker Compose, đặt HTTPS trước Grafana bằng Caddy, nhập bảng điều khiển Node Exporter Full (ID 1860) và hướng dẫn thu thập số liệu từ VPS thứ hai qua WireGuard.
Bài kiểm tra ban đầu vào tháng 4 năm 2026 chạy trên Ubuntu 24.04 LTS với Docker Engine 27.x và Docker Compose v2.30. Các phiên bản ghim trong cấu hình bên dưới từ đó đã được cập nhật lên bản phát hành được hỗ trợ hiện tại. Trong bài kiểm tra năm máy chủ ban đầu đó, máy trung tâm dùng khoảng 300 MB RAM khi rảnh và 530 đến 650 MB khi thu thập liên tục.
Tóm tắt nhanh
- VPS trung tâm chạy Prometheus, Grafana và Node Exporter trong một stack Compose duy nhất, còn Caddy được cài trên máy chủ làm reverse proxy.
- Prometheus và Grafana chỉ lắng nghe trên 127.0.0.1. Truy cập công khai đi qua Caddy với HTTPS tự động.
- Thêm máy chủ bằng cách cài Node Exporter trên từng máy và bổ sung mục vào
prometheus.yml. - WireGuard là đường mạng được khuyến nghị giữa máy trung tâm và các máy con. Mạng riêng cũng hoạt động tốt khi các máy chủ của bạn đã dùng chung một mạng riêng.
- VPS 2 GB là đủ cho bài kiểm tra năm máy chủ bên dưới, nhưng hãy xem đó là mức tham chiếu chứ không phải quy tắc cố định theo số lượng máy.
Bạn sẽ xây dựng những gì
Đây là hình dung sơ bộ về hệ thống sau khi bạn hoàn tất.
+-------------------+
| Your laptop |
+---------+---------+
| HTTPS
v
+--------------------------+----------------------------+
| MONITORING HUB VPS (2 GB RAM starting point) |
| Caddy (reverse proxy, auto HTTPS) |
| Grafana (port 3000, only via Caddy) |
| Prometheus (port 9090, internal only) |
| Node Exporter (port 9100, scraped on localhost) |
+----+---------------------------------+----------------+
| |
| scrape over WireGuard | scrape over WG
v v
+----+--------+ +-----+-------+
| App VPS 1 | | App VPS 2 |
| Node Expo. | | Node Expo. |
+-------------+ +-------------+
Một VPS trung tâm chứa toàn bộ hệ giám sát. Mỗi VPS khác mà bạn muốn theo dõi chỉ chạy Node Exporter. Prometheus trên máy trung tâm kéo số liệu từ từng máy, Grafana trực quan hóa chúng, còn Caddy lo phần HTTPS.
Bạn Cần Gì
Với đúng cấu hình này, bạn cần một VPS chạy Ubuntu làm máy trung tâm, một tên miền và quyền sudo.
- Một VPS có ít nhất 2 GB RAM chạy Ubuntu 24.04 LTS.
- Một tên miền có bản ghi A trỏ tới IP công khai của VPS (ví dụ grafana.example.com). Bắt buộc để dùng HTTPS.
- Quyền root hoặc sudo qua SSH.
Xuyên suốt hướng dẫn này, hãy thay grafana.example.com bằng tên miền phụ mà bạn thực sự trỏ về VPS giám sát của mình. Dùng cùng một tên miền đó trong biến môi trường của Grafana, khi kiểm tra DNS và trong Caddyfile.
Nếu bạn chỉ muốn giám sát một máy chủ và chưa cần HTTPS, bạn có thể chạy stack Compose trên VPS sẵn có mà bỏ qua phần reverse proxy. Phần còn lại của hướng dẫn vẫn áp dụng.
Khởi chạy VPS Ubuntu ngay lập tức với quyền root và bộ nhớ NVMe.
Triển khai VPS UbuntuBước 1: Chuẩn bị máy chủ
Đăng nhập SSH vào VPS trung tâm bằng người dùng có quyền sudo. Trước tiên hãy cập nhật hệ thống.
sudo apt update && sudo apt upgrade -y
Cài Docker Engine và plugin Compose từ kho chính thức của Docker.
# Install prerequisites
sudo apt install -y ca-certificates curl gnupg lsb-release
# Add Docker's official GPG key
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# Add the Docker repository
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Kiểm tra xem cả hai đã được cài chưa.
docker --version
docker compose version
Cả hai lệnh đều phải trả về số phiên bản mà không báo lỗi. Phiên bản chính xác của Docker Engine và Compose tùy thuộc vào những gì kho chính thức cung cấp tại thời điểm bạn cài.
sudo usermod -aG docker $USER
Hãy đăng xuất rồi đăng nhập lại trước khi tiếp tục để tư cách thành viên nhóm mới có hiệu lực. Nhóm docker trên thực tế trao quyền ngang root, vì vậy chỉ thêm những quản trị viên bạn tin tưởng.
Cấu hình UFW để cho phép SSH, HTTP và HTTPS trên máy trung tâm giám sát. Cổng 80 lo phần chuyển hướng từ HTTP sang HTTPS và xác thực ACME. Bản thân Grafana vẫn nằm sau Caddy.
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo ufw status
Đừng mở cổng 3000, 9090 hay 9100 ra internet công cộng. Các dịch vụ giám sát lắng nghe trên 127.0.0.1 là có lý do.
Bước 2: Stack Compose
Tạo một thư mục cho stack và tệp cấu hình Prometheus.
mkdir -p ~/monitoring/prometheus
cd ~/monitoring
Viết tệp Compose.
# ~/monitoring/docker-compose.yml
services:
prometheus:
image: prom/prometheus:v3.13.2
container_name: prometheus
restart: unless-stopped
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
- '--storage.tsdb.retention.time=15d'
- '--web.enable-lifecycle'
- '--web.listen-address=127.0.0.1:9090'
volumes:
- ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro
- prometheus_data:/prometheus
network_mode: host
node-exporter:
image: prom/node-exporter:v1.12.1
container_name: node-exporter
restart: unless-stopped
pid: host
network_mode: host
command:
- '--path.rootfs=/host'
- '--web.listen-address=127.0.0.1:9100'
- '--collector.filesystem.mount-points-exclude=^/(dev|proc|sys|var/lib/docker/.+|var/lib/kubelet/.+)($$|/)'
volumes:
- '/:/host:ro,rslave'
grafana:
image: grafana/grafana:13.1.3
container_name: grafana
restart: unless-stopped
environment:
- GF_SECURITY_ADMIN_USER=admin
- GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_ADMIN_PASSWORD}
- GF_USERS_ALLOW_SIGN_UP=false
- GF_SERVER_ROOT_URL=https://grafana.example.com
- GF_SERVER_HTTP_ADDR=127.0.0.1
volumes:
- grafana_data:/var/lib/grafana
network_mode: host
depends_on:
- prometheus
volumes:
prometheus_data:
grafana_data:
Bây giờ hãy viết cấu hình Prometheus.
# ~/monitoring/prometheus/prometheus.yml
global:
scrape_interval: 15s
evaluation_interval: 15s
external_labels:
monitor: 'monitoring-hub'
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['127.0.0.1:9090']
- job_name: 'node'
static_configs:
- targets: ['127.0.0.1:9100']
labels:
host: 'monitoring-hub'
Tạo tệp .env chứa mật khẩu quản trị của Grafana. Dùng mật khẩu mạnh và đừng commit tệp này lên git.
cat > ~/monitoring/.env <<'EOF'
GRAFANA_ADMIN_PASSWORD='replace-with-a-strong-password'
EOF
chmod 600 ~/monitoring/.env
Vài tùy chọn ở trên đáng được giải thích thêm một câu.
--web.listen-address=127.0.0.1:9090khiến Prometheus chỉ lắng nghe trên giao diện loopback của máy chủ. Nhờ đó cổng 9090 nằm ngoài mạng công cộng nhưng Grafana và việc quản trị cục bộ vẫn truy cập được.--web.enable-lifecyclebậtPOST /-/reload, nhờ đó bạn có thể áp dụng thay đổi cấu hình Prometheus mà không cần khởi động lại container.pid: host,network_mode: host, bind mount thư mục gốc của máy chủ, và--path.rootfs=/hostcung cấp cho Node Exporter trong container bối cảnh máy chủ mà nó cần, thay vì chỉ giám sát môi trường container của chính nó.GF_USERS_ALLOW_SIGN_UP=falsengăn khách truy cập tự tạo tài khoản Grafana. Điều đó không khiến Grafana trở nên riêng tư: trang đăng nhập vẫn công khai qua Caddy.
Mẹo hay: Nếu bạn muốn bỏ qua phần cài đặt thủ công, Cloudzy có sẵn triển khai một cú nhấp cho Grafana và Prometheus . Bản triển khai Prometheus cũng có thể cài luôn Node Exporter.
Bước 3: Khởi chạy lần đầu và kiểm tra
Khởi chạy stack.
cd ~/monitoring
docker compose up -d
Đợi vài giây, rồi kiểm tra xem cả ba container đã chạy chưa.
docker compose ps
Cả ba dịch vụ đều phải ở trạng thái running.
Mở một đường hầm SSH từ máy tính của bạn để kiểm tra trang targets của Prometheus.
ssh -L 9090:localhost:9090 your-user@your-vps-ip
Sau đó mở http://localhost:9090/targets trong trình duyệt. Bạn sẽ thấy hai target, cả hai đều ở trạng thái UP:
prometheus UP http://127.0.0.1:9090/metrics
node UP http://127.0.0.1:9100/metrics
Nếu một trong hai ở trạng thái DOWN, hãy chuyển tới phần Sự cố thường gặp. Đừng tiếp tục cho tới khi cả hai đều UP.
Đóng đường hầm khi bạn kiểm tra xong các target. Từ bên ngoài VPS, Prometheus sẽ chỉ truy cập được qua đường hầm SSH này. Bước tiếp theo sẽ mở Grafana ra ngoài bằng HTTPS.
Bước 4: Reverse proxy kèm HTTPS bằng Caddy
Caddy chỉ là một tệp nhị phân duy nhất và tự lo phần HTTPS. Với reverse proxy cho một site, cấu hình của nó ngắn hơn khối Nginx tương đương.
Cài Caddy từ kho chính thức.
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | \
sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | \
sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo chmod o+r /usr/share/keyrings/caddy-stable-archive-keyring.gpg
sudo chmod o+r /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install -y caddy
Trước bước tiếp theo, hãy xác nhận bản ghi DNS A cho grafana.example.com đang trỏ tới IP công khai của VPS. Nếu không, việc xác thực ACME sẽ thất bại.
dig +short grafana.example.com
# Should print the VPS public IP
Sửa tệp Caddyfile.
# /etc/caddy/Caddyfile
grafana.example.com {
reverse_proxy 127.0.0.1:3000
encode gzip
}
Nạp lại Caddy.
sudo systemctl reload caddy
Caddy tự động xin và gia hạn chứng chỉ TLS được tin cậy công khai qua ACME, ngay khi tên miền trỏ về máy chủ của bạn và cổng 80 cùng 443 có thể truy cập. Mở https://grafana.example.com trong trình duyệt: bạn sẽ thấy trang đăng nhập Grafana trên một kết nối HTTPS hợp lệ. Đăng nhập bằng admin và mật khẩu trong tệp .env.
Bước 5: Thêm Prometheus làm nguồn dữ liệu và nhập bảng điều khiển 1860
Trong giao diện Grafana, hãy vào Kết nối > Nguồn dữ liệu > Thêm nguồn dữ liệu và chọn Prometheus.
Đặt URL thành:
http://127.0.0.1:9090
Trong cấu hình này, Grafana và Prometheus dùng chung mạng của máy chủ, còn Prometheus chỉ lắng nghe trên loopback. Nhấn Save & test và xác nhận Grafana truy vấn được API của Prometheus. Bạn sẽ thấy thông báo "Successfully queried the Prometheus API".
Bây giờ hãy nhập bảng điều khiển. Node Exporter Full (ID 1860 do rfmoz tạo) là bảng điều khiển cộng đồng được dùng rất rộng rãi cho số liệu của Node Exporter. Nó bao quát CPU, bộ nhớ, I/O ổ đĩa, mạng, file descriptor và nhiệt độ phần cứng khi máy chủ có cung cấp. Bảng này cũng có biến job và instance, nên chạy được với mô hình trung tâm và vệ tinh mà không cần sửa gì.
Đi tới Bảng điều khiển > Mới > Nhập bảng điều khiển, nhập ID bảng điều khiển 1860, chọn nguồn dữ liệu Prometheus của bạn rồi nhập vào.
Bảng điều khiển sẽ có dữ liệu ngay khi target Node Exporter của bạn ở trạng thái UP. Bảng 1860 còn dùng số liệu từ các collector tùy chọn systemd và processes cho một vài panel, nên một panel trống không nhất thiết nghĩa là target bị hỏng.
Bước 6: Thêm VPS thứ hai (mô hình trung tâm và vệ tinh)
Trước khi khởi chạy Node Exporter, hãy chắc chắn địa chỉ IP riêng mà bạn định gắn vào đã tồn tại trên VPS thứ hai. Nếu dùng WireGuard, hãy hoàn tất cấu hình WireGuard trước.
Trên VPS thứ hai, hãy cài Docker theo phần cài Docker ở Bước 1, nhưng đừng mở cổng 80 hay 443 chỉ để giám sát. Sau đó chỉ chạy riêng Node Exporter.
mkdir -p ~/node-exporter
cd ~/node-exporter
cat > docker-compose.yml <<'EOF'
services:
node-exporter:
image: prom/node-exporter:v1.12.1
container_name: node-exporter
restart: unless-stopped
pid: host
command:
- '--path.rootfs=/host'
- '--web.listen-address=10.10.0.2:9100' # bind to the private monitoring IP, never 0.0.0.0
volumes:
- '/:/host:ro,rslave'
network_mode: host
EOF
docker compose up -d
Thay 10.10.0.2 bằng IP riêng dùng cho giám sát của máy chủ này. Nếu dùng WireGuard, hãy lấy IP WireGuard của nó; nếu dùng mạng riêng của Cloudzy, hãy lấy IP giao diện riêng của VPS. Nếu UFW đã bật trên VPS này, chỉ cho phép máy trung tâm giám sát truy cập Node Exporter. Ví dụ, nếu IP riêng của máy trung tâm là 10.10.0.1:
sudo ufw allow proto tcp from 10.10.0.1 to any port 9100
sudo ufw status
Thay 10.10.0.1 bằng IP riêng thực tế của máy trung tâm. Nếu UFW không bật, việc chỉ định rõ --web.listen-address vẫn giữ Node Exporter khỏi giao diện công khai, nhưng những máy khác truy cập được vào mạng riêng đó cũng có thể chạm tới cổng 9100.
Hai lựa chọn tốt cho đường mạng giữa máy trung tâm và các máy con:
- Mạng WireGuard. Mỗi VPS tham gia một mạng WireGuard, và Prometheus thu thập số liệu qua các IP riêng. Đây là phương án an toàn nhất sau khi bạn cài đặt WireGuard lần đầu. Chúng tôi cung cấp WireGuard dưới dạng triển khai một cú nhấp, và chúng tôi cũng có hướng dẫn cài đặt sẵn có về nó.
- Mạng riêng của Cloudzy. Các VPS Cloudzy trong cùng một khu vực đều có giao diện riêng cho lưu lượng đông-tây, nên bạn có thể thu thập số liệu ngay từ địa chỉ đó thay vì dựng một đường hầm WireGuard riêng.
Khi Node Exporter đã chạy trên VPS thứ hai và truy cập được qua IP riêng, hãy thay thế job node hiện có trong prometheus.yml trên máy trung tâm bằng khối bên dưới.
# Update the existing 'node' job in ~/monitoring/prometheus/prometheus.yml
- job_name: 'node'
static_configs:
- targets: ['127.0.0.1:9100']
labels:
host: 'monitoring-hub'
- targets: ['10.10.0.2:9100']
labels:
host: 'app-vps-1'
tier: 'production'
Nạp lại Prometheus mà không cần khởi động lại container.
curl -X POST http://localhost:9090/-/reload
Mở lại đường hầm SSH từ Bước 3, rồi truy cập http://localhost:9090/targets. Target mới sẽ hiện ở trạng thái UP. Mở bảng điều khiển Node Exporter Full, đổi biến instance ở phía trên sang máy chủ mới, và bạn sẽ thấy các biểu đồ của nó.
Mức dùng tài nguyên và khi nào nên nâng cấp
Các con số này lấy từ bài kiểm tra ban đầu vào tháng 4 năm 2026 trên một VPS Ubuntu 2 GB giám sát năm máy chủ. Hãy xem đó là mức tham chiếu cho khối lượng công việc này, chứ không phải bảo đảm về cấu hình cho các bản phát hành mới hơn.
| Thành phần | RAM khi rảnh | RAM khi hoạt động (1 máy chủ) | RAM với 5 máy chủ | Ổ đĩa (lưu 15 ngày, 5 máy chủ) |
|---|---|---|---|---|
| Prometheus | ~100 MB | ~150 MB | ~250-350 MB | ~500 MB đến 1,5 GB |
| Grafana | ~150 MB | ~180 MB | ~200 MB | ~50 MB |
| Node Exporter | ~15 MB | ~20 MB | không áp dụng | không đáng kể |
| Caddy | ~30 MB | ~40 MB | ~40 MB | không áp dụng |
| Tổng máy trung tâm | ~300 MB | ~390 MB | ~530-650 MB | ~1,5 GB dữ liệu làm việc |
Hãy nâng cấp khi máy trung tâm bắt đầu cạn bộ nhớ hoặc dung lượng đĩa. Chỉ dựa vào số lượng máy chủ là một tiêu chí kém, vì độ phong phú của chuỗi dữ liệu, các collector đang bật, chu kỳ thu thập và thời gian lưu trữ đều làm thay đổi mức tiêu thụ. Với nhu cầu lưu trữ tập trung dài hạn, Prometheus hỗ trợ tích hợp lưu trữ từ xa. VictoriaMetrics là một lựa chọn tương thích với Prometheus.
Sự cố thường gặp
Bảy sự cố xuất hiện nhiều nhất, kèm cách khắc phục.
- Prometheus truy cập được từ internet công cộng. Một ánh xạ cổng trần trụi kiểu 9090:9090 sẽ phơi Prometheus ra cả thế giới. Cách khắc phục: giữ nguyên
--web.listen-address=127.0.0.1:9090trong lệnh của Prometheus như đã trình bày ở trên. Khi đó Prometheus chỉ lắng nghe trên giao diện loopback của máy chủ. - Nguồn dữ liệu Grafana không kết nối được tới Prometheus. Stack này dùng mạng của máy chủ, nên Grafana có thể tới Prometheus tại http://127.0.0.1:9090. Hãy kiểm tra Prometheus còn chạy và vẫn lắng nghe trên loopback.
- Bảng điều khiển Node Exporter hiện "No data". Có ba nguyên nhân thường gặp. (a) Prometheus không thu thập từ target. Hãy kiểm tra
/targets. (b) Nhãn job trong biến của bảng điều khiển không khớp vớijob_nametrong cấu hình scrape. (c) Tường lửa chặn cổng 9100 giữa máy trung tâm và target. - Mật khẩu quản trị Grafana vẫn là
admin/admintrên môi trường production. ĐặtGF_SECURITY_ADMIN_PASSWORDtừ tệp .env trước lần khởi chạy đầu tiên. Nếu bạn lỡ quên, hãy đổi mật khẩu ngay lần đăng nhập đầu và tắt chức năng tự đăng ký. - Caddy báo "ACME challenge failed". Bản ghi DNS A chưa lan truyền xong, hoặc cổng 80 đang bị chặn. Hãy chạy
ufw allow 80,443/tcp, chờ DNS lan truyền, rồi chạysudo systemctl reload caddy. Dùngdig +shortđể xác nhận đã lan truyền xong. - Ổ đĩa của Prometheus bị đầy. Nhãn có độ phong phú cao hoặc chu kỳ thu thập quá ngắn với nhiều máy chủ có thể làm đầy ổ đĩa rất nhanh. Hãy theo dõi
prometheus_tsdb_head_seriesvà dung lượng ổ đĩa. Cách giảm nhẹ: tắt các collector Node Exporter không dùng, kéo dàiscrape_intervallên 30s, hoặc rút ngắn thời gian lưu trữ. - Lỗi quyền khi dùng bind mount. Nếu bạn gắn một thư mục của máy chủ thay vì dùng named volume, UID của container (65534 với Prometheus, 472 với Grafana) phải có quyền ghi. Named volume, như trong tệp Compose ở trên, giúp tránh chuyện này.
Khi nào bộ này là quá thừa
Nếu bạn chỉ cần một cảnh báo khi một URL ngừng phản hồi, bộ này là quá thừa. Uptime Kuma là lựa chọn nhẹ hơn nhiều nếu bạn chỉ cần kiểm tra uptime cơ bản.
Câu hỏi thường gặp
Prometheus và Grafana khác nhau thế nào?
Prometheus là một cơ sở dữ liệu chuỗi thời gian: nó thu thập số liệu từ các target bạn cấu hình theo chu kỳ bạn đặt, lưu xuống đĩa và trả lời truy vấn PromQL. Grafana là lớp trực quan hóa, kết nối tới Prometheus (và nhiều nguồn dữ liệu khác) rồi vẽ ra các bảng điều khiển. Hầu như lúc nào bạn cũng cần cả hai: Prometheus để thu thập và lưu trữ, Grafana để hiển thị.
Bộ Prometheus + Grafana cần bao nhiêu RAM?
Một máy trung tâm giám sát chạy Prometheus, Grafana, Node Exporter và một reverse proxy trên cùng một VPS dùng khoảng 300 MB RAM khi rảnh, và 530 đến 650 MB khi thu thập tích cực từ năm máy chủ mỗi 15 giây.
Tôi có thể giám sát nhiều máy chủ bằng một Grafana duy nhất không?
Có. Mô hình chuẩn là trung tâm và vệ tinh. Một Prometheus duy nhất trên VPS trung tâm sẽ thu thập từ Node Exporter chạy trên mọi máy chủ khác mà bạn muốn theo dõi. Grafana trên máy trung tâm chỉ truy vấn đúng Prometheus đó. Bảng điều khiển Node Exporter Full (ID 1860) hỗ trợ biến instance, nên bạn chuyển qua lại giữa các máy chủ ngay trong một bảng.
Bảng điều khiển Grafana nào tốt nhất cho Node Exporter?
Với cấu hình này, Node Exporter Full (bảng điều khiển ID 1860 do rfmoz tạo) là lựa chọn mặc định rất tốt. Nó bao quát các số liệu máy chủ chính của Node Exporter và hỗ trợ biến job cùng instance để giám sát nhiều máy. Một số panel phụ thuộc vào các collector tùy chọn của Node Exporter, nên một panel trống không nhất thiết nghĩa là target thu thập bị hỏng.
Làm sao để mở Grafana qua HTTPS?
Chạy Grafana gắn với 127.0.0.1:3000 và đặt trước nó một reverse proxy lo phần HTTPS. Caddy là lựa chọn đơn giản nhất: một Caddyfile bốn dòng với reverse_proxy 127.0.0.1:3000 cùng một khối tên miền là đủ lo trọn gói, kể cả việc tự động quản lý chứng chỉ TLS.
Prometheus + Grafana có miễn phí cho mục đích thương mại không?
Prometheus được cấp phép theo Apache 2.0. Grafana OSS dùng AGPLv3. Việc dùng Grafana OSS chưa chỉnh sửa cho nội bộ và cho mục đích thương mại đều được phép, nhưng nếu bạn sửa đổi, phân phối, hoặc cung cấp bản đã sửa qua mạng thì có thể phát sinh nghĩa vụ chia sẻ mã nguồn theo AGPL. Grafana Enterprise và Grafana Cloud áp dụng điều khoản thương mại riêng.
Khi nào nên chuyển từ Prometheus sang VictoriaMetrics?
Hãy cân nhắc VictoriaMetrics khi thời gian lưu trữ dài hơn, độ phong phú chuỗi dữ liệu cao, hoặc việc có nhiều Prometheus khiến TSDB cục bộ của Prometheus khó vận hành trong ngân sách bộ nhớ và ổ đĩa của máy chủ bạn. VictoriaMetrics có thể nhận dữ liệu từ Prometheus và cung cấp API truy vấn tương thích Prometheus, nên dùng được làm nơi lưu trữ dài hạn hoặc làm backend số liệu cho Grafana. Hãy đo thử với chính khối lượng công việc của bạn, thay vì chuyển đổi ở một ngưỡng RAM cố định.
