Grafana+Prometheus監控系統之核心功能集錦

Grafana監控系統之Prometheus+Grafana監控系統搭建

導航

一. 概述

1.1 Grafana介紹

Grafana是一個跨平臺的開源的度量分析和可視化工具,可以通過將採集的數據查詢然後可視化的展示,並及時通知。它主要有以下六大特點:

  1. 展示方式:快速靈活的客戶端圖表,面板插件有許多不同方式的可視化指標和日誌,官方庫中具有豐富的儀表盤插件,比如熱圖、折線圖、圖表等多種展示方式;

  2. 數據源:Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch和KairosDB等;

  3. 通知提醒:以可視方式定義最重要指標的警報規則,Grafana將不斷計算併發送通知,在數據達到閾值時通過Slack、PagerDuty等獲得通知;

  4. 混合展示:在同一圖表中混合使用不同的數據源,可以基於每個查詢指定數據源,甚至自定義數據源;

  5. 註釋:使用來自不同數據源的豐富事件註釋圖表,將鼠標懸停在事件上會顯示完整的事件元數據和標記;

  6. 過濾器:Ad-hoc過濾器允許動態創建新的鍵/值過濾器,這些過濾器會自動應用於使用該數據源的所有查詢。

簡單來講,它是一個多用途的監控工具,同時通過郵件等方式進行有效的預警通知,豐富的直觀的可視化界面,多種數據源配置是其優點所在;

1.2 Prometheus對比Zabbix

  • 和Zabbix類似,Prometheus也是一個近年比較火的開源監控框架,和Zabbix不同之處在於Prometheus相對更靈活點,模塊間比較解耦,比如告警模塊、代理模塊等等都可以選擇性配置。服務端和客戶端都是開箱即用,不需要進行安裝。zabbix則是一套安裝把所有東西都弄好,很龐大也很繁雜。

  • zabbix的客戶端agent可以比較方便的通過腳本來讀取機器內數據庫、日誌等文件來做上報。而Prometheus的上報客戶端則分爲不同語言的SDK和不同用途的exporter兩種,比如如果你要監控機器狀態、mysql性能等,有大量已經成熟的exporter來直接開箱使用,通過http通信來對服務端提供信息上報(server去pull信息);而如果你想要監控自己的業務狀態,那麼針對各種語言都有官方或其他人寫好的sdk供你使用,都比較方便,不需要先把數據存入數據庫或日誌再供zabbix-agent採集。

  • zabbix的客戶端更多是隻做上報的事情,push模式。而Prometheus則是客戶端本地也會存儲監控數據,服務端定時來拉取想要的數據。

  • 界面來說zabbix比較陳舊,而prometheus比較新且非常簡潔,簡潔到只能算一個測試和配置平臺。要想獲得良好的監控體驗,搭配Grafana還是二者的必走之路。

1.3 Grafana結構圖

在這裏插入圖片描述

1.4 通俗講

  • Prometheus作爲一箇中間點,而Grafana作爲可視化展示,後面的exporter作爲監控,exporter將需要獲取的數據獲取並連接到Prometheus,而Prometheus連接到Grafana,直觀展示被監控者狀態;

二. Grafana監控系統之Prometheus+Grafana監控系統搭建

2.1 安裝Prometheus

  • 下載並解壓
wget https://github.com/prometheus/prometheus/releases/download/v2.7.2/prometheus-2.7.2.linux-amd64.tar.gz
tar xvfz prometheus-2.7.2.linux-amd64.tar.gz
  • 運行Prometheus server
cd prometheus-2.7.2.linux-amd64
./prometheus --config.file=prometheus.yml
  • 配置Prometheus
    • 在Prometheus.yml中有配置文件,我們可以對其進行配置,當然第一次安裝也可以不管;
$ cat prometheus.yml 
# my global config
global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).
 
# Alertmanager configuration
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      # - alertmanager:9093
 
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"
 
# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'
 
    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.
 
    static_configs:
    - targets: ['localhost:9090']

