![](https://static.wixstatic.com/media/68165d_8d21e73592c5403294c1a02c40b3ba80~mv2.png/v1/fill/w_980,h_464,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/68165d_8d21e73592c5403294c1a02c40b3ba80~mv2.png)
Trong bài Hướng dẫn cài Prometheus + Grafana mình đã hướng dẫn các bạn cách cài đặt Prometheus + Grafana trên cùng một server (mình sẽ gọi tắt là Prometheus Server). Ở bài này mình sẽ hướng dẫn làm thế nào để chúng ta có thể monitor được một server Ubuntu bất kỳ bằng Prometheus Server.
Trên server cần monitor
Để Prometheus Server có thể collect được metric từ một server khác thì server đó phải cài Node Exporter.
Tạo user và group chạy dịch vụ node exporter
Để chạy dịch vụ Node Exporter an toàn, chúng ta sẽ tạo một user và group để chạy dịch vụ này.
# sudo useradd -M -r -s /bin/false node_exporter
Tải và cài đặt Node Exporter
Các bạn có thể truy cập link sau để chọn tải các phiên bản phù hợp: https://github.com/prometheus/node_exporter/releases
Ở đây server của mình là Ubuntu 18.04 nên mình tải gói có đuôi amd64
# cd Downloads
# sudo tar xzf node_exporter-0.18.1.linux-amd64.tar.gz
# sudo rm -r node_exporter-0.18.1.linux-amd64.tar.gz
# cd node_exporter-0.18.1.linux-amd64
Copy file node_exporter vào /usr/local/bin
# sudo cp node_exporter /usr/local/bin
Cho phép user và group đã tạo ở đầu có quyền chạy file node_exporter
# sudo chown node_exporter:node_exporter /usr/local/bin/node_exporter
Để chạy node_exporter như một dịch vụ chúng ta phải tạo một file systemd service cho nó.
# sudo nano /etc/systemd/system/node_exporter.service
Thêm nội dung sau vào file node_exporter.service
[Unit]
Description=Prometheus 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
Reload lại quản lý cấu hình systemd
# sudo systemctl daemon-reload
Khởi động và bật dịch vụ Node_Exporter tự động khởi động khi server reboot.
# sudo systemctl start node_exporter
# sudo systemctl enable node_exporter
Để xem trạng thái dịch vụ node_exporter chạy hay chưa.
# sudo systemctl status node_exporter
![](https://static.wixstatic.com/media/68165d_3862f1e16fb448dc94bcd07e2b762703~mv2.png/v1/fill/w_980,h_486,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/68165d_3862f1e16fb448dc94bcd07e2b762703~mv2.png)
node_exporter chạy giao thức TCP port 9100, chúng ta có thể xem trạng thái listen bằng lệnh sau:
# ss -altnp | grep 9100
Trên Prometheus Server
Chỉnh lại file cấu hình prometheus.yml
# sudo nano /etc/prometheus/prometheus.yml
Trong scrape_configs thêm các thông tin như hình. Trong target điền hostname hoặc IP của server Ubuntu cần monitor mà chúng ta đã cài Node_Exporter ở trên.
Chú ý: Cấu trúc viết trong yaml, nếu lệnh con phải thụt đầu hàng bằng 2 dấu cách so với lệnh cha.
![](https://static.wixstatic.com/media/68165d_3d8b5396e8844645810bbe4a54809ba9~mv2.png/v1/fill/w_980,h_506,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/68165d_3d8b5396e8844645810bbe4a54809ba9~mv2.png)
Khởi động lại dịch vụ prometheus
# sudo systemclt restart prometheus
Đăng nhập vào prometheus bằng web
http://<IP Server Prometheus>:9090
Vào Status >> Targets
![](https://static.wixstatic.com/media/68165d_ee3a6669ad5c4f199e034dcf8ab3c66f~mv2.png/v1/fill/w_980,h_466,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/68165d_ee3a6669ad5c4f199e034dcf8ab3c66f~mv2.png)
Chúng ta sẽ thấy tên job name lúc nãy chúng ta đã thêm vào trong file prometheus.yml xem trạng thấy UP là chúng ta đã thêm thành công server Ubuntu cần monitor vào Prometheus Server.
![](https://static.wixstatic.com/media/68165d_94b457d7cae3490098be378ac7ba8d15~mv2.png/v1/fill/w_980,h_395,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/68165d_94b457d7cae3490098be378ac7ba8d15~mv2.png)
Comments