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à […]
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.
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 TCP9100(dành cho Node Exporter).
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

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ệ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-*

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

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.

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.

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-*


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

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:

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"]

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.

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.


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

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.

Để 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"}

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