其大致可分爲四部分:
- global:全局配置,其中scrape_interval表示抓取一次數據的間隔時間,evaluation_interval表示進行告警規則檢測的間隔時間;
- alerting:告警管理器(Alertmanager)的配置,目前還沒有安裝Alertmanager;
- rule_files:告警規則有哪些;
- scrape_configs:抓取監控信息的目標。一個job_name就是一個目標,其targets就是採集信息的IP和端口。這裏默認監控了Prometheus自己,可以通過修改這裏來修改Prometheus的監控端口。Prometheus的每個exporter都會是一個目標,它們可以上報不同的監控信息,比如機器狀態,或者mysql性能等等,不同語言sdk也會是一個目標,它們會上報你自定義的業務監控信息。

  • 訪問prometheus
    • 輸入: “ip地址”+":9090" 在瀏覽器中進行訪問,如果出現可視化界面說明成功;

示例: 186.163.15.42:9090 直接在自己電腦中訪問
如果訪問不了,請檢查防火牆是否開啓9090端口

2.2 添加機器狀態監控(監控服務器CPU,硬盤,網絡等狀態)

  • 下載且解壓並運行
// 下載最新版本,可以在github的release中對最新版本右鍵獲取下載鏈接
wget https://github.com/prometheus/node_exporter/releases/download/v0.17.0/node_exporter-0.17.0.linux-amd64.tar.gz
// 解壓
tar xvfz node_exporter-0.17.0.linux-amd64.tar.gz
// 進入解壓出的目錄
cd node_exporter-0.17.0.linux-amd64
// 運行監控採集服務
./node_exporter
  • 監聽9100端口

    • 本Centos中訪問: curl http://localhost:9100/metrics
    • 電腦瀏覽器中訪問: ip地址:9100

    如果訪問有內容顯示則成功

    啓動服務的時候可使用nohup後臺啓動,如果是直接圖中所示內容啓動則重開連接

    • 去Prometheus的配置文件中加上這個exporter的地址
      • 先回到根目錄
cd ~
  • 進入prometheus
cd prometheus-2.7.2.linux-amd64/
  • 編輯配置文件prometheus.yml
vim prometheus.yml

沒有vim可以下載或者使用vi也可以

  • 添加target:
scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']
  - job_name: 'server'
    static_configs:
      - targets: ['localhost:9100']

2.3 安裝Grafana

  • 下載並解壓Grafana
wget https://dl.grafana.com/oss/release/grafana-6.0.0.linux-amd64.tar.gz
tar -zxvf grafana-6.0.0.linux-amd64.tar.gz

這個頁面給出的是最新版本的安裝命令,右上角可以選擇切換其他版本的安裝命令。解壓後會出現 grafana-6.0.0 目錄,進入該目錄,然後就可以運行Grafana了;

  • 安裝插件

    • 進入Grafana服務器的該Grafana的lib目錄下,然後輸入以下命令更新插件:
      ./grafana-cli plugins install grafana-piechart-panel
  • 運行Grafana

cd grafana-6.0.0
// 啓動Grafana。
./bin/grafana-server web
  • 在Grafana展示監控信息
    • 安裝並啓動Grafana後,瀏覽器輸入 IP:3000 來訪問Grafana,管理員賬號密碼默認是admin/admin。首次登陸會讓你修改管理員密碼,然後就可以登錄查看了。

    • 添加數據源
      在這裏插入圖片描述

    • 選擇Prometheus
      在這裏插入圖片描述

    • 先輸入名稱,然後填入http://ip+9090然後直接點Save&Test,成功後則直接點擊Dashboards選擇展示面板
      在這裏插入圖片描述

    • 點擊導入,可一個也可以全部導入
      在這裏插入圖片描述

    • 選擇左側邊欄的 + 號,點擊Imput, 在Grafana.com Dashboard中輸入: 8919

    也可以自己選擇官方展示面板,鏈接: https://grafana.com/dashboards

    • 輸入號碼後點擊確定,然後再prometheus選擇對應的Prometheus,點擊Import即可
      在這裏插入圖片描述
  • 查看效果
    • 左邊側欄選擇方塊,點擊Manage,然後點擊剛剛創建的,即可成功展示!
      在這裏插入圖片描述

    • 展示效果如圖所示:
      在這裏插入圖片描述

三. Grafana監控系統之搭建其他服務器監控系統

3.1 前述

  • 這次的教程是配置其他服務器的監控系統,所以假設上面的已經做好了

  • 監控系統的Prometheus類似於一個註冊中心,我們可以只需要配置一個Prometheus,而在其他服務器,只需要安裝node_exporter,它們的數據流轉就是通過exporter採集數據信息,然後告訴prometheus它的位置;而Prometheus則存儲exporter的信息供Grafana詢問;Grafana則負責信息的展示;所以可以只配置一個Prometheus,而其他服務器或者本機的服務器的exporter只需要在這一個Promethes中給出它的job_name,targets地址等信息即可;

  • 這裏介紹了又重新下載了一個Prometheus的方式,不下載的話可直接跳過從教程: 3.5 添加機器狀態監控 開始

