主頁(yè) > 知識(shí)庫(kù) > 利用pt-heartbeat監(jiān)控MySQL的復(fù)制延遲詳解

利用pt-heartbeat監(jiān)控MySQL的復(fù)制延遲詳解

熱門標(biāo)簽:扎樣申請(qǐng)400電話 地圖標(biāo)注人員兼職 電子地圖標(biāo)注電話 沈陽(yáng)電銷外呼系統(tǒng)原理是什么 ps制作地圖標(biāo)注gif 成都優(yōu)派外呼系統(tǒng) 寧波企業(yè)外呼系統(tǒng)收費(fèi) 聊城智能外呼系統(tǒng)運(yùn)營(yíng)商 上海智能外呼系統(tǒng)代理商

pt-heartbeat

數(shù)據(jù)庫(kù)做主從復(fù)制時(shí),復(fù)制狀態(tài)、數(shù)據(jù)延遲是否正常是非常關(guān)鍵的指標(biāo),那么如何對(duì)其進(jìn)行監(jiān)控呢?

pt-heartbeat 是 PERCONA 開(kāi)發(fā)的一個(gè)工具集中的一個(gè),專門用來(lái)監(jiān)控MySQL和PostgreSQL的復(fù)制延遲。

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

下面來(lái)話不多說(shuō),來(lái)一起看看詳細(xì)的介紹:

監(jiān)控原理

在 master 中建一個(gè) heartbeat 表,其中有一個(gè) 時(shí)間戳 字段,pt-heartbeat 會(huì)周期性的修改時(shí)間戳的值。

slave 會(huì)復(fù)制 heartbeat表,其中就包含了 master執(zhí)行修改動(dòng)作的時(shí)間戳,對(duì)其和 slave 的本地時(shí)間進(jìn)行對(duì)比,得到一個(gè)差值,就是復(fù)制延遲的值,從而判斷復(fù)制狀態(tài)是否正常,以及延遲時(shí)間是否符合預(yù)期。

pt-heartbeat 是根據(jù)實(shí)際的復(fù)制記錄來(lái)計(jì)算的,所以他不關(guān)心你使用什么方式進(jìn)行復(fù)制。

pt-heartbeat 可以監(jiān)控任意深度的復(fù)制層級(jí),因?yàn)?heartbeat 表中有 server_id 字段,在監(jiān)控某個(gè) slave 的延遲時(shí)可以指定是參考哪個(gè) server_id,例如想知道這個(gè) slave 與其 master 的 master 的延遲情況,指定目標(biāo) master的 server_id 就可以了。

因?yàn)?pt-heartbeat 嚴(yán)格依賴時(shí)間,所以需要注意 master 與 slave 的時(shí)間一定要同步。

使用示例

對(duì) master 執(zhí)行創(chuàng)建心跳表的操作,并執(zhí)行循環(huán) update 操作,執(zhí)行命令:

其中指定了 master 的連接信息, --create-table -D master1 是指在 master1這個(gè)數(shù)據(jù)庫(kù)中創(chuàng)建心跳表,后面的參數(shù)指定執(zhí)行 update 的時(shí)間間隔。

然后就可以對(duì) slave 進(jìn)行監(jiān)控了,執(zhí)行命令:

--monitor 參數(shù)指明是要進(jìn)行監(jiān)控,之前的是監(jiān)控目標(biāo)的信息,包括 slave 的連接信息、數(shù)據(jù)庫(kù)和表名。

輸出信息示例:


0.00s 表示現(xiàn)在的延遲信息,[ 0.00s, 0.00s, 0.00s ] 表示 1m,5m,15m 的平均值。

安裝過(guò)程

下面是在CentOS7下的安裝過(guò)程:


pt-heartbeat 的官方文檔地址:https://www.percona.com/doc/percona-toolkit/2.1/pt-heartbeat.html

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

您可能感興趣的文章:
  • The MySQL server is running with the --read-only option so it cannot execute this statement
  • mysql數(shù)據(jù)庫(kù)mysql: [ERROR] unknown option ''--skip-grant-tables''
  • mysql視圖之確保視圖的一致性(with check option)操作詳解
  • MySQL存儲(chǔ)表情時(shí)報(bào)錯(cuò):java.sql.SQLException: Incorrect string value:‘\xF0\x9F\x92\xA9\x0D\x0A...’的解決方法
  • Mysql中的NULL和Empty String
  • javascript連接mysql與php通過(guò)odbc連接任意數(shù)據(jù)庫(kù)的實(shí)例
  • ubuntu下apt-get安裝和徹底卸載mysql詳解
  • MySQL利用AES_ENCRYPT()與AES_DECRYPT()加解密的正確方法示例
  • mysql server is running with the --skip-grant-tables option
  • MySQL pt-slave-restart工具的使用簡(jiǎn)介

標(biāo)簽:汕頭 咸寧 三明 AXB 宿州 內(nèi)江 林芝 朔州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《利用pt-heartbeat監(jiān)控MySQL的復(fù)制延遲詳解》,本文關(guān)鍵詞  利用,pt-heartbeat,監(jiān)控,MySQL,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《利用pt-heartbeat監(jiān)控MySQL的復(fù)制延遲詳解》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于利用pt-heartbeat監(jiān)控MySQL的復(fù)制延遲詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章