Fast Byte - Thuê VPS Giá Rẻ
Hướng dẫn chung

Cách Cài Đặt Prometheus Trên Ubuntu 24.04 Cực Dễ Hiểu, Chi Tiết Từ A-Z

Hướng dẫn cài đặt Prometheus trên Ubuntu 24.04 chi tiết từ A-Z giúp bạn nhanh chóng làm chủ công cụ giám sát mã nguồn mở hàng đầu cho hệ thống máy chủ và ứng dụng phân tán. Tình trạng server thường xuyên nghẽn tài nguyên CPU, tràn bộ nhớ RAM hay chậm phản hồi mà […]

Ảnh đại diện Thanh Lam NguyễnThanh Lam Nguyễn16 phút đọc

Hướng dẫn cài đặt Prometheus trên Ubuntu 24.04 chi tiết từ A-Z giúp bạn nhanh chóng làm chủ công cụ giám sát mã nguồn mở hàng đầu cho hệ thống máy chủ và ứng dụng phân tán. Tình trạng server thường xuyên nghẽn tài nguyên CPU, tràn bộ nhớ RAM hay chậm phản hồi mà không rõ nguyên nhân luôn là nỗi ám ảnh lớn của mọi quản trị viên. Bài viết này sẽ hướng dẫn bạn từng bước cấu hình Prometheus, tích hợp Node Exporter và truy vấn số liệu phần cứng theo thời gian thực chuẩn xác nhất trên Ubuntu 24.04. Để xây dựng hạ tầng theo dõi độc lập, ổn định với chi phí tối ưu, hãy tham khảo ngay các gói máy chủ ảo tại ThueVPSGiaRe.vn.

1. Tổng quan về Prometheus và vai trò trong hệ thống giám sát

Prometheus là gì và vì sao lại trở thành tiêu chuẩn trong quản trị hạ tầng hiện đại? Prometheus là nền tảng mã nguồn mở chuyên thu thập dữ liệu chuỗi thời gian (time-series metrics) và kích hoạt cảnh báo tự động, được bảo trợ bởi Cloud Native Computing Foundation (CNCF) theo giấy phép Apache 2.0. Đây là công cụ trung tâm giúp kỹ sư DevOps kiểm soát toàn diện trạng thái máy chủ, container và ứng dụng phân tán.

Trong môi trường công nghệ phức tạp ngày nay, Prometheus đóng vai trò như một đài quan sát đa năng. Phần mềm có khả năng theo dõi sức khỏe từng node, tính toán lưu lượng yêu cầu (request rate), độ trễ (latency), cũng như tần suất lỗi của các dịch vụ chạy nền.

Đặc biệt, thông qua việc sử dụng các agent chuyên biệt như Node Exporter, quản trị viên dễ dàng đo lường chính xác các thông số phần cứng từ mức hệ điều hành máy chủ Linux như dung lượng RAM, mức sử dụng CPU hay chỉ số Disk I/O. Đối với hạ tầng Docker hay cụm Kubernetes, Prometheus cung cấp năng lực giám sát sâu tới từng pod, node và mạng dịch vụ mà không làm ảnh hưởng đến hiệu suất vận hành chung.

2. Các tính năng cốt lõi làm nên sức mạnh của Prometheus

