1. 程式人生 > 實用技巧 >Prometheus+Grafana搭建監控系統

Prometheus+Grafana搭建監控系統

基本概念

Prometheus

時間序列化資料庫,我的理解就是將資料打上標籤,以時間維度儲存。後面有機會在深入研究。

Grafana

Prometheus中儲存的資料,通過Grafana很優美的展現出來。
好就講這麼多,多了我也不懂。。

軟體安裝

Prometheus

官網下載(https://prometheus.io/),支援Linux、Mac、Windows系統,很好很強大。我這裡安裝過Centos和Mac,這裡的例項以Mac為準。
1. Mac下載的發行版為darwin版;
2. 下載下來解壓縮就好,我得到的版本(2.0.0)內容如下:

3. 目錄下的prometheus可以直接啟動,然後通過localhost:9090埠訪問,但是由於沒有配置exporter來匯入資料,暫時是沒有資料的。

安裝exporter

prometheus可以理解為一個數據庫+資料抓取工具,工具從各處抓來統一的資料,放入prometheus這一個時間序列資料庫中。那如何保證各處的資料格式是統一的呢?就是通過這個exporter。exporter也是用GO寫的程式,它開放一個http介面,對外提供格式化的資料。所以在不同的環境下,需要編寫不同的exporter。好在已經有很多寫好的exporter,我們可以直接使用,(本句是一句廢話為了更好的排版顯示)(https://github.com/prometheus這裡可以找到很多exporter)我們這裡直接使用mysqld_exporter(prometheus.io/download/#mysqld_exporter)。當然也要下載對應系統的版本。解壓後的內容如下:

這裡的mysqld_exporter是啟動檔案,.my.cnf是配置檔案。想要正確的匯出mysql的狀態資料,必須在配置檔案中正確的配置mysql的連線資訊。我的配置如下:

配置好了,就可以啟動了。成功如下所示:

通過localhost:9104,就可以看到exporter匯出的資料了:

在Prometheus中配置mysqld_exporter

exporter啟動了,需要在Prometheus中正確的配置。修改prometheus目錄中的prometheus.yml,增加配置如下:

重啟prometheus,點選導航欄中的status->targets可以看到,mysql的exporter已經整合進來了。

至此,prometheus這邊的搭建基本完成了。

安裝Grafana

Grafana官網(https://grafana.com/),上面有各個系統安裝的步驟,我的mac是直接通過brew安裝的(如果你的brew太慢,可以換成國內的源試一下)。安裝後用brew services start grafana啟動即可。啟動後,即可通過http://127.0.0.1:3000/來訪問了(預設賬號密碼是admin/admin)。進來之後應該看到這個頁面:

首先,你要新增一個數據源,將Grafana和Prometheus關聯起來。點選Add data source,如下填寫資料儲存即可:

看到如下的提示,說明你的prometheus工作是正常的:

接著回到首頁,你需要新增一個dashboard,如下圖進入dashboard匯入頁面:

這裡你需要從https://github.com/percona/grafana-dashboards專案中的dashboards下載MySQL_Overview.json,然後通過上面頁面的Upload .json File按鈕上傳上去,匯入即可。

匯入成功後,你將看到監控頁面,大功告成!!!