搭建服務器監控平臺:Prometheus+node_exporter+Grafana

 一、前言

   之前搭建了監控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
 
配置文件代碼:注意修改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(有些數據沒展示出來,後續需要詳細研究下)

 

 

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章