Sự ưa chuộng dành cho Prometheus xuất phát từ thiết kế kiến trúc thông minh, giải quyết triệt để các hạn chế của những giải pháp giám sát truyền thống. Nền tảng sở hữu 5 đặc tính công nghệ cốt lõi:

  • Giao diện bảng điều khiển trực quan: Prometheus tích hợp sẵn Web UI gọn gàng, cho phép nhập truy vấn, xem biểu đồ chỉ số nhanh và quản lý mục tiêu thu thập. Hệ thống cũng cung cấp chuẩn HTTP API linh hoạt để dễ dàng kết nối tới các công cụ dựng dashboard nâng cao như Grafana.
  • Ngôn ngữ truy vấn mạnh mẽ (PromQL): Đây là điểm mạnh vượt trội của Prometheus. PromQL cho phép người dùng lọc, cắt lát số liệu đa chiều và thực hiện các phép toán phức tạp (như SUM, AVG, MAX, RATE) trên dữ liệu chuỗi thời gian một cách nhanh chóng.
  • Cơ chế kéo dữ liệu (Pull-based architecture): Khác với các hệ thống bắt buộc client phải “push” dữ liệu lên máy chủ gây tắc nghẽn, Prometheus chủ động định kỳ “pull” (cào dữ liệu) từ các HTTP endpoint của ứng dụng mục tiêu. Mô hình này giúp kiểm soát luồng dữ liệu chặt chẽ và thuận tiện gỡ lỗi.
  • Hệ sinh thái Exporter phong phú: Thông qua các agent Exporter trung gian, Prometheus có thể chuẩn hóa dữ liệu từ bất kỳ nguồn nào thành định dạng số liệu chuẩn. Các hệ cơ sở dữ liệu lớn như MySQL, PostgreSQL hay API bên ngoài đều có thể được giám sát đồng bộ.
  • Bộ cảnh báo Alertmanager: Cho phép định nghĩa quy tắc ngưỡng cảnh báo và gửi thông báo linh hoạt đến nhiều kênh quản trị quen thuộc như Email hoặc Slack ngay khi hệ thống có dấu hiệu bất thường.

Thuê VPS giá rẻ

CPU Intel Gold, SSD NVMe U.2, giá từ 50K/tháng

Máy chủ riêng biệt cho trung tâm giám sát Prometheus

Dịch vụ máy chủ ảo tại Fast Byte cung cấp tài nguyên độc lập với chi phí tối ưu, giúp bạn dễ dàng tách riêng máy chủ theo dõi khỏi hạ tầng ứng dụng chính mà không lo ngốn tài nguyên hay phát sinh chi phí đắt đỏ.

Tham khảo VPS giá rẻ 50K

3. Điều kiện tiên quyết trước khi cài đặt Prometheus trên Ubuntu 24.04 LTS

Để quá trình thiết lập diễn ra suôn sẻ, hệ thống của bạn cần đáp ứng các tiêu chuẩn kỹ thuật căn bản sau:

  • Hệ điều hành: Một máy chủ mới được triển khai chạy hệ điều hành Ubuntu 24.04 LTS (nếu đang dùng bản cũ hơn, bạn có thể tham khảo phương pháp nâng cấp phiên bản Ubuntu phù hợp trước khi thực hiện).
  • Quyền thực thi: Một tài khoản người dùng có quyền quản trị tối cao với lệnh sudo. Việc nắm vững nguyên tắc sử dụng quyền root là rất quan trọng để đảm bảo an toàn phân quyền trong hệ thống Linux.
  • Mở cổng mạng: Đảm bảo tường lửa không chặn cổng TCP 9090 (dành cho Prometheus Server) và cổng TCP 9100 (dành cho Node Exporter).

Thuê VPS giá rẻ

CPU Intel Gold, SSD NVMe U.2, giá từ 50K/tháng

Một VPS Ubuntu 24.04 mới để chạy Prometheus

Prometheus chạy dưới dạng systemd service với mức tiêu thụ tài nguyên nhẹ, nhưng bạn vẫn cần một instance Ubuntu 24.04 sạch và có quyền sudo để thao tác toàn bộ quy trình cài đặt bên dưới. Một chiếc VPS với chi phí dễ tiếp cận sẽ giúp bạn xây dựng hệ thống giám sát mà không lo vượt ngân sách.

Tham khảo VPS giá rẻ

4. Từng bước cài đặt Prometheus trên máy chủ Ubuntu 24.04 LTS

Dưới đây là chuỗi thao tác tiêu chuẩn để thiết lập Prometheus chạy dưới dạng một dịch vụ hệ thống (systemd service) an toàn và ổn định.

Bước 1: Cập nhật gói phần mềm hệ điều hành

Trước hết, hãy kết nối vào máy chủ và đồng bộ danh mục gói phần mềm lên phiên bản mới nhất bằng lệnh quản lý package tiêu chuẩn:

