對於LNMP環境下的開發者來講,mysql是很是重要的一環,同時mysql的性能監控也是開發者所須要關注的一環;若是你們使用阿里雲的RDS會感受到其監控功能很是好用,但若是開發者使用的是自建數據庫,該怎麼去搭建則需則須要去考慮一番了。php
在prometheus和grafana未普及以前,要實現mysql的搭建確實要費一番工夫的,不過如今則很簡單就能夠實現mysql的監控了。mysql
筆者以前寫過一篇grafana+prometheus的基礎篇,所以本文中有些較爲基礎的操做就省略了,讀者若是有不清晰的地方,建議去看一下基礎篇,參考連接:grafana+ prometheus+php 監控系統實踐git
要實現監控mysql的狀態,就須要獲取mysql的一些數值,而後把這些數值傳遞給prometheus,這個過程使用mysqld-exporter就能夠輕易實現了,安裝以後,把所需的參數傳遞過去就可使用,這裏使用docker安裝最爲方便,所以筆者在下面的安裝方法即是採用此種方法安裝。github
使用docker方式下載極爲方便,只須要執行以下命令便可,固然前提是須要安裝了docker。sql
docker pull prom/mysqld-exporter
複製代碼
下載鏡像完成以後,筆者須要按照指定的格式把數據庫的一些帳號與密碼以及地址名稱等信息傳入進入,參考格式以下方命令:docker
docker run -d -p 9104:9104 -e DATA_SOURCE_NAME="root:password@(127.0.0.1:3306)/databaseName" prom/mysqld-exporter
複製代碼
啓動以後,筆者須要驗證是否啓動成功,能夠經過瀏覽器訪問以下地址數據庫
http://127.0.0.1:9104/
複製代碼
當在瀏覽器當中看到以下界面,則表明以及啓動成功,以下圖:json
不過須要注意的是,看到此界面並不表明你的數據庫帳號與密碼以及地址就正確了。vim
通過前面一個步驟,筆者已經有了數值來源,如今須要作的就是經過prometheus將其收集起來,收集的方法也比較簡單,修改配置文件,重啓prometheus便可,具體操做方法以下:segmentfault
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傳入主機地址。
修改並保存配置文件以後,筆者須要啓動prometheus,在mac系統中啓動命令以下:
prometheus --config.file=/Users/song/config/prometheus/prometheus.yml
複製代碼
啓動完成以後,須要驗證prometheus是否啓動成功,能夠經過瀏覽器打開以下URL:
http://127.0.0.1:9090/graph
複製代碼
若是在URL中看到mysql的狀態爲綠色標誌,則表明筆者增長的任務已經成功。
到這一步筆者已經把mysql的性能數值導入到prometheus當中,如今所須要作的事情即是在grafana當中展現儀表盤;這個儀表盤筆者能夠本身去手動建立,也能夠導入一些開源的儀表盤,筆者以爲第三方的儀表盤省事也好看,因此這裏將採用導入開源的儀表盤方式。
首先須要在GitHub下載這些儀表盤文件,下載命令以下:
git clone https://github.com/percona/grafana-dashboards.git
複製代碼
下載完成以後,在其項目根目錄的dashboards文件夾下,會有一批grafana所導出的儀表盤文件,以下圖
找到MySQL_Overview.json文件,並打開此文件,將其裏面的內容複製下來,
連接地址:MySQL_Overview.json,筆者將其上傳到了本身的服務器,讀者能夠直接打開以下URL地址:
http://tuchuang.qsjianzhan.com/mysql/MySQL_Overview.json
複製代碼
如今筆者須要啓動grafana,筆者使用mac的brew安裝,因此啓動命令以下:
brew services start grafana
複製代碼
grafana自己提供導入儀表盤功能,經過瀏覽器訪問以下網址:
http://127.0.0.1:3000/
複製代碼
在grafana左側有一個添加儀表盤的圖表,能夠點擊點擊導入儀表盤,操做方法以下圖:
前面筆者已經複製了儀表盤的文件,如今須要將其粘貼進來,並點擊load
導入儀表盤以後,能夠打開grafana的首頁,在首頁當中會展現儀表盤列表,找到剛纔導入的儀表盤,以下圖
找到對應的儀表盤即可查看mysql的詳細數值,以下圖所示:
做者:湯青松
微信:songboy8888