3.2 安裝Prometheus

  • 連接需要被安裝的服務器,安裝Prometheus:
$ wget https://github.com/prometheus/prometheus/releases/download/v2.7.2/prometheus-2.7.2.linux-amd64.tar.gz
$ tar xvfz prometheus-2.7.2.linux-amd64.tar.gz

3.3 啓動Prometheus

// 下載最新版本,可以在github的release中對最新版本右鍵獲取下載鏈接
$ wget https://github.com/prometheus/node_exporter/releases/download/v0.17.0/node_exporter-0.17.0.linux-amd64.tar.gz
// 解壓
$ tar xvfz node_exporter-0.17.0.linux-amd64.tar.gz
// 進入解壓出的目錄
$ cd node_exporter-0.17.0.linux-amd64
// 運行監控採集服務
$ ./node_exporter

3.4 配置Prometheus:

$ cat prometheus.yml 
# my global config
global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).
 
# Alertmanager configuration
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      # - alertmanager:9093
 
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"
 
# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'
 
    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.
 
    static_configs:
    - targets: ['localhost:9090']

如無其他特殊需求可不做改變;

3.5 添加機器狀態監控

// 下載最新版本,可以在github的release中對最新版本右鍵獲取下載鏈接
$ wget https://github.com/prometheus/node_exporter/releases/download/v0.17.0/node_exporter-0.17.0.linux-amd64.tar.gz
// 解壓
$ tar xvfz node_exporter-0.17.0.linux-amd64.tar.gz
// 進入解壓出的目錄
$ cd node_exporter-0.17.0.linux-amd64
// 運行監控採集服務
$ ./node_exporter

可使用後臺運行進程命令啓動也可以;訪問:http://ip:9100/metrics即可驗證,如果有對應界面則配置成功

3.6 配置Prometheus.yml文件

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']
  - job_name: 'server'
    static_configs:
      - targets: ['localhost:9100']

如果prometheus不在本服務器,則將server下的targets中的localhost改爲對應的ip地址;
重新啓動一下

3.7 配置Grafana

  • 進入Grafana服務器的該Grafana的lib目錄下,然後輸入以下命令更新插件:
    ./grafana-cli plugins install grafana-piechart-panel

更新插件後重新啓動服務

3.8 配置可視化界面

  • 添加數據源
    在這裏插入圖片描述
  • 選擇Prometheus

在這裏插入圖片描述

  • 先輸入名稱,然後填入http://ip+9090然後直接點Save&Test,成功後則直接點擊Dashboards選擇展示面板
    在這裏插入圖片描述
  • 點擊導入,可一個也可以全部導入
    在這裏插入圖片描述
  • 選擇左側邊欄的 + 號,點擊Imput, 在Grafana.com Dashboard中輸入: 8919

也可以自己選擇官方展示面板,鏈接: https://grafana.com/dashboards

  • 輸入號碼後點擊確定,然後再prometheus選擇對應的Prometheus,點擊Import即可
    在這裏插入圖片描述

3.9 查看效果

  • 左邊側欄選擇方塊,點擊Manage,然後點擊剛剛創建的,即可成功展示!
    在這裏插入圖片描述

  • 展示效果如圖所示:
    在這裏插入圖片描述

注意:如果需要監控其他服務器,則只需要在其他服務器安裝 node_exporter 即可,將其對應的ip地址,端口號等信息配置到已有的Prometheus的Prometheus.yml內即可;格式參照其他,job_name不能命名成一樣的,可改成其他名稱;Grafana添加數據源和註冊儀表盤都是一致的;

四. Grafana監控系統之郵件報警

4.1 Grafana服務器配置

  • 關閉服務
    ctrl+c

如果是後臺啓動的服務,則用相關的命令關閉grafana web
如果grafana監控系統沒有開啓,則無需關閉;

  • 進入grafana目錄
    cd grafana-6.0.0
  • 編輯配置文件conf
    vim defaults.ini

沒有vim直接 yum install vim 即可,使用vi 也可以進行編輯
在這裏插入圖片描述
smtp.qq.com:465是針對qq郵箱的,其他的郵箱的服務器不同,請做對應的改變,直接百度即可;

  • 編輯完退出:
    ESC+:wq+Enter
  • 返回上一級
    cd ..
  • 啓動服務
    ./bin/grafana-server web

