Zabbix 檢測Mysql資料庫的主從同步

來源:互聯網
上載者:User

標籤:zabbix 檢測mysql資料庫的主從同步


Zabbix 檢測Mysql資料庫的主從同步


在高並髮網站架構中,MySQL資料庫主從同步是不可或缺的,不過經常會發生由於網路原因或者操作錯誤,MySQL主從經常會出現不同步的情況,那麼如何監控MySQL主從同步,也變成檢測網站正常啟動並執行重要環節。

MySQL同步功能由3個線程(master上1個,slave上2個)來實現,簡單的說就是:master發送日誌一個,slave接收日誌一個,slave作業記錄一個。

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M00/8B/8B/wKiom1hQxt2CfwSzAAAriXxKHZM546.png-wh_500x0-wm_3-wmp_4-s_1757655779.png" title="1.png" alt="wKiom1hQxt2CfwSzAAAriXxKHZM546.png-wh_50" />

Slave_io_Running:yes

Slave_SQL_Running: yes

這兩個同時為yes時,表示主從同步,有一個變為no,同步失敗

我們需要寫一個指令碼,來檢測這兩個參數的狀態

cat mysql-replication.sh

#!/bin/bash

mysql -uroot

-p***-e ‘show slave status\G‘ |grep -E "Slave_IO_Running|Slave_SQL_Running"|awk ‘{print $2}‘|grep -c Yes

測試指令碼時 出現如下錯誤

Warning: Using a password on the command line interface can be insecure.
2

這時檢測端接受的資料是 錯誤和資料   無法被檢測端接受

可以在my.cnf 中 [mysqld] 增加mysql 和 password 我們還可以給資料庫一個沒有密碼的賬戶

mysql -uroot -p密碼

mysql> grant replication client on *.* to ‘zabbix‘@‘localhost‘;

測試將指令碼更改為

#!/bin/bash

mysql -uzabbix -e ‘show slave status\G‘ |grep -E "Slave_IO_Running|Slave_SQL_Running"|awk ‘{print $2}‘|grep -c Yes

測試指令碼顯示如下

2

當顯示1或者0的時候即為同步出現了問題

  在 zabbix agent裡面添加監控項

vim /usr/local/zabbix-3.0.4/etc/zabbix_agentd.conf

UserParameter=mysql.replication,/usr/local/zabbix-3.0.4/bin/mysql-replication.sh

等號後面的字串中,逗號前面是Key,後面是執行的指令碼(指令碼不要忘了執行許可權)

重啟zabbix agent

在zabbix server做測試 看是否可以接受到資料

[[email protected] bin]# ./zabbix_get -s 192.168.2.44 -k "mysql.replication"
2
表示成功

在監控介面增加監控項和觸發器

650) this.width=650;" src="http://s2.51cto.com/wyfs02/M02/8B/8B/wKiom1hQywCB0SYmAABP3F_wycQ981.png-wh_500x0-wm_3-wmp_4-s_756616328.png" title="2.png" alt="wKiom1hQywCB0SYmAABP3F_wycQ981.png-wh_50" />

    當返回的值小於2時,說明只存在1個YES或0個YES,這時候說明MYSQL主從同步出現異常,即產生警示;

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M02/8B/87/wKioL1hQywGRxrljAABcn0wNro0164.png-wh_500x0-wm_3-wmp_4-s_711028956.png" title="3.png" alt="wKioL1hQywGRxrljAABcn0wNro0164.png-wh_50" />

此時在從庫中執行stop slave ;

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M01/8B/87/wKioL1hQzBjhPT44AAAIM6evhtw834.png-wh_500x0-wm_3-wmp_4-s_3278374060.png" title="R62)D(_8B]ZMMH`GM$F5W7H.png " alt="wKioL1hQzBjhPT44AAAIM6evhtw834.png-wh_50" />

接收到郵件

650) this.width=650;" src="http://s5.51cto.com/wyfs02/M02/8B/8B/wKiom1hQzDaT3-ChAABZuxuArXs376.png-wh_500x0-wm_3-wmp_4-s_1965624742.png" title="4.png" alt="wKiom1hQzDaT3-ChAABZuxuArXs376.png-wh_50" />

啟動salve start slave

650) this.width=650;" src="http://s4.51cto.com/wyfs02/M02/8B/87/wKioL1hQzHSyMbcwAAAIOeQJJlY496.png-wh_500x0-wm_3-wmp_4-s_3105317854.png" title="9.png" alt="wKioL1hQzHSyMbcwAAAIOeQJJlY496.png-wh_50" />

收到回複郵件

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M00/8B/87/wKioL1hQzLuxhShxAABP220h8LI190.png-wh_500x0-wm_3-wmp_4-s_1948469722.png" title="100.png" alt="wKioL1hQzLuxhShxAABP220h8LI190.png-wh_50" />


增加主從監控成功







Zabbix 檢測Mysql資料庫的主從同步

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.