top of page

Hướng dẫn monitor server Ubuntu bằng Prometheus + Grafana

Writer's picture: Tuan NguyenTuan Nguyen

Updated: Oct 31, 2019



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

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.

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


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.


32 views0 comments

Comments


 

© 2018 by Tuấn Nguyễn

 Liên hệ tôi
  • Facebook - Black Circle
  • Google+ - Black Circle
bottom of page