4.2 Grafana 可視化界面配置

  • 添加
    在這裏插入圖片描述
  • 輸入具體警告內容
    在這裏插入圖片描述

如果成功就能接收到郵件,否則查看服務器內配置是否正確;

4.3 郵件報警總結

  • 此功能可以具體對某些儀表盤的數據設立閥值,如果超過此值則觸發報警,具體的應用具體分析,後面補充;

五. Grafana監控系統之搭建MySQL監控系統

5.1 步驟概述概述

  1. 下載安裝Mysql並配置賬號密碼
  2. 導入sql文件
  3. 安裝mysqld_exporter
  4. 對mysqld_exporter進行操作
  5. 運行mysql_exporter
  6. 加入Prometheus.yml配置
  7. 配置可視化界面

5.2 下載安裝Mysql

  • 如果是對已有的mysql進行操作,請忽略此步驟;
  • 下載mysql的repo源:
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
  • 安裝mysql-community-release-el7-5.noarch.rpm包:
rpm -ivh mysql-community-release-el7-5.noarch.rpm
  • 安裝mysql:
yum install mysql-server -y

修改權限,否則會報錯:

chown -R root:root /var/lib/mysql

重啓mysql服務:

service mysqld restart

登錄並重置密碼:

## 直接回車進入mysql控制檯
mysql -u root
mysql > use mysql;
mysql > update user set password=password('123456') where user='root';
mysql > exit;

5.3 導入sql文件

  1. 下載my2.sql
    https://codeload.github.com/john1337/my2Collector/zip/master
  2. 解壓文件後將此文件夾內的sql文件放入要監控的Mysql服務器中
  3. 使用命令登錄mysql
    mysql -u用戶名 -p密碼 示例: mysql -uroot -proot
  4. 使用命令導入sql文件
    source /root/my2.sql

後面的是具體地址,如果位置不對則相應變化

  1. 當出現一系列執行成功,則說明完成;

5.4 對mysqld_exporter進行操作

  • 先下載並解壓:
https://github.com/prometheus/mysqld_exporter/releases/download/v0.10.0/mysqld_exporter-0.10.0.linux-amd64.tar.gz

tar -xvf mysqld_exporter-0.10.0.linux-amd64.tar.gz
  • 創建.my.cnf 文件
vim vi.my.cnf
  • 創建效果如下:
[client]
user=root
password=root

賬號密碼只要連接得上mysql即可,也可單獨爲其分配賬號;

  • 運行mysql_exporter
./mysqld_exporter -config.my-cnf=".my.cnf" &

5.5 加入Prometheus.yml配置

  - job_name: mysql
    static_configs:
      - targets: ['mysql的ip地址:9104']

這裏9104不要改動,配好後保存重啓Prometheus,然後點擊Status->Targets,如果發現mysql的State爲Up 狀態,則說明已經配置好了
如果沒有配置好,則可以注意一下是否mysql開啓了遠程訪問,一般新安裝的msyql都是僅本機可訪問;開啓遠程訪問可百度;

5.6 配置可視化界面

  • 先點擊小齒輪添加DataSource,然後點擊Mysql,輸入對應的ip+端口號,以及賬號密碼等信息,點擊Save&Test進行測試,如果反饋成功則說明配置成功
  • 點擊+ 圖標,然後選擇Import ,可選擇官方文檔中的儀表盤,這裏我使用的是: 7991

輸入7991點Load可自動加載

  • 官方地址: https://grafana.com/dashboards
  • 加載後配置相關的名稱地址,以及加載的數據源等信息,點擊添加後即可在 小方塊 圖標的Manage下展示;
  • 效果圖如下:
    在這裏插入圖片描述

六. Grafana監控系統之開放API

6.1 概述

  • 在我們使用server類型的訪問模式中,訪問數據通常有兩種形式;一種是直接使用用戶登錄,獲取到的Cookie進行驗證;一種是通過 API令牌機制進行資源請求校驗;
  • Admin HTTP API目前不支持API令牌。API令牌目前僅鏈接到組織和組織角色。他們無法獲得服務器管理員的許可,只有用戶才能獲得該權限。因此,爲了使用這些API調用,您必須使用Basic Auth,Grafana用戶必須具有Grafana Admin權限。(默認管理員用戶被調用admin並且有權使用此API。)