sudo apt update
Cập nhật gói phần mềm hệ điều hành
Cập nhật gói phần mềm hệ điều hành

Bước 2: Tạo nhóm và người dùng hệ thống chuyên dụng cho Prometheus

Sau khi cài đặt, Prometheus sẽ chạy dưới dạng một systemd service. Thực hành tốt nhất khuyến nghị tạo một user và group riêng, không có đặc quyền, dành riêng cho Prometheus. Việc này áp dụng nguyên tắc đặc quyền tối thiểu (least privilege), giới hạn phạm vi bị xâm phạm trong trường hợp xảy ra sự cố bảo mật.

Việc không chạy Prometheus với quyền root sẽ giảm đáng kể bề mặt tấn công – đây cũng là một trong những nguyên tắc nền tảng khi bảo mật VPS.

Trước tiên, tạo một group riêng có tên prometheus:

sudo groupadd --system prometheus

Tiếp theo, tạo một system user không đăng nhập cũng có tên prometheus và thêm user này vào group prometheus:

sudo useradd -s /sbin/nologin --system -g prometheus prometheus

Bước 3: Khởi tạo các thư mục lưu trữ cấu hình và cơ sở dữ liệu

Prometheus cần nơi chứa tệp thiết lập và khu vực riêng để lưu cơ sở dữ liệu chuỗi thời gian (TSDB). Hãy tạo hai thư mục tương ứng:

sudo mkdir /etc/prometheus
sudo mkdir /var/lib/prometheus

Bước 4: Tải về và giải nén gói cài đặt Prometheus

Khi tất cả các thư mục đã sẵn sàng, đã đến lúc tải file cài đặt Prometheus. Trong hướng dẫn này, chúng ta sẽ tải phiên bản ổn định Prometheus 2.55.1 trực tiếp từ kho lưu trữ GitHub chính thức bằng lệnh wget trong Linux:

wget https://github.com/prometheus/prometheus/releases/download/v2.55.1/prometheus-2.55.1.linux-amd64.tar.gz
tải phiên bản Prometheus
Tải phiên bản Prometheus

Tệp lưu trữ có dung lượng khoảng 107 MB. Sau khi quá trình tải hoàn tất, thực hiện giải nén kho lưu trữ:

tar xvf prometheus-2.55.1.linux-*
giải nén kho lưu trữ
Giải nén kho lưu trữ

Bước 5: Cấu hình tệp thực thi, thư viện và phân quyền tệp tin

Để đưa phần mềm vào vị trí vận hành chuẩn trên hệ thống tệp tin Linux, bạn cần di chuyển hai binary prometheus và promtool từ thư mục Prometheus sang thư mục /usr/local/bin. Thực hiện bằng các lệnh:

sudo mv prometheus-2.55.1.linux-amd64/prometheus /usr/local/bin/
sudo mv prometheus-2.55.1.linux-amd64/promtool /usr/local/bin/

Chuyển quyền sở hữu các file nhị phân này cho user prometheus:

sudo chown -R prometheus:prometheus /usr/local/bin/prometheus
sudo chown -R prometheus:prometheus /usr/local/bin/promtool

Tiếp theo, sao chép các thư mục giao diện consoles, console_libraries và tệp cấu hình mặc định prometheus.yml vào thư mục /etc/prometheus:

sudo mv prometheus-2.55.1.linux-amd64/consoles /etc/prometheus
sudo mv prometheus-2.55.1.linux-amd64/console_libraries /etc/prometheus
sudo mv prometheus-2.55.1.linux-amd64/prometheus.yml /etc/prometheus

Áp dụng phân quyền sở hữu cho toàn bộ cây thư mục cấu hình và dữ liệu:

sudo chown -R prometheus:prometheus /etc/prometheus
sudo chown -R prometheus:prometheus /var/lib/prometheus

Bước 6: Thiết lập dịch vụ Systemd và khởi động Prometheus

Nhằm đảm bảo Prometheus tự động khởi chạy khi máy chủ reboot và chạy ngầm liên tục, chúng ta khởi tạo một tệp quản lý service mới bằng trình soạn thảo nano:

