Prometheus Grafana 搭建監(jiān)控系統(tǒng)
之前在業(yè)務(wù)中遇到服務(wù)器負載過高問題,由于沒有監(jiān)控,一直沒發(fā)現(xiàn),直到業(yè)務(wù)方反饋網(wǎng)站打開速度慢,才發(fā)現(xiàn)問題。這樣顯得開發(fā)很被動。所以是時候搭建一套監(jiān)控系統(tǒng)了。
由于是業(yè)余時間自己捯飭,所以神馬業(yè)務(wù)層面的監(jiān)控先不做,先用最簡單的方式接入系統(tǒng)層面的監(jiān)控,例如服務(wù)器、數(shù)據(jù)庫等。
調(diào)研了一段時間,發(fā)現(xiàn)Prometheus+Grafana還是可以的。這里就主要記錄一下搭建的過程。
0x01: 基本概念
Prometheus
時間序列化數(shù)據(jù)庫,我的理解就是將數(shù)據(jù)打上標簽,以時間維度存儲。后面有機會在深入研究。
Grafana
Prometheus中存儲的數(shù)據(jù),通過Grafana很優(yōu)美的展現(xiàn)出來。
好就講這么多,多了我也不懂。。
0x02: 軟件安裝
Prometheus
官網(wǎng)下載(https://prometheus.io/),支持Linux、Mac、Windows系統(tǒng),很好很強大。我這里安裝過Centos和Mac,這里的實例以Mac為準。
1. Mac下載的發(fā)行版為darwin版;
2. 下載下來解壓縮就好,我得到的版本(2.0.0)內(nèi)容如下:

3. 目錄下的prometheus可以直接啟動,然后通過localhost:9090端口訪問,但是由于沒有配置exporter來導入數(shù)據(jù),暫時是沒有數(shù)據(jù)的。

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

這里的mysqld_exporter是啟動文件,.my.cnf是配置文件。想要正確的導出mysql的狀態(tài)數(shù)據(jù),必須在配置文件中正確的配置mysql的連接信息。配置如下:

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

通過localhost:9104,就可以看到exporter導出的數(shù)據(jù)了:


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

重啟prometheus,點擊導航欄中的status->targets可以看到,mysql的exporter已經(jīng)集成進來了。

至此,prometheus這邊的搭建基本完成了。
0x04: 安裝Grafana
Grafana官網(wǎng)(https://grafana.com/),上面有各個系統(tǒng)安裝的步驟,我的mac是直接通過brew安裝的(如果你的brew太慢,可以換成國內(nèi)的源試一下)。安裝后用brew services start grafana啟動即可。啟動后,即可通過http://127.0.0.1:3000/來訪問了(默認賬號密碼是admin/admin)。進來之后應(yīng)該看到這個頁面:

首先,你要添加一個數(shù)據(jù)源,將Grafana和Prometheus關(guān)聯(lián)起來。點擊Add data source,如下填寫數(shù)據(jù)保存即可:

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

接著回到首頁,你需要添加一個dashboard,如下圖進入dashboard導入頁面:

這里你需要從https://github.com/percona/grafana-dashboards項目中的dashboards下載MySQL_Overview.json,然后通過上面頁面的Upload .json File按鈕上傳上去,導入即可。

導入成功后,你將看到監(jiān)控頁面,大功告成!!!

source:https://blog.csdn.net/hfut_wowo/article/details/78536022

喜歡,在看