官方文檔地址:https://grafana.com/docs/http_api/admin/

6.2 關於用戶登錄驗證請求資源

  • 無法使用HTTP API的部分,可以使用RestTemplate等工具模擬登錄驗證,獲取Cookie請求資源;而請求資源我們可以使用F12 獲取請求的接口地址,需要哪些資源,直接到相關站點界面獲取接口地址,模擬登錄即可做對應的操作;

這部分不多加介紹,下面介紹使用HTTP API的方式;

6.3 創建API 令牌

  • 創建API KEY
    在這裏插入圖片描述
  • 點擊保存
    在這裏插入圖片描述
  • 將Key後面的內容作爲 Authorization中的Bearer 後的內容:
    在這裏插入圖片描述

裏面的權限爲Viewer,Eidtor,和Admin,權限爲只能看,可以部分寫,以及全部權限;

6.4 驗證HTTP資源/操作 接口示例:

在這裏插入圖片描述

6.5 創建API Key 示例:

  • 請求ip地址和請求頭填寫內容:
    在這裏插入圖片描述
  • 請求體內填寫內容:
    在這裏插入圖片描述

權限類別可分爲Viewer,Editor和Admin,Viewer只能查看,Editor可以一些界面進行操作,而Admin是擁有所有權限的角色;
secondsToLive - 以秒爲單位設置密鑰到期時間。這是可選的。如果是正數,則設置密鑰的到期日期。如果它爲null,爲零或完全省略(除非api_key_max_seconds_to_live設置了配置選項),密鑰將永不過期。

6.6 刪除API Key示例:

  • 先通過查詢接口查詢到所有Api Key列表
    在這裏插入圖片描述
  • 拿到需要刪除的ApiKey的id,然後使用Delete請求方式,在最後帶id即可刪除對應id的ApiKey,圖示如下:
    在這裏插入圖片描述

只要支持HTTP API的均可使用此方式,具體的請求路徑和對應資源可進入官方文檔查看;
https://grafana.com/docs/http_api/dashboard/

七. Grafana監控系統之監控RabbitMQ

7.1 下載並解壓

  • 下載:
wget https://github.com/kbudde/rabbitmq_exporter/releases/download/v1.0.0-RC5/rabbitmq_exporter-1.0.0-RC5.linux-amd64.tar.gz

沒有wget等命令請自行搜索下載

  • 解壓:
tar -xvf rabbitmq_exporter-1.0.0-RC5.linux-amd64.tar.gz
  • 進入目錄:
cd rabbitmq_exporter-1.0.0-RC5.linux-amd64
  • 執行命令:
RABBIT_USER=guest RABBIT_PASSWORD=guest OUTPUT_FORMAT=JSON PUBLISH_PORT=9099 RABBIT_URL=http://localhost:15672 nohup ./rabbitmq_exporter 2>&1 &

注意裏面的PABBIT_USER的賬號,以及後面的密碼,請按實際賬號密碼輸入,以及端口等;

7.2 加入Prometheus.yml

  • 進入有Prometheus的服務器,進入Prometheus,編輯prometheus.yml
vim prometheus.yml
  • 配置如下內容:
- job_name: 'RabbitMQ'
  static_configs:
	- targets: ['Rabbit的ip地址:9099']

這裏的ip地址寫Rabbit的地址,端口號默認都寫9099;

7.3 進入Grafana配置RabbitMQ地址

  1. 瀏覽器輸入:ip地址+3000 進入Grafana 默認賬戶和密碼都是admin
  2. 點擊小齒輪,點擊**Data Sources **
    在這裏插入圖片描述
  3. 點擊右側 **Add data source ** 選擇Prometheus
  4. 編輯Prometheus的配置信息,Name爲名稱,URL爲 http://promethues的服務器地址和端口號(9090)

這裏的URL不是寫RabbitMQ的服務器地址,而是Prometheus的地址,注意不要弄錯;

  1. 點擊Save&Test進行測試,如果下方出現小綠條提示: Data source is working 則說明安裝成功
  2. 點擊左側的 + 圖標,選擇Import,在第一個輸入框中輸入 2121 ,然後點擊 Load
  3. 點擊左側小方塊圖標,點擊Manage 選擇剛剛配好的,點擊進入即可展示,效果圖如下:
    在這裏插入圖片描述

