一、前言
之前搭建了監控jmeter接口指標的grafana看板,但平時性能測試時也要關注服務器性能指標,所以也了解了下怎么搭建服務器監控,雖說這些是運維的工作,但多少懂一點也是好的。本次的prometheus和exporter是用docker部署的,順便也實操下docker的基礎知識。
二、工具簡介
Prometheus Server: Prometheus服務端,由於存儲及收集數據,提供相關api對外查詢用。
Exporter: 類似傳統意義上的被監控端的agent,有區別的是,它不會主動推送監控數據到server端,而是等待server端定時來手機數據,即所謂的主動監控。
Pushagateway: 用於網絡不可直達而居於exporter與server端的中轉站。
引用一張官方的架構圖,原理大概是:
1、prometheus是用於收集數據,主動拉取組件監控到的數據(比如mysql,nginx,node_exporter);
2、node_exporter用於監控數據,監控服務器主機數據(哪些服務器需要監控的,就在服務器上安裝這個組件);
3、grafana用於展示數據,數據源選取prometheus;
三、搭建流程
3.1 node_exporter安裝
- 步驟1:下載鏡像包:docker pull prom/node-exporter

- 步驟2:啟動鏡像包:docker run -d -p 9100:9100 --name node-exporter prom/node-exporter:latest
- 步驟3:查看已啟動的鏡像:docker ps
步驟4:安全組開放端口9100后,訪問url(ip:9100/metrics),如下圖,這些都是收集到的數據,有了它就可以做數據展示了
3.2 prometheus安裝
- 步驟1:下載鏡像包:docker pull prom/prometheus

- 步驟2:新建目錄prometheus: mkdir /opt/prometheus
- 步驟3:cd進入prometheus目錄下,編輯配置文件prometheus.yml:
cd /opt/prometheus/vim prometheus.yml
配置文件代碼:
注意修改IP地址,這里的192.168.91.132就是本機地址
global: scrape_interval: 60s evaluation_interval: 60s scrape_configs: - job_name: prometheus static_configs: - targets: ['localhost:9090'] labels: instance: prometheus - job_name: linux static_configs: - targets: ['192.168.91.132:9100'] labels: instance: localhost
步驟4:啟動鏡像
命令也可以用:
docker run -d -p 9090:9090 -v /opt/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
步驟5:瀏覽器訪問url:ip+9090端口
訪問targets
特別說明:
1、如果prometheus沒有采集到job,要檢查下是不是改了配置文件后沒有重啟容器鏡像
2、prometheus可以配置熱加載配置,可百度
3.2 Grafana安裝,展示數據
之前有演示過,這里不再詳細說(可查看https://www.cnblogs.com/Chilam007/p/14982759.html),
本次用的數據源是prometheus,導入模板id為11074(有些數據沒展示出來,后續需要詳細研究下)
9276模板——這個模板應該比較適用


1860模板


