Hướng dẫn cấu hình Prometheus thu thập metric trên CentOS7

28/10/2021

Hướng dẫn sử dụng Prometheus và Node Exporter giám sát các thông số cơ bản như: uptime, cpu, ram,… cho các host CentOS 7. Trên các host cần cấu hình Node exporter để thu thập metric, sau đó Prometheus server thu thập metric về lưu trữ.

1. Mô hình

2. IP planning

3. Cài đặt và cấu hình

3.1 Thực hiện trên Node 1

Bước 1: Tạo user cho prometheus

useradd --no-create-home --shell /bin/false node_exporter

Bước 2: Tải source code

cd /opt
wget https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz

tar xvf node_exporter-0.18.1.linux-amd64.tar.gz

cp node_exporter-0.18.1.linux-amd64/node_exporter /usr/local/bin
chown node_exporter:node_exporter /usr/local/bin/node_exporter

rm -rf node_exporter-0.18.1.linux-amd64*
cd -

Bước 3: Chạy exporter dưới systemd

cat <<EOF >  /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
ExecStart=/usr/local/bin/node_exporter

[Install]
WantedBy=multi-user.target
EOF

Khởi động service:

systemctl daemon-reload
systemctl start node_exporter
systemctl enable node_exporter

Truy cập vào đường dẫn sau để thấy các metric thu thập được trên node 1: http://172.16.72.173:9100/metrics

Trên giao diện web sẽ hiện thị metric dạng như sau:

3.2 Cấu hình trên Prometheus server

Yêu cầu: cần hoàn thành việc cài đặt ở phần 1

Bước 4: Add thêm jobs vào node Prometheus server

Thêm cấu hình của node exporter mới cài đặt vào file /etc/prometheus/prometheus.yml như sau:

global:
  scrape_interval: 15s

scrape_configs:
  - job_name: 'prometheus'
    scrape_interval: 5s
    static_configs:
      - targets: ['localhost:9090']
  - job_name: 'node_1'
    scrape_interval: 5s
    static_configs:
      - targets: ['172.16.72.173:9100']

Prometheus server sẽ thưc hiện scrape metric từ Node 1 mỗi 5s một lần (nếu muốn thay đổi scrape interval thì thay đổi tham số scrape_interval bên trong mỗi jobs, nếu mỗi job không chỉ định tham số này thì sẽ sử dụng theo tham số trong phần global.

Khởi động lại service:

systemctl restart prometheus

Các metric sẽ được thu thập và lưu lại trên Prometheus server. Giờ ta có thể thực hiện query tới các node exporter từ Prometheus server.

Truy cập http://172.16.72.171:9090/graph để thực hiện query metrics thu thập được

Ví dụ:

Prometheus server đã thực hiện scrape và lưu trữ metrics thành công metric từ Node CentOS7. Bài tiếp theo tôi sẽ hướng dẫn scrape metrics trên các node Windows.

ONET IDC thành lập vào năm 2012, là công ty chuyên nghiệp tại Việt Nam trong lĩnh vực cung cấp dịch vụ Hosting, VPS, máy chủ vật lý, dịch vụ Firewall Anti DDoS, SSL… Với 10 năm xây dựng và phát triển, ứng dụng nhiều công nghệ hiện đại, ONET IDC đã giúp hàng ngàn khách hàng tin tưởng lựa chọn, mang lại sự ổn định tuyệt đối cho website của khách hàng để thúc đẩy việc kinh doanh đạt được hiệu quả và thành công.
Bài viết liên quan

CentOS Versus Ubuntu

Your server needs a stable operating system that you can depend on, and both CentOS and Ubuntu are popular choices that...
29/12/2020

Openstack Kolla [Phần 3] Hướng dẫn tạo máy ảo trên cụm Openstack

Tiếp tục với series hướng dẫn vài đặt OpenStack bằng Kolla Ansible. Ở bài viết những bài viết...
30/12/2020

Hướng dẫn cấu hình Prometheus thu thập metric trên CentOS7

Hướng dẫn sử dụng Prometheus và Node Exporter giám sát các thông số cơ bản như: uptime, cpu, ram,…...
28/10/2021