Chuyển đến nội dung chính
Giảm 50% tất cả các gói, có thời hạn. Khởi điểm từ $2.48/mo
14 min left
Công cụ lập trình và DevOps

Thiết lập bộ giám sát Grafana + Prometheus trên VPS của bạn (hướng dẫn Docker Compose)

C Bởi Chike 14 phút đọc
Prometheus and Grafana monitoring stack illustration: a central dashboard panel showing Prometheus and Grafana logos over metric graphs, with three server nodes feeding metrics into it

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ì

Diagram of monitoring traffic boundaries: ports 80 and 443 are public, Grafana on 3000, Prometheus on 9090 and Node Exporter on 9100 stay on loopback, and a remote Node Exporter on 10.10.0.2:9100 is reachable only over the private network

Đâ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.

Triển khai VPS Ubuntu

Khởi chạy VPS Ubuntu ngay lập tức với quyền root và bộ nhớ NVMe.

Triển khai VPS Ubuntu

Bướ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:9090 khiế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-lifecycle bật POST /-/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=/host cung 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=false ngă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 GrafanaPrometheus . 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:

  1. 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ó.
  2. 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

Observed five-host baseline from the April 2026 test: Prometheus 250 to 350 MB, Grafana 200 MB, Caddy 40 MB, hub Node Exporter 15 to 20 MB, total hub 530 to 650 MB RAM on a 2 GB VPS with a 1.5 GB fifteen-day working set

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ầnRAM khi rảnhRAM 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 MBkhông áp dụngkhông đáng kể
Caddy~30 MB~40 MB~40 MBkhô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.

  1. 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:9090 trong 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ủ.
  2. 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.
  3. 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ới job_name trong cấu hình scrape. (c) Tường lửa chặn cổng 9100 giữa máy trung tâm và target.
  4. Mật khẩu quản trị Grafana vẫn là admin/admin trên môi trường production. Đặt GF_SECURITY_ADMIN_PASSWORD từ 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ý.
  5. 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ạy sudo systemctl reload caddy. Dùng dig +short để xác nhận đã lan truyền xong.
  6. Ổ đĩ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_series và dung lượng ổ đĩa. Cách giảm nhẹ: tắt các collector Node Exporter không dùng, kéo dài scrape_interval lên 30s, hoặc rút ngắn thời gian lưu trữ.
  7. 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.

Chia sẻ

Thêm bài viết từ blog

Tiếp tục đọc.

Sẵn sàng triển khai? Từ $2.48/tháng.

Cloud độc lập, từ 2008. AMD EPYC, NVMe, 40 Gbps. Hoàn tiền trong 14 ngày.