原理
node_exporter:它的作用主要是收集效能測試的資料,如cpu、記憶體磁碟網路等資訊,然後將資料儲存到prometheus,相當於將資料存入到資料庫中;想要監控不同的內容,就使用不同的exporter,比如mysqld_exporter
Prometheus:雖然說是監控平臺,但是實際上是一套資料庫,用於做資料儲存,不能做展示,因此我們需要用到Grafana元件
Grafana:主要用於資料展示,並且可以做到定時讀取資料
總結:
- node_exporter是採集器,負責將採集的資料儲存到prometheus資料庫,然後grafana取promethues資料庫的資料進行展示,放被測伺服器,預設埠9100
- Grafana + Prometheus:為避免影響效能儘量方非被測伺服器上,Grafana 預設埠3000,Prometheus預設埠9090
搭建
部署前的準備:
關閉linux機器的防火牆:systemctl stop firewalld
保證所有linux機器時間是準確的,執行date命令檢查;如果不準,可以使用ntp命令同步網路時間
1、node_exporter:
node_exporter包上傳到被測伺服器上,進入解壓後的資料夾,進入安裝目錄下啟動命令:./node_exporter
啟動效果如下:
http://YouExporter_IP:9100/metrics這個能訪問,說明node_exporter是正常的,網路也是可以被訪問的:
2、Prometheus:
2.1 把prometheus的包,放到非被測伺服器上,解壓後,進入解壓後的資料夾,執行prometheus:./prometheus
透過日誌,我們發現 prometheus.yml 是它的配置檔案:
2.2 exporter與 prometheus進行關聯(資料聯通)
開啟Prometheus.yaml配置檔案,在檔案的末尾增加監測的ip和埠,需要監測多個伺服器時使用逗號隔開,這裡追加node_exporter的ip埠,如下圖
修改prometheus.yml:vi prometheus.yml
yml檔案的兩個特別重要的語法: 縮排(對齊)、 key的冒號後面,有一個空格;
在prometheus.yml檔案後面加入以下內容:
- # job_name 可以自定義
- job_name: ‘node_exporter’
- static_configs:
- targets: [‘192.168.2.131:9100’,‘nodeexporter_IP:9100’]
然後,儲存,退出;【注意換成自己的IP】
殺掉啟動的程序,重新啟動命令生效:./prometheus
啟動應用檢視是否監控成功:透過瀏覽器訪問http://prometheus_IP:9090
3、Grafana:
展示收集的資料,官網下載
啟動命令:systemctl start grafana-server.service
接下來Grafana新增Prometheus資料
瀏覽器訪問 http://your ip:3000/graph 進入grafana介面,預設登入使用者名稱密碼都為admin,登入後介面如下:
配置Grafana從Prometheus拉取監控資料
配置prometheus資料來源,點選 DATA SOURCES 去配置資料來源,如下
新增資料來源的頁面有很多可選資料來源,我們選擇prometheus
配置prometheus的url測試儲存
新增一個監控模板,步驟如下:
進入grafana官網 https://grafana.com/
從選單欄Grafana中選擇Dashboards,進入dashboards模板頁面,複製ID,這裡用的是8919,在grafana上import 監聽模組,如圖所示:
匯入後即可看到當前伺服器監控皮膚資訊