grafana+prometheus快速搭建MySql監控系統實踐

1、背景

對於LNMP環境下的開發者來講,mysql是很是重要的一環,同時mysql的性能監控也是開發者所須要關注的一環;若是你們使用阿里雲的RDS會感受到其監控功能很是好用,但若是開發者使用的是自建數據庫,該怎麼去搭建則需則須要去考慮一番了。php

在prometheus和grafana未普及以前,要實現mysql的搭建確實要費一番工夫的,不過如今則很簡單就能夠實現mysql的監控了。mysql

筆者以前寫過一篇grafana+prometheus的基礎篇,所以本文中有些較爲基礎的操做就省略了,讀者若是有不清晰的地方,建議去看一下基礎篇,參考連接:grafana+ prometheus+php 監控系統實踐git

2、操做概要

  1. 安裝Mysqld-Exporter
  2. 增長prometheus任務
  3. 導入mysql儀表盤
  4. 功能驗證與展現

3、安裝Mysqld-Exporter

要實現監控mysql的狀態,就須要獲取mysql的一些數值,而後把這些數值傳遞給prometheus,這個過程使用mysqld-exporter就能夠輕易實現了,安裝以後,把所需的參數傳遞過去就可使用,這裏使用docker安裝最爲方便,所以筆者在下面的安裝方法即是採用此種方法安裝。github

3.1 下載鏡像

使用docker方式下載極爲方便,只須要執行以下命令便可,固然前提是須要安裝了docker。sql

docker pull prom/mysqld-exporter
複製代碼

3.2 建立容器並啓動

下載鏡像完成以後,筆者須要按照指定的格式把數據庫的一些帳號與密碼以及地址名稱等信息傳入進入,參考格式以下方命令:docker

docker run -d -p 9104:9104 -e DATA_SOURCE_NAME="root:password@(127.0.0.1:3306)/databaseName" prom/mysqld-exporter
複製代碼

3.3 驗證

啓動以後,筆者須要驗證是否啓動成功,能夠經過瀏覽器訪問以下地址數據庫

http://127.0.0.1:9104/
複製代碼

當在瀏覽器當中看到以下界面,則表明以及啓動成功,以下圖:json

image

不過須要注意的是,看到此界面並不表明你的數據庫帳號與密碼以及地址就正確了。vim

4、增長prometheus任務

通過前面一個步驟,筆者已經有了數值來源,如今須要作的就是經過prometheus將其收集起來,收集的方法也比較簡單,修改配置文件,重啓prometheus便可,具體操做方法以下:segmentfault

4.1 編輯prometheus的配置文件

vim /Users/song/config/prometheus/prometheus.yml
複製代碼

增長一個收集任務

---
global:
  scrape_interval: 5s
  scrape_timeout: 3s
scrape_configs:
- job_name: 'media'
  scrape_interval: 3s
  metrics_path: "/api/v1/rrd/toolSpool"
  static_configs:
    - targets: ['gslb.offcncloud.com:8080']
- job_name: 'mysql'
  scrape_interval: 5s
  static_configs:
    - targets: ['127.0.0.1:9104']
      labels:
        instance: 127.0.0.1

複製代碼

在配置文件當中,能看到prometheus會每5秒收集一次數據,須要給prometheus傳入主機地址。

4.2 啓動prometheus

修改並保存配置文件以後,筆者須要啓動prometheus,在mac系統中啓動命令以下:

prometheus --config.file=/Users/song/config/prometheus/prometheus.yml
複製代碼

4.3 驗證收集是否成功

啓動完成以後,須要驗證prometheus是否啓動成功,能夠經過瀏覽器打開以下URL:

http://127.0.0.1:9090/graph
複製代碼

若是在URL中看到mysql的狀態爲綠色標誌,則表明筆者增長的任務已經成功。

image

5、導入mysql儀表盤

到這一步筆者已經把mysql的性能數值導入到prometheus當中,如今所須要作的事情即是在grafana當中展現儀表盤;這個儀表盤筆者能夠本身去手動建立,也能夠導入一些開源的儀表盤,筆者以爲第三方的儀表盤省事也好看,因此這裏將採用導入開源的儀表盤方式。

5.1 下載儀表盤文件

首先須要在GitHub下載這些儀表盤文件,下載命令以下:

git clone https://github.com/percona/grafana-dashboards.git
複製代碼

下載完成以後,在其項目根目錄的dashboards文件夾下,會有一批grafana所導出的儀表盤文件,以下圖

image

找到MySQL_Overview.json文件,並打開此文件,將其裏面的內容複製下來,

連接地址:MySQL_Overview.json,筆者將其上傳到了本身的服務器,讀者能夠直接打開以下URL地址:

http://tuchuang.qsjianzhan.com/mysql/MySQL_Overview.json
複製代碼

5.2 啓動grafana

如今筆者須要啓動grafana,筆者使用mac的brew安裝,因此啓動命令以下:

brew services start grafana
複製代碼

5.3 導入儀表盤

grafana自己提供導入儀表盤功能,經過瀏覽器訪問以下網址:

http://127.0.0.1:3000/
複製代碼

在grafana左側有一個添加儀表盤的圖表,能夠點擊點擊導入儀表盤,操做方法以下圖:

image

前面筆者已經複製了儀表盤的文件,如今須要將其粘貼進來,並點擊load

image

六. 功能驗證與展現

導入儀表盤以後,能夠打開grafana的首頁,在首頁當中會展現儀表盤列表,找到剛纔導入的儀表盤,以下圖

image

找到對應的儀表盤即可查看mysql的詳細數值,以下圖所示:

image


做者:湯青松

微信:songboy8888

相關文章
相關標籤/搜索