八. Grafana監控系統之監控Redis

8.1 下載並解壓

  • 下載:
wget https://github.com/oliver006/redis_exporter/releases/download/v1.0.3/redis_exporter-v1.0.3.linux-amd64.tar.gz
  • 解壓:
tar -xvf redis_exporter-v1.0.3.linux-amd64.tar.gz

8.2 啓動 Redis_exporter

  • 無密碼:
./redis_exporter redis//192.168.1.120:6379 &
  • 有密碼:
redis_exporter  -redis.addr 192.168.1.120:6379  -redis.password 123456****

裏面的ip地址和端口號請根據自身實際來

8.3 配置Prometheus.yml

  • 進入prometheus的服務器,然後進入prometheus.yml,進行編輯:
  • 編輯:
vim prometheus.yml
  • 內容如下:
 - job_name: redis
    static_configs:
      - targets: ['ip地址:9121']

8.4 檢查Redis狀態

  • 進入地址
Premetheus的ip地址:9090/targets

如果顯示State的結果爲 UP 則說明成功。

8.5 配置Grafana的數據源

  • 登錄網站:
Grafana的ip地址:3000
  • 添加數據源,如果之前已經在Grafana中添加了此DataSource(指向了安裝有Prometheus的ip地址和對應端口),則無需重新添加,在導入面板的時候,可以直接引用此DataSource;

8.6 配置展示面板

  1. 先進行登陸,登陸後點擊 + 號選擇Import
  2. 在第一個框框內輸入: 731

注意,也可以自己找其他的展示面板,在官方的面板頁面找到數據源爲Prometheus的Redis展示面板,在上方所說的對應位置輸入它的編號即可
官方控制面板地址:https://grafana.com/dashboards

8.7 直接查看,展示效果圖如下:

**https://grafana.com/dashboards**

九.Grafana監控系統之監控TiDB

9.1 下載二進制包並解壓

  • 下載
wget https://github.com/prometheus/node_exporter/releases/download/v0.15.2/node_exporter-0.15.2.linux-amd64.tar.
  • 解壓
tar -xzf node_exporter-0.15.2.linux-amd64.tar.gz

9.2 啓動服務

  • 進入目錄:
cd node_exporter-0.15.2.linux-amd64
  • 啓動 node_exproter服務
./node_exporter --web.listen-address=":9100" \ --log.level="info" &

9.3 在Prometheus.yml中配置

  • 進入Prometheus所在的服務器,並進入該Prometheus目錄
cd prometheus-2.2.1.linux-amd64
  • 編輯 prometheus.yml
vim prometheus.yml
  • 新增內容如下:
  - job_name: 'tidb'
    honor_labels: true  # 不要覆蓋 job 和實例的 label
    static_configs:
    - targets: ['tidb所在服務器ip地址:10080']

這裏配置好了以後,需要重新啓動一下Prometheus.yml,然後登陸 ip地址:9090/targets 如果Status顯示爲 UP 則說明成功;

9.4 啓動Grafana服務

./prometheus \
    --config.file="./prometheus.yml" \
    --web.listen-address=":9090" \
    --web.external-url="http://192.168.199.113:9090/" \
    --web.enable-admin-api \
    --log.level="info" \
    --storage.tsdb.path="./data.metrics" \
    --storage.tsdb.retention="15d" &

9.5 啓動Grafana並配置DataSource

  • 按照正常命令啓動,如果已經啓動過則無需改;
  • 如果前面已經對此Prometheus的DataSource進行過配置,則無需再次配置,在導入展示面板的時候直接指向此已經寫好的展示面板即可;

9.6 導入Grafana面板

  1. 在側邊欄菜單中,依次點擊 + 號 > Import 打開 Import Dashboard 窗口。

  2. 點擊 Upload .json File 上傳對應的 JSON 文件(https://github.com/pingcap/tidb-ansible/tree/master/scripts)。

  3. 注意:TiDB 面板對應的 JSON 文件爲tidb.json 。 (我們可以通過上面的鏈接進入找到此tidb.json然後將內容複製出來命名爲tidb.json然後導入)

  4. 點擊 Load。

  5. 選擇一個 Prometheus 數據源。(以前對這個Prometheus創建過數據源,我們可以重複利用,直接指向即可)

  6. 點擊 Import,Prometheus 面板即導入成功。

9.7 在Mangae 裏面可以直接預覽,展示效果圖如下

在這裏插入圖片描述

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