五分鐘打造高逼格的監控系統

搜狗測試2019-06-19 20:58:20

一、監控背景

我們通常會有這樣的需求:

1、對服務端進行性能測試時,需要實時監控CPU、內存、IO讀寫、網絡狀態等信息;

2、對線上服務,如HTTP(Nginx)、數據存儲(Redis、MySQL)、消息隊列(Kafka、RabbitMQ)等服務進行監控,當出現異常時可以及時報警

今天給大家分享的是使用Prometheus+NodeExporter+Grafana搭建高端大氣的監控系統,上手非常簡單,而且高逼格,即用即會,一直用一直爽~


二、監控框架系統結構介紹

1、Prometheus模塊:可以理解為數據收集系統,所有向它推送的數據,都可以以時間序列的方式記錄下來;

2、NodeExporter模塊:向Prometheus模塊按照約定的格式推送數據,NodeExporter是專門負責收集系統相關信息的Exporter。在 Prometheus官網上我們可以找到各式各樣的Exporter,如數據庫相關、消息隊列相關的Exporter,不同的Exporter監控收集不同服務的數據;

3、Grafana模塊:一個高逼格的可視化開源框架,支持將Prometheus的數據直接可視化展示(下面有圖有真相)。


三、快速搭建監控系統

安裝部署監控系統只需要3步,使用腳本操作可以在1分鐘完成:

1、Exporter安裝

// 最新版本下載地址:https://prometheus.io/download/

// 下載安裝包

wget https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz

// 解壓

tar -xvzf node_exporter-0.18.1.linux-amd64.tar.gz

cd node_exporter-0.18.1.linux-amd64/

// 後台啟動服務

./node_exporter &

2、安裝和配置Prometheus

// 最新版本下載地址:https://prometheus.io/download/

// 1. 下載安裝包

wget https://github.com/prometheus/prometheus/releases/download/v2.10.0/prometheus-2.10.0.linux-amd64.tar.gz


// 2. 解壓

tar -xvf prometheus-2.10.0.linux-amd64.tar.gz

cd prometheus-2.10.0.linux-amd64

// 3. 配置從node_exporter獲取數據

打開目錄下的prometheus.yml配置文件,添加如下配置:

- job_name: 'node'

static_configs:

- targets: ['localhost:9100']

// 4. 後台運行服務

./prometheus -config.file=prometheus.yml &

3、安裝Grafana

// 最新版本下載地址:https://grafana.com/grafana/download

// 下載安裝包

wget https://dl.grafana.com/oss/release/grafana-5.4.2-1.x86_64.rpm

// 安裝

sudo yum install initscripts urw-fonts

sudo rpm -Uvh grafana-5.4.2-1.x86_64.rpm

// 啟動服務

sudo service grafana-server start

四、在Grafana上配置數據可視化

Grafana可視化配置僅需2步,點點點就可以完成:

1、配置從Prometheus獲取數據:

STEP1: 配置數據源入口

STEP2: 配置數據獲取鏈接

2、配置可視化面板:

Grafana社區提供了各類Exporter的監控展示看板,我們可以直接使用對應的看板配置,非常方便:

STEP3: 從https://grafana.com/dashboards/8919下載最新版本的NodeExporter看板配置文件:

STEP4: 在Grafana導入看板配置:

STEP5: 監控展示面板效果(非常炫酷)

四、最後

1、留言或添加搜狗測試官方微信號,可獲取一鍵部署監控自動化腳本,讓你5分鐘即可打造高逼格監控系統;

2、部署監控系統遇到問題的可以直接留言或添加我們官方微信好友,我們竭誠為您服務(交流學習); 

3、Prometheus相關學習資料:

Prometheus 實戰:https://songjiayang.gitbooks.io/prometheus/content/

Prometheus的Exporter支持列表:https://prometheus.io/docs/instrumenting/exporters/#exporters-and-integrations  

https://hk.wxwenku.com/d/200930132