安裝準備
-
虛擬機:centos7.8 2臺
本實踐中以 2臺已安裝centos7.8的虛機作爲實踐環境安裝prometheus2.8.1和grafana,並在prometheus中配置對這2臺主機的監控。
具體安裝規劃如下:
hostname |
ip |
os |
cpu |
memory |
disk |
備註 |
---|---|---|---|---|---|---|
prometheus-host |
172.22.3.148 |
centos7.8 |
2c |
2g |
20g |
prometheus |
prometheus-node |
172.22.3.149 |
centos7.8 |
2c |
2g |
20g |
node_exporter |
-
相關安裝文件
https://github.com/prometheus/prometheus/releases/download/v2.24.0/prometheus-2.24.0.linux-amd64.tar.gz
https://dl.grafana.com/oss/release/grafana-7.3.6-1.x86_64.rpm
https://github.com/prometheus/node_exporter/releases/download/v1.0.1/node_exporter-1.0.1.linux-amd64.tar.gz
備註:如無說明,以下部署均在prometheus-host部署
安裝prometheus
-
下載
# cd /opt
# wget https://github.com/prometheus/prometheus/releases/download/v2.8.1/prometheus-2.8.1.linux-amd64.tar.gz
-
安裝
# cd /opt
# tar -zxf prometheus-2.8.1.linux-amd64.tar.gz
# mv prometheus-2.8.1.linux-amd64 prometheus
-
啓動
# cd /opt/prometheus
# ./prometheus
-
創建service並設置自動啓動
## 創建service
# vi /usr/lib/systemd/system/prometheus.service
[Unit]
Description=prometheus
Documentation=https://prometheus.io/
After=network.target
[Service]
Type=simple
User=root
Group=root
ExecStart=/opt/prometheus/prometheus --config.file=/opt/prometheus/prometheus.yml
Restart=on-failure
[Install]
WantedBy=multi-user.target
# systemctl daemon-reload
## 設置自啓動
# systemctl enable prometheus
Created symlink from /etc/systemd/system/multi-user.target.wants/prometheus.service to /usr/lib/systemd/system/prometheus.service.
## 啓動服務
# systemctl start prometheus
-
訪問prometheus
瀏覽器地址欄輸入 http://172.22.3.148:9090
安裝grafana
-
下載
# cd /opt
# wget https://dl.grafana.com/oss/release/grafana-7.3.6-1.x86_64.rpm
-
安裝
# cd /opt
# yum install grafana-7.3.6-1.x86_64.rpm
-
啓動
## 安裝完成後會自動生成grafana-server的service
systemctl daemon-reload
systemctl start grafana-server
-
設置自動啓動
## 設置自啓動
# systemctl enable grafana-server
-
訪問grafana並配置默認數據源
瀏覽器地址欄輸入 http://172.22.3.148:3000
使用默認用戶名密碼 admin/admin登錄
首次登錄後需要設置新密碼如上。
granfa安裝後需要配置數據源
選擇Prometheus,點擊Select
只需要設置URL爲http://localhost:9090
其它保持默認,直接點“Save & Test”按鈕即可
彈出保存成功提示,點“Back”按鈕返回。
可以看到grafana已經保存了一個數據源。
安裝node_exporter並用prometheus配置主機監控
-
下載
# cd /usr/local
# wget https://github.com/prometheus/node_exporter/releases/download/v1.0.1/node_exporter-1.0.1.linux-amd64.tar.gz
-
安裝
# cd /usr/local
# tar -zxf node_exporter-1.0.1.linux-amd64.tar.gz
# mv node_exporter-1.0.1.linux-amd64/node_exporter ./bin/
-
創建service並設置自動啓動
## 創建service
# vi /usr/lib/systemd/system/node_exporter.service
[Unit]
Description=node_exporter
Documentation=https://prometheus.io/
After=network.target
[Service]
Type=simple
User=root
Group=root
ExecStart=/usr/local/bin/node_exporter
Restart=on-failure
[Install]
WantedBy=multi-user.target
# systemctl daemon-reload
## 設置自啓動
# systemctl enable node_exporter
Created symlink from /etc/systemd/system/multi-user.target.wants/node_exporter.service to /usr/lib/systemd/system/node_exporter.service.
## 啓動服務
# systemctl start node_exporter
-
在prometheus中配置對主機prometheus-host監控
修改prometheus配置文件prometheus.yml,在scrape_configs下增加如下配置
- job_name: 'prometheus-host'
file_sd_configs:
- files: ['/opt/prometheus/sd_config/prometheus-host.yml']
refresh_interval: 5s
新增/opt/prometheus/sd_config/prometheus-host.yml文件,內容如下
cat /opt/prometheus/sd_config/prometheus-host.yml
- targets:
- 172.22.3.149:9100
備註:每次修改配置完成,用promtool檢測配置文件是否正確
# /opt/prometheus/promtool check config /opt/prometheus/prometheus.yml
重啓prometheus
# systemctl restart prometheus
瀏覽器地址欄輸入 http://172.22.3.148:9090/targets
可以看到targets已經增加了對主機prometheus-host的監控
-
在grafana中配置面板顯示對主機prometheus-host監控內容
點“+”按鈕,彈出導入面板窗口
如圖輸入8919,點Load,grafana會直接從官方網站導入編號爲8919的面板如下
選擇數據源Prometheus,繼續“Import”,顯示node監控界面顯示如下
在prometheus-nodes安裝node_exporter並用prometheus配置主機監控
-
安裝步驟參考在prometheus-host安裝node_exporter步驟
-
在prometheus中配置對主機prometheus-nodes監控
修改prometheus配置文件prometheus.yml,在scrape_configs下增加如下配置
- job_name: 'prometheus-nodes'
file_sd_configs:
- files: ['/opt/prometheus/sd_config/prometheus-nodes.yml']
refresh_interval: 5s
新增/opt/prometheus/sd_config/prometheus-nodes.yml文件,內容如下
cat /opt/prometheus/sd_config/prometheus-nodes.yml
- targets:
- 172.22.3.148:9100
重啓prometheus
# systemctl restart prometheus
瀏覽器地址欄輸入 http://172.22.3.148:9090/targets
可以看到targets已經增加了對主機prometheus-nodes的監控
訪問grafana,也可以看到node監控界面多了prometheus-nodes的顯示