- Grafana node:
- OS: CentOS7
- IP : eth0 - 10.10.10.175
- Prometheus node:
- OS: CentOS7
- IP : eth0 - 10.10.10.173
- Linux node:
- OS: CentOS7
- IP : eth0 - 10.10.10.172
Trên đây là môi trường lab nên tôi sẽ tắt selinux và firewalld để dễ dàng cho việc cài đặt.
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
yum update -y
yum install vim git wget epel-release -y
useradd --no-create-home --shell /bin/false prometheus
mkdir /etc/prometheus
mkdir /var/lib/prometheus
chown prometheus:prometheus /etc/prometheus
chown prometheus:prometheus /var/lib/prometheus
wget https://github.com/prometheus/prometheus/releases/download/v2.10.0/prometheus-2.10.0.linux-amd64.tar.gz
tar xvf prometheus-2.10.0.linux-amd64.tar.gz
cp prometheus-2.10.0.linux-amd64/prometheus /usr/local/bin/
cp prometheus-2.10.0.linux-amd64/promtool /usr/local/bin/
chown prometheus:prometheus /usr/local/bin/prometheus
chown prometheus:prometheus /usr/local/bin/promtool
cp -r prometheus-2.10.0.linux-amd64/consoles /etc/prometheus
cp -r prometheus-2.10.0.linux-amd64/console_libraries /etc/prometheus
chown -R prometheus:prometheus /etc/prometheus/consoles
chown -R prometheus:prometheus /etc/prometheus/console_libraries
rm -rf prometheus-2.10.0.linux-amd64*
- Cấu hình file conf
vim /etc/prometheus/prometheus.yml
như sau
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'prometheus'
scrape_interval: 5s
static_configs:
- targets: ['localhost:9090']
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
Sử dụng ctrl + c
để dừng
vi /etc/systemd/system/prometheus.service
Sửa file có nội dung như sau:
[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
reload lại systemd và start Prom
systemctl daemon-reload
systemctl start prometheus
systemctl status prometheus
systemctl enable prometheus
Truy cập vào đường dẫn http://10.10.10.173:9090/graph
kết quả như sau
Ở đây mình sẽ tiến hành cài đặt node_exporter
để thu thập thông số của máy chủ linux
useradd --no-create-home --shell /bin/false node_exporter
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*
vim /etc/systemd/system/node_exporter.service
như sau
[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
reload lại systemd
systemctl daemon-reload
systemctl start node_exporter
systemctl enable node_exporter
Truy cập tới http://10.10.10.172:9100/metrics
sẽ được kết quả như sau
- Add job vào file config
vim /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: ['10.10.10.172:9100']
Thêm từ dòng job_name: 'node_exporter'
so với cấu hình ban đầu
- restart service promtheus
systemctl restart prometheus
Kết quả như sau