Hướng dẫn cài đặt trên CentOS 7
- Mô hình đươn giản được sử dụng gồm hai server:
- Prometheus server: IP:
192.168.70.71
. Là server dùng để thu thập, lưu trữ, sử lý các metric từ các target. - Node_exporter: IP:
192.168.68.91
. Là node target muốn lấy các thông tin, metric cần giám sát
- Prometheus server: IP:
Tắt Firewall và Selinux
Thực hiện tắt Firewall và Selinux trên các node
sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/sysconfig/selinux
sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/selinux/config
setenforce 0
systemctl stop firewalld
systemctl disable firewalld
Bước 1: Chuẩn bị
yum update -y
yum install vim git wget epel-release -y
Bước 2: Tạo service user
useradd --no-create-home --shell /bin/false prometheus
Bước 3: Cấu hình thư mục cấu hình và thư mục lưu trữ cho prometheus
mkdir /etc/prometheus
mkdir /var/lib/prometheus
chown prometheus:prometheus /etc/prometheus
chown prometheus:prometheus /var/lib/prometheus
Bước 4: Tải source code prometheus
cd /opt
wget https://github.com/prometheus/prometheus/releases/download/v2.10.0/prometheus-2.10.0.linux-amd64.tar.gz
tar xvf prometheus-*.tar.gz
cd prometheus-*
cp prometheus /usr/local/bin/
cp promtool /usr/local/bin/
chown prometheus:prometheus /usr/local/bin/prometheus
chown prometheus:prometheus /usr/local/bin/promtool
cp -r consoles /etc/prometheus
cp -r console_libraries /etc/prometheus
chown -R prometheus:prometheus /etc/prometheus/consoles
chown -R prometheus:prometheus /etc/prometheus/console_libraries
cd ..
rm -rf prometheus-*
Bước 5: Cấu hình file config
Tạo một file config mới với nội dung như sau:
cat <<EOF > /etc/prometheus/prometheus.yml
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'prometheus'
scrape_interval: 5s
static_configs:
- targets: ['localhost:9090']
EOF
Bước 6: Chạy thử Prometheus bằng câu lệnh sau:
sudo -u prometheus /usr/local/bin/prometheus \
--config.file /etc/prometheus/prometheus.yml \
--storage.tsdb.path /var/lib/prometheus/ \
--web.console.templates=/etc/prometheus/consoles \
--web.console.libraries=/etc/prometheus/console_libraries
Nếu có lỗi thì xem lại file cấu hình. ctrl + c
để thoát.
Bước 7: Đặt tiến trình trong systemd để dễ dàng quản lý
cat <<EOF > /etc/systemd/system/prometheus.service
[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target
[Service]
User=prometheus
Group=prometheus
Type=simple
ExecStart=/usr/local/bin/prometheus \
--config.file /etc/prometheus/prometheus.yml \
--storage.tsdb.path /var/lib/prometheus/ \
--web.console.templates=/etc/prometheus/consoles \
--web.console.libraries=/etc/prometheus/console_libraries
[Install]
WantedBy=multi-user.target
EOF
Khởi động Prometheus:
systemctl daemon-reload
systemctl start prometheus
systemctl status prometheus
systemctl enable prometheus
Truy cập vào đường dẫn để sử dụng giao diện web của Prometheus http://192.168.70.71:9090/graph
Thực hiện cài đặt và cấu hình trên CentOS 7
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 để thấy các metric thu thập được http://192.168.68.91:9100/metrics
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_exporter'
scrape_interval: 5s
static_configs:
- targets: ['192.168.68.91:9100']
Khởi động lại service:
systemctl restart prometheus
Giờ ta có thể thực hiện query tới các node exporter từ prometheus server.