sudo nano /etc/systemd/system/prometheus.service

Dán toàn bộ nội dung sau vào tệp cấu hình:

[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target

[Service]
User=prometheus
Group=prometheus
Type=simple
Restart=on-failure
RestartSec=5s
ExecStart=/usr/local/bin/prometheus \
    --config.file /etc/prometheus/prometheus.yml \
    --storage.tsdb.path /var/lib/prometheus/ \
    --web.console.templates=/etc/prometheus/consoles \
    --web.console.libraries=/etc/prometheus/console_libraries \
    --web.listen-address=0.0.0.0:9090 \
    --web.enable-lifecycle \
    --log.level=info

[Install]
WantedBy=multi-user.target

Lưu tệp (nhấn tổ hợp phím Ctrl + O, Enter rồi Ctrl + X để thoát). Sau đó nạp lại cấu hình systemd, bật dịch vụ tự khởi động cùng máy và tiến hành kích hoạt Prometheus:

sudo systemctl daemon-reload
sudo systemctl enable prometheus
sudo systemctl start prometheus

Kiểm tra trạng thái hoạt động thực tế của service:

sudo systemctl status prometheus

Nếu màn hình hiển thị dòng thông báo Active: active (running) màu xanh, dịch vụ Prometheus của bạn đã đi vào hoạt động ổn định.

prometheus.service - Prometheus
Loaded: loaded (/etc/systemd/system/prometheus.service; enabled; preset: enabled)
Active: active (running) since Wed 2026-01-14 10:49:30 UTC; 3h 59min ago
Main PID: 7976 (prometheus)
Tasks: 8 (limit: 4602)
Memory: 50.9M (peak: 61.9M)
CPU: 17.357s
CGroup: /system.slice/prometheus.service

Nếu hiện tại dịch vụ chưa chạy, cần xem lý do systemd không khởi chạy được trước khi sửa, tránh cấu hình sai thêm. Chạy lệnh sau:

sudo systemctl start prometheus
sudo systemctl status prometheus --no-pager -l
Kiểm tra trạng thái hoạt động thực tế của service
Kiểm tra trạng thái hoạt động thực tế của service

Bước 7: Truy cập giao diện điều khiển qua trình duyệt

Mở trình duyệt web của bạn và truy cập theo đường dẫn http://<IP-Server-Cua-Ban>:9090.

Truy cập Prometheus
Truy cập Prometheus

Tại giao diện chính của Prometheus, bạn có thể chuyển hướng đến thanh menu Status > Targets để quan sát các mục tiêu đang thu thập. Ban đầu, hệ thống chỉ hiển thị duy nhất một endpoint giám sát chính tiến trình nội bộ của Prometheus tại http://localhost:9090/metrics.

chuyển hướng đến thanh menu Status - Targets
Chuyển hướng đến thanh menu Status – Targets

5. Thiết lập Node Exporter để thu thập thông số phần cứng

Bản thân Prometheus Server chỉ là một cỗ máy gom số liệu và phân tích. Để đọc được các dữ liệu chi tiết của hệ điều hành và phần cứng như mức tiêu thụ CPU, dung lượng đĩa và RAM trên máy chủ Ubuntu, chúng ta cần cài đặt thêm Node Exporter.

Cài đặt binary Node Exporter

Tải về gói Node Exporter phiên bản v1.10.2 (bản chính thức mới nhất cho Linux amd64) và giải nén tệp tarball:

wget https://github.com/prometheus/node_exporter/releases/download/v1.10.2/node_exporter-1.10.2.linux-amd64.tar.gz
tar -xvf node_exporter-*
Tải về gói Node Exporter
Tải về gói Node Exporter
giải nén tệp tarball
Giải nén tệp tarball

Chuyển tệp binary vào thư mục binary dùng chung của hệ thống:

sudo mv node_exporter-1.10.2.linux-amd64/node_exporter /usr/local/bin/

Bạn có thể kiểm tra nhanh phiên bản vừa cài qua lệnh:

node_exporter --version
kiểm tra nhanh phiên bản vừa cài
Kiểm tra nhanh phiên bản vừa cài

Tạo tài khoản và cấu hình Systemd cho Node Exporter

Tạo người dùng riêng không có quyền đăng nhập để chạy tiến trình:

sudo useradd -rs /bin/false node_exporter

Tạo tệp service /etc/systemd/system/node_exporter.service tự động:

sudo tee /etc/systemd/system/node_exporter.service > /dev/null <<EOF
[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target

[Service]
User=node_exporter
ExecStart=/usr/local/bin/node_exporter

[Install]
WantedBy=default.target
EOF

Nạp lại systemd, kích hoạt tự động chạy và khởi động tiến trình:

sudo systemctl daemon-reload
sudo systemctl enable node_exporter
sudo systemctl start node_exporter

Kiểm tra xem Node Exporter đã lắng nghe thành công hay chưa:

sudo systemctl status node_exporter

Đầu ra sau khi thiết lập thành công:

Node Exporter đã lắng nghe thành công
Node Exporter đã lắng nghe thành công

Khai báo mục tiêu Node Exporter vào cấu hình Prometheus

Bây giờ, hãy yêu cầu Prometheus định kỳ thu thập chỉ số từ Node Exporter. Mở tệp thiết lập prometheus.yml:

sudo nano /etc/prometheus/prometheus.yml

Tại phần cấu hình scrape_configs, bên dưới job prometheus mặc định, hãy thêm job cho node_exporter lắng nghe ở cổng 9100 như sau:

    - job_name: "node_exporter"
      static_configs:
        - targets: ["localhost:9100"]
thêm job cho node_exporter lắng nghe ở cổng 9100
Thêm job cho node_exporter lắng nghe ở cổng 9100

Lưu tệp cấu hình bằng Ctrl+ O -> Enter -> Ctrl+ X và khởi động lại dịch vụ Prometheus để nhận diện chỉ mục mới:

sudo systemctl restart prometheus

Khi bạn quay lại trình duyệt và làm mới mục Status > Targets, bạn sẽ thấy xuất hiện thêm mục node_exporter với trạng thái xanh UP.

thêm mục node_exporter với trạng thái xanh UP
Thêm mục node_exporter với trạng thái xanh UP

6. Hướng dẫn truy vấn số liệu thực tế qua giao diện PromQL

Để truy vấn metrics, quay trở lại trang chủ – ở phía trên, bạn sẽ thấy một ô nhập biểu thức (expression input box) chấp nhận các truy vấn PromQL. Cách truy vấn đơn giản nhất là gõ tên một metric, và Prometheus sẽ tự động gợi ý các tên metric để bạn chọn.

Ví dụ, nếu bạn tìm kiếm up, bạn sẽ nhận được một danh sách thả xuống gồm các tên metric khả dụng. Trong ví dụ này, chúng ta sẽ chọn node_network_up – metric cung cấp thông số uptime của node.

danh sách thả xuống gồm các tên metric khả dụng
Danh sách thả xuống gồm các tên metric khả dụng
chọn node_network_up – metric cung cấp thông số uptime của node
Chọn node_network_up – metric cung cấp thông số uptime của node

Tiếp theo, nhấn Execute và chọn nút Graph. Thao tác này sẽ hiển thị dữ liệu chuỗi thời gian về uptime của node: giá trị 1 cho thấy node đang hoạt động khỏe mạnh, còn 0 nghĩa là node đã dừng.

Chế độ xem Kết quả hiển thị
Graph Dữ liệu time-series dạng đồ thị. Giá trị 1 = node khỏe mạnh, 0 = node dừng hoạt động.
Table Truy vấn PromQL đã chọn. Tại đây bạn sẽ thấy truy vấn cho cả hai network interface: ens4 và địa chỉ loopback lo.
truy vấn cho cả hai network interface
Truy vấn cho cả hai network interface

Bạn có thể sao chép và chạy truy vấn trong ô thực thi (execution box) để thu được cùng kết quả hiển thị như trên.

sao chép và chạy truy vấn trong ô thực thi
Sao chép và chạy truy vấn trong ô thực thi

Để kiểm tra dung lượng bộ nhớ trống (free memory) trên node của bạn, hãy sử dụng truy vấn sau:

node_memory_MemFree_bytes{instance="localhost:9100", job="node_exporter"}
kiểm tra dung lượng bộ nhớ trống
Kiểm tra dung lượng bộ nhớ trống

Đó chỉ là một vài ví dụ cơ bản. Có rất nhiều metrics mà bạn có thể truy vấn ngay từ giao diện Prometheus. Thậm chí tốt hơn nữa, bạn có thể cấu hình Prometheus để làm việc cùng Grafana nhằm có đồ thị và hình ảnh trực quan hóa metrics được nâng cao và trực quan hơn.

Ngoài PromQL, nếu muốn xem nhanh tài nguyên hệ thống theo thời gian thực, bạn cũng có thể tham khảo cách dùng lệnh htop như một giải pháp bổ trợ đơn giản ngay trên terminal.

7. Câu hỏi thường gặp khi triển khai Prometheus (FAQ)

1. Cần chuẩn bị cấu hình máy chủ VPS thế nào để chạy Prometheus ổn định?

Tài nguyên tiêu thụ của Prometheus phụ thuộc vào số lượng metrics cào mỗi giây và thời gian lưu giữ dữ liệu. Với các hệ thống nhỏ (dưới 10 node), một máy chủ VPS từ 2GB đến 4GB RAM kèm ổ SSD tốc độ cao là đã đủ đáp ứng mượt mà. Trong quá trình vận hành, bạn có thể tham khảo các lệnh kiểm tra cấu hình VPS để giám sát mức độ sử dụng tài nguyên của chính tiến trình này.

2. Không truy cập được vào cổng 9090 trên trình duyệt sau khi cài đặt thì xử lý thế nào?

Lỗi phổ biến nhất là do tường lửa hệ điều hành chưa mở port. Nếu máy chủ Ubuntu của bạn đang bật tường lửa mặc định, bạn chỉ cần thiết lập tường lửa UFW trên Ubuntu để cho phép lưu lượng truy cập qua lệnh sudo ufw allow 9090/tcp và sudo ufw allow 9100/tcp.

3. Ngoài Prometheus, còn có những công cụ giám sát website và server nào khác?

Tùy vào nhu cầu thực tế, bạn có thể cân nhắc các hệ sinh thái như Zabbix, Nagios hoặc Datadog. Để có cái nhìn đa chiều hơn trước khi quyết định hạ tầng, bạn có thể xem thêm tổng hợp các công cụ monitoring website phổ biến nhất hiện nay.

Lời kết

Tổng kết lại, bài viết hướng dẫn cài đặt Prometheus trên Ubuntu 24.04 trên đây đã cung cấp lộ trình từng bước rõ ràng, từ khâu tạo user bảo mật, thiết lập file dịch vụ systemd cho đến việc tích hợp Node Exporter và thực thi câu lệnh PromQL cơ bản. Nắm vững công cụ quan sát này sẽ giúp bạn chủ động phát hiện sớm mọi dấu hiệu suy giảm hiệu năng trước khi chúng gây hại cho người dùng cuối. Hãy bắt tay vào dựng thử nghiệm một node giám sát ngay hôm nay để làm chủ toàn diện hệ sinh thái máy chủ của riêng bạn.

Cần một VPS giá rẻ để bắt đầu?

Chọn cấu hình vừa đủ nhu cầu, ưu tiên chi phí dễ tiếp cận và khả năng quản trị riêng.

Xem bảng giá VPS

Nội dung trên đây được tổng hợp cho mục đích tham khảo kỹ thuật. Các dòng lệnh, đường dẫn tệp tin và thông số phiên bản có thể thay đổi tùy theo bản phân phối thực tế của hệ điều hành và chính sách cập nhật của nhà phát triển. Người quản trị luôn được khuyến nghị chạy thử nghiệm trên môi trường staging, có phương án sao lưu dữ liệu dự phòng trước khi áp dụng chính thức vào các cụm máy chủ production.

Chia sẻ: Facebook LinkedIn
Quay lại trang blog

Bài viết liên quan