ToiVietBlog - Bài viết này, ta sẽ monitor linux server với Prometheus node exporter. Nếu các bạn đã cài đặt blackbox exporter trước đây thì bài viết này sẽ có khác một chút.
Với blackbox exporter thì bạn cài đặt nó ngay trên server prometheus được. Nhưng với node exporter thì bạn phải cài đặt nó trên server Linux cần monitor. Node exporter ở đây giống như một agent monitor.
Cài đặt Prometheus node exporter
Đầu tiên, bạn check version mới nhất của node exporter tại link này. Tại thời điểm bài viết, phiên bản mới nhất là 1.0.1.
Ta tải và giải nén gói cài đặt.
wget https://github.com/prometheus/node_exporter/releases/download/v1.0.1/node_exporter-1.0.1.linux-amd64.tar.gz tar -xzf node_exporter-1.0.1.linux-amd64.tar.gz && rm -f node_exporter-1.0.1.linux-amd64.tar.gz cd node_exporter-1.0.1.linux-amd64
Chuyển file thực thi binary vào thư mục local bin.
mv node_exporter /usr/local/bin/ cd .. && rm -rf node_exporter-1.0.1.linux-amd64
Tạo user cho dịch vụ node exporter.
useradd -rs /bin/false node_exporter chown node_exporter:node_exporter /usr/local/bin/node_exporter
Tạo file systemd cho dịch vụ node exporter.
nano /etc/systemd/system/node_exporter.service
Copy nội dung dưới đây vào file.
[Unit] Description=Node Exporter Wants=network-online.target After=network-online.target [Service] Type=simple User=node_exporter Group=node_exporter ExecReload=/bin/kill -HUP $MAINPID ExecStart=/usr/local/bin/node_exporter SyslogIdentifier=node_exporter Restart=always [Install] WantedBy=default.target
Reload daemon và khởi động dịch vụ node exporter.
systemctl daemon-reload systemctl start node_exporter systemctl enable node_exporter
Dịch vụ node_exporter sau khi khởi động sẽ chạy ở cổng 9100.
Với những ai lười, bạn có thể tải script cài đặt node exporter mình đã viết để cài đặt cho nhanh.
Thiết lập cấu hình Prometheus
Bây giờ, ta sẽ thiết lập prometheus gọi đến các target node_exporter trên các server Linux.
Mở file cấu hình prometheus.
nano /etc/prometheus/prometheus.yml
Bạn thêm vào file đoạn dưới đây.
- job_name: 'node_exporter' scrape_interval: 5s static_configs: - targets: - hostname-linux:9100
Bạn thay hostname-linux
bằng địa chỉ IP hoặc DNS name của server Linux mà bạn cần monitor.
Tiếp theo, bạn tìm đến đoạn như dưới và thêm đường dẫn file rule cho linux server.
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'. rule_files: # - "first_rules.yml" # - "second_rules.yml" - "/etc/prometheus/rules/linux.yml"
Warning: bạn cần mở firewall cho phép server prometheus truy cập đến port 9100 trên server linux cần monitor
Thiết lập rule alert trong prometheus
Nếu bạn chưa biết cách thiết lập rule thì bạn nên tham khảo bài viết về blackbox exporter của mình.
Recommended Reading: Cài đặt Alertmanager và thiết lập cảnh báo Prometheus
Bạn tạo một file rule chứa các cảnh báo cần thiết cho server Linux.
nano /etc/prometheus/rules/linux.yml
Sau đó bạn tạo các rule, mình ví dụ 1 alert như dưới đây. Alert này sẽ xác định dịch vụ node_exporter trên server linux target không hoạt động. Qua đó, alert gửi thông báo cho ta biết host down.
Bạn có thể tải file rule hoàn chỉnh cho server Linux tại link gitlab này.
groups: - name: Linux Server rules: - alert: Server Linux Down expr: up{job="node_exporter"} == 0 for: 10s labels: severity: "Critical" annotations: Summary: 'Server "{{ $labels.instance }}" down.'
Sau khi đã thiết lập prometheus xong, bạn reload dịch vụ.
systemctl reload prometheus
Thiết lập dashboard Grafana
Dashboard Grafana mình đang sử dụng bản ID 11074. Bạn có thể import ID trực tiếp từ Grafana.

Hoặc download và import json từ dashboard mà mình đã lưu.
Kết luận
Vậy là bạn đã hoàn thành các bước để thiết lập monitor server Linux với Prometheus node exporter. Công cụ này khá hữu hiệu, nó đẩy gần như là đầy đủ thông tin resource server Linux.
If you appreciate what we share in this blog, you can support us by:
- Stay connected to: Facebook | Twitter | Google Plus | YouTube
- Subscribe email to recieve new posts from us: Sign up now.
- Start your own blog with SSD VPS - Free Let's Encrypt SSL ($2.5/month).
- Become a Supporter - Make a contribution via PayPal.
- Support us by purchasing Ribbon Lite Child theme being using on this website.
We are thankful for your support.
thank bạn nhiều tìm nhiều nguồn lắm mới ra được bạn