如何監控MySQL的複寫延遲?

來源:互聯網
上載者:User

pt-heartbeat

資料庫做主從複製時,複製狀態、資料延遲是否正常是非常關鍵的指標,那麼如何對其進行監控呢?

pt-heartbeat 是 PERCONA 開發的一個工具集中的一個,專門用來監控MySQL和PostgreSQL的複寫延遲。

比較成熟,例如Uber等大型公司都在使用。

監控原理

在 master 中建一個 heartbeat 表,其中有一個 時間戳記 欄位,pt-heartbeat 會周期性的修改時間戳記的值。

slave 會複製 heartbeat表,其中就包含了 master執行修改動作的時間戳記,對其和 slave 的本地時間進行對比,得到一個差值,就是複寫延遲的值,從而判斷複製狀態是否正常,以及延遲時間是否符合預期。

pt-heartbeat 是根據實際的複製記錄來計算的,所以他不關心你使用什麼方式進行複製。

pt-heartbeat 可以監控任意深度的複製層級,因為 heartbeat 表中有 server_id 欄位,在監控某個 slave 的延遲時可以指定是參考哪個 server_id,例如想知道這個 slave 與其 master 的 master 的延遲情況,指定目標 master的 server_id 就可以了。

因為 pt-heartbeat 嚴格依賴時間,所以需要注意 master 與 slave 的時間一定要同步。

使用樣本

對 master 執行建立心跳錶的操作,並執行迴圈 update 操作,執行命令:

pt-heartbeat \
--user=root --ask-pass \
--host=127.0.0.1 \
--create-table -D master1 \
--interval=1 --update \
--replace --daemonize
其中指定了 master 的串連資訊,--create-table -D master1 是指在 master1這個資料庫中建立心跳錶,後面的參數指定執行 update 的時間間隔。

然後就可以對 slave 進行監控了,執行命令:

pt-heartbeat \
--user=root --ask-pass \
-h 192.168.31.207 \
-D master1 --table=heartbeat \
--monitor
--monitor 參數指明是要進行監控,之前的是監控目標的資訊,包括 slave 的串連資訊、資料庫和表名。

輸出資訊樣本:

0.00s [  0.00s,  0.00s,  0.00s ]
0.00s [  0.00s,  0.00s,  0.00s ]
0.00s [  0.00s,  0.00s,  0.00s ]
...
0.00s 表示現在的延遲資訊,[ 0.00s, 0.00s, 0.00s ] 表示 1m,5m,15m 的平均值。

安裝過程

下面是在CentOS7下的安裝過程:

$ wget percona.com/get/percona-toolkit.tar.gz
$ tar zxf percona-toolkit-2.2.19.tar.gz
$ cd percona-toolkit-2.2.19
$ yum -y install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker perl-Digest-MD5 perl-DBD-MySQL
$ perl Makefile.PL
$ make
$ make test
$ make install
小結

pt-heartbeat 的官方文檔地址:

https://www.percona.com/doc/percona-toolkit/2.1/pt-heartbeat.html
其中有原理的詳細介紹和參數用法,有興趣的可以仔細看下。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.