互聯網發展的今天,人們對互聯網產品的用戶體驗要求也越來越高,企業為了能提供更優質的用戶體驗,就會絞盡腦汁想盡各種辦法,而對于服務器的資源監控,搭建一個資源監控平臺,就是一個很好的維護優質服務的保障平臺,利用監控平臺,監控服務器資源的使用情況,實時查看用戶在使用企業產品服務時,基礎支撐能力情況,發現監控例外,能夠第一時間做出相應的調整決策,從而保障提供用戶優質體驗,《測驗面試寶典》
今天,就給大家講解一種基于目前企業普遍使用的技術,快速搭建一個非常前沿、高大上的監控平臺:docker + grafana + prometheus
docker
docker 相信大家都已經在用了,因為現在大多企業中都在用,使用它來搭建環境,相比傳統方式,速度要快非常非常多,同時,服務運行起來后,對資源的消耗也少很多,而且還能方便對各種服務進行定向擴容,而它的安裝也非常的簡單,準備一臺 Linux 機器,如 CentOS7,只需要執行兩個命令,就可以安裝成功,
注意: 下面沒有特別說明,默認 Linux 機器防火墻是關閉的;Linux 機器與被測服務器網路是通的,
# centos7 安裝docker
# 安裝依賴
yum install -y yum-utils device-mapper-persistent-data lvm2
#安裝docker
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
# 設定開機啟動
systemctl enable docker
prometheus
Prometheus 是一套開源的監控 + 預警 + 時間序列資料庫的組合,現在越來越多的公司或組織開始采用 Prometheus,現在常見的 kubernetes 容器管理系統,也會搭配 Prometheus 來進行監控,
Prometheus 本身不具備收集監控資料功能,需要使用 http 介面來獲取不同的 export 收集的資料,存盤到時序資料庫中,
使用 docker 方式安裝 Prometheus 非常的簡單
# 下載Prometheus鏡像
docker pull prom/prometheus
# 創建Prometheus容器
docker run -itd --name=docker_prometheus --restart=always -p 9090:9090 prom/prometheus
容器創建成功后,即可通過瀏覽器訪問 http://prometheus 機器 ip:9090 查看
grafana
Grafana 是一個跨平臺的開源的度量分析和可視化工具,可以通過將采集的資料庫查詢后可視化的展示,并及時通知,官方提供了非常多的可視化模板,根據不同的資料源,選擇不同的插件或模板即可,
使用 docker 安裝,也是非常非常簡單
# 下載鏡像
docker pull grafana/grafana
# 創建容器
docker run -itd --name=grafana \
--restart=always \
-p 3000:3000 \
-v $PWD/grafana-storage:/var/lib/grafana \
grafana/grafana
容器創建成功后,即可通過瀏覽器訪問 http://grafana 機器 ip:3000,默認賬號密碼都是:admin
node_export
node_export 是 Prometheus 的一個 export,主要是用來收集服務器硬體資源使用情況的,所以這個往往會部署再被監控的服務器上,即:grafana、Prometheus 會獨立部署在一臺機器上,node_export 則被部署在被監控的服務器上,收集被監控的服務器資源資料,給 Prometheus,然后再通過 grafana 展示出來,
node_export 部署在被監控的服務器上,可以根據服務器的實際情況,選擇直接安裝,還是用 docker 安裝,
- 服務器上直接安裝 node_export
- 首先,用瀏覽器訪問:https://github.com/prometheus/node_exporter/releases 這里能獲得 node_export 所有的發布版本,可以根據自己服務器的實際情況,選擇要下載的包
- 下載包后,上傳到被監控的服務器上,解壓
- 進入解壓檔案夾,直接啟動 ./node_exporter
- 服務器上用 docker 安裝 node_export
# 下載鏡像
docker pull prom/node-exporter
# 創建容器
docker run -itd --name=node-exporter \
--restart=always \
-p 9100:9100 \
-v "/proc:/host/proc:ro" \
-v "/sys:/host/sys:ro" \
-v "/:/rootfs:ro" \
prom/node-exporter
node-exporter 部署啟動好了后,在服務器的防火墻上開放 9100 埠,則可以通過瀏覽器訪問 http://服務器 ip:9100/metrics 查看監控收集的資料,
配置 Prometheus+node_exporter
prometheus 本身沒有資料收集功能,需要用 node_exporter 收集,他們倆之間如何連接在一起呢?這就要修改 Prometheus 的組態檔,這個檔案在 Prometheus 容器的
/etc/prometheus/prometheus.yml
# 從Prometheus容器中拷貝組態檔到宿主機
docker cp docker_prometheus:/etc/prometheus/prometheus.yml $PWD
修改 prometheus.yml 檔案
vim prometheus.yml
scrape_configs:
- job_name: prometheus
static_configs:
- targets: ['localhost:9090']
labels:
instance: prometheus
- job_name: linux
static_configs:
- targets: ['被監控的服務器ip:9100']
labels:
instance: localhost
注意 :yml 檔案的編輯,注意格式;想添加多個監控服務器時,可以在中括號中,用逗號分隔寫多個
# 把修改后的Prometheus組態檔拷貝到容器中
docker cp $PWD/prometheus.yml docker_prometheus:/etc/prometheus/prometheus.yml
重啟 Prometheus 容器
docker restart docker_prometheus
配置 Grafana+Prometheus
現在,萬事俱備,只欠東風了,只需要配置 grafana+prometheus 就能看到監控結果了,
用瀏覽器訪問 http://grafana 機器 ip:3000 登錄用戶密碼:admin
登錄后,在首頁,選擇 "Add your first data source"
選擇 Prometheus,填寫相關資訊
點擊 back 按鈕,回到首頁
再點擊 import
輸入 12884,點擊 load
再頁面底部,Prometheus 資料庫下拉框中,選擇自己添加的資料源的名稱,點擊 import 按鈕,所有作業就都完成,《測驗面試寶典》
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/296114.html
標籤:其他
上一篇:ARTS Week 1
下一篇:大劉終于當上架構師了
