Hướng dẫn cài đặt Prometheus và node_exporter

15 phút đọc - 29 tháng 5, 2026

hero section cover
Mục lục
  • Cài đặt giám sát máy chủ Prometheus và node_exporter
  • Cài đặt node_exporter
  • Chạy node_exporter dưới dạng dịch vụ systemd
  • Cấu hình Prometheus để thu thập dữ liệu từ node_exporter
  • Bảo mật hệ thống giám sát của bạn
  • Các phương pháp hay nhất về giám sát và các bước tiếp theo
  • Khắc phục sự cố
Chia sẻ

Cài đặt Prometheus và node_exporter, cấu hình các mục tiêu thu thập dữ liệu, thiết lập dịch vụ systemd và bảo mật hệ thống giám sát của bạn. Hướng dẫn từng bước cho Linux.

Cài đặt giám sát máy chủ Prometheus và node_exporter

Prometheus thu thập và lưu trữ các chỉ số thời gian thực. node_exporter cung cấp dữ liệu cấp hệ thống như sử dụng CPU, bộ nhớ và đĩa cho Prometheus thu thập. Hướng dẫn này bao gồm cài đặt cả hai, cấu hình mục tiêu thu thập, chạy node_exporter dưới dạng dịch vụ systemd và hạn chế quyền truy cập.

Cài đặt node_exporter

Tải xuống bản phát hành ổn định mới nhất từ trang phát hành chính thức trên GitHub. Tính đến tháng 5 năm 2026, đó là phiên bản 1.11.1. Thay thế amd64 bằng arm64 nếu cần.

wget https://github.com/prometheus/node_exporter/releases/download/v1.11.1/node_exporter-1.11.1.linux-amd64.tar.gz

Kiểm tra tổng kiểm tra SHA256 so với giá trị trên trang phát hành, sau đó giải nén và cài đặt:

tar -xzvf node_exporter-1.11.1.linux-amd64.tar.gz
sudo mv node_exporter-1.11.1.linux-amd64/node_exporter /usr/local/bin/

Tạo một người dùng hệ thống chuyên dụng không có thư mục home và không có vỏ đăng nhập:

sudo useradd --no-create-home --shell /bin/false node_exporter
sudo chown node_exporter:node_exporter /usr/local/bin/node_exporter

Kiểm tra bằng cách chạy /usr/local/bin/node_exporter trực tiếp, sau đó kiểm tra kết quả:

curl http://localhost:9100/metrics

Bạn sẽ thấy các dòng có tiền tố node_, bao gồm các chỉ số như node_cpu_seconds_totalnode_memory_MemAvailable_bytes. Theo mặc định, node_exporter hiển thị khoảng 500 chuỗi thời gian.

Chạy node_exporter dưới dạng dịch vụ systemd

Chạy node_exporter từ terminal là phù hợp để thử nghiệm, nhưng nó sẽ dừng khi bạn đóng phiên làm việc. Tạo một tệp unit tại /etc/systemd/system/node_exporter.service:

[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target
 
[Service]
User=node_exporter
Group=node_exporter
Type=simple
Restart=on-failure
RestartSec=5
ExecStart=/usr/local/bin/node_exporter
 
[Install]
WantedBy=multi-user.target

Kích hoạt và khởi động dịch vụ:

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

Xác nhận dịch vụ đang chạy bằng sudo systemctl status node_exporter. Kết quả hiển thị sẽ là active (running).

Nếu Prometheus chạy trên cùng một máy chủ, hãy giới hạn kết nối của node_exporter chỉ với localhost bằng cách thay đổi dòng ExecStart dòng:

ExecStart=/usr/local/bin/node_exporter --web.listen-address="127.0.0.1:9100"

Cấu hình Prometheus để thu thập dữ liệu từ node_exporter

Mở /etc/prometheus/prometheus.yml và thêm một tác vụ dưới scrape_configs:

scrape_configs:
  - job_name: 'node_exporter'
    scrape_interval: 15s
    static_configs:
      - targets: ['localhost:9100']
        labels:
          env: 'production'

Thẻ job_name xác định nguồn trong các truy vấn và bảng điều khiển. targets chỉ đến máy chủ và cổng mà node_exporter đang lắng nghe. Các nhãn như env giúp bạn lọc các chỉ số sau này.

Kiểm tra cấu hình trước khi khởi động lại:

promtool check config /etc/prometheus/prometheus.yml

Nếu thành công, hãy tải lại Prometheus mà không gây gián đoạn:

sudo systemctl reload prometheus

Mở http://<your-prometheus-ip>:9090, chuyển đến Status > Targets và kiểm tra xem tác vụ node_exporter có hiển thị trạng thái UP màu xanh lá cây hay không. Chạy một truy vấn nhanh như node_cpu_seconds_total trong Trình duyệt biểu thức để xác nhận dữ liệu đang được truyền.

Bảo mật hệ thống giám sát của bạn

Không bao giờ để cổng 9090 hoặc 9100 tiếp xúc với internet công cộng. Trên Ubuntu/Debian, hãy hạn chế quyền truy cập của node_exporter vào IP máy chủ Prometheus của bạn:

sudo ufw allow from <prometheus-ip> to any port 9100

Trên CentOS/RHEL với firewalld:

firewall-cmd --permanent --add-port=9100/tcp

Đối với giao diện người dùng web Prometheus, hãy đặt nó phía sau một proxy ngược như Nginx với xác thực cơ bản và TLS. Một VPN lưới như Tailscale là một lựa chọn khác nếu bạn cần truy cập từ nhiều vị trí mà không cần mở cổng trực tiếp.

Các phương pháp hay nhất về giám sát và các bước tiếp theo

Sử dụng node_memory_MemAvailable_bytes thay vì MemFree cho các cảnh báo về bộ nhớ. MemAvailable để tính toán bộ đệm và bộ nhớ cache, từ đó cung cấp bức tranh chính xác hơn về dung lượng thực sự còn trống.

Vô hiệu hóa các bộ thu thập dữ liệu mà bạn không cần (wifi, nfs, bcache) bằng cờ --no-collector.<name> cờ để giảm nhiễu.

Đối với cảnh báo dung lượng đĩa, hàm predict_linear hàm PromQL cho phép bạn dự báo khi nào một khối lượng sẽ đầy dựa trên xu hướng hiện tại. Đặt khoảng thời gian dự báo 7 ngày sẽ phát hiện các rò rỉ chậm trước khi chúng trở thành sự cố ngừng hoạt động.

Để giám sát nhiều máy chủ, hãy cài đặt node_exporter trên mỗi máy và thêm địa chỉ IP của chúng vào targets danh sách trong prometheus.yml. Đối với các môi trường lớn hơn, hãy chuyển sang phát hiện dịch vụ dựa trên tệp thay vì mã hóa cứng các địa chỉ IP.

Thêm Grafana sẽ cung cấp cho bạn các bảng điều khiển trực quan. Bảng điều khiển Node Exporter Full (ID 1860) là một điểm khởi đầu tốt. Alertmanager chuyển các cảnh báo quan trọng đến Slack, email hoặc PagerDuty.

Các gói máy chủ chuyên dụng và VPS của FDC hỗ trợ Prometheus và node_exporter ngay từ đầu. Xem các tùy chọn máy chủ chuyên dụng của FDC.

Khắc phục sự cố

Vấn đềNguyên nhân có thểLệnh kiểm tra
Dịch vụ không khởi động đượcĐường dẫn tệp nhị phân hoặc quyền truy cập không đúngjournalctl -u node_exporter -xe
Không thể truy cập các chỉ sốTường lửa chặn cổng 9100 hoặc địa chỉ bind saiss -lntp | grep 9100
Mục tiêu không hoạt động trong PrometheusVấn đề mạng hoặc địa chỉ IP mục tiêu sai trong tệp prometheus.ymlcurl -I http://<target-ip>:9100/metrics
Thiếu các chỉ số cụ thểTrình thu thập bị tắt theo mặc địnhnode_exporter --help

Blog

Nổi bật trong tuần

Các bài viết khác
Hướng dẫn cài đặt Prometheus và node_exporter

Hướng dẫn cài đặt Prometheus và node_exporter

Cài đặt Prometheus và node_exporter, cấu hình các mục tiêu thu thập dữ liệu, thiết lập dịch vụ systemd và bảo mật hệ thống giám sát của bạn. Hướng dẫn từng bước cho Linux.

15 phút đọc - 29 tháng 5, 2026

XDP và eBPF cho xử lý gói tin trên Linux

14 phút đọc - 27 tháng 5, 2026

Các bài viết khác
background image

Bạn có thắc mắc hoặc cần giải pháp tùy chỉnh?

icon

Các tùy chọn linh hoạt

icon

Phạm vi toàn cầu

icon

Triển khai ngay lập tức

icon

Các tùy chọn linh hoạt

icon

Phạm vi toàn cầu

icon

Triển khai ngay lập tức