http://blog.163.com/ly_89/blog/static/18690229920111129113543770/
10年積累的網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有洪山免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
作為一名運維人員,對于 MySQL 的主從同步我們并不陌生。我們?nèi)绾文艿弥鲝膸焓欠裨趯崟r的同步呢?每隔一分鐘登錄到數(shù)據(jù)庫到數(shù)據(jù)庫執(zhí)行 show slave status\G 顯然是不靠譜。不要忘記我們有監(jiān)控之神 nagios,我們可以通過 nagios 來監(jiān)控主從庫的同步狀態(tài)。那如何來實現(xiàn)nagios 監(jiān)控 mysql 主從同步狀態(tài)呢?
我們都知道登錄到 mysql 數(shù)據(jù)庫之后,通過 show slave status\G 查看其輸出,即可以判斷主從復(fù)制是否正常,下面來看某個服務(wù)器懂得輸出
mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 172.16.117.251
Master_User: test1
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000008
Read_Master_Log_Pos: 16755097
Relay_Log_File: Slave_sql-relay-bin.000728
Relay_Log_Pos: 235
Relay_Master_Log_File: mysql-bin.000008
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 16755097
Relay_Log_Space: 235
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
1 row in set (0.00 sec)
這個輸出,最關(guān)鍵處就是"Slave_IO_Running: Yes“和“Slave_SQL_Running: Yes”,這兩個值全是"Yes"就表明主從庫同步成功
##############################################################################################
nagios 監(jiān)控 Mysql 主從同步的操作步驟:
第一部分:客戶端配置
1. 編寫腳本/usr/local/nagios/libexec/check_mysql_slave (這個腳本是監(jiān)控mysql 主從同步狀態(tài)的核心)
#!/bin/sh slave_is=($(/usr/local/mysql/bin/mysql -uroot -pabc -e "show slave status\G"|grep Running |awk '{print $2}')) if [ "${slave_is[0]}" = "Yes" -a "${slave_is[1]}" = "Yes" ] then echo "OK C2-slave is running" exit 0 else echo "Critical C2-slave is error" exit 2 fi |
2. 編輯 /usr/local/nagios/libexec/etc/nrpe.cfg 加入監(jiān)控 mysql 主從狀態(tài)同步的命令
command[check_mysql_slave]=/usr/local/nagios/libexec/check_mysql_slave |
3. 啟動 nrpe 服務(wù),并檢查其端口是否監(jiān)聽
[root@Slave_sql libexec]# /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d [root@Slave_sql libexec]# netstat -npl | grep nrpe tcp 0 0 0.0.0.0:5666 0.0.0.0:* LISTEN 27500/nrpe |
4. 啟動 mysql 服務(wù)手動執(zhí)行該腳本
[root@Slave_sql libexec]# ./check_mysql_slave OK C2-slave is running |
5. 關(guān)閉 mysql 服務(wù)手動執(zhí)行該腳本
[root@Slave_sql libexec]# ./check_mysql_slave Critical C2-slave is error |
第二部分:服務(wù)器端的配置:
1. 編輯 /usr/local/nagios/etc/objects/host.cfg 定義監(jiān)控的 client
define host { use linux-server |
2. 編輯 /usr/local/nagios/etc/objects/ service.cfg
define service { max_check_attempts 2 |
3. 重啟 nagios 和 apache 服務(wù)
[root@node2 objects]# /etc/init.d/nagios restart Running configuration check...done. Stopping nagios: done. Starting nagios: done. [root@node2 objects]# /etc/init.d/httpd restart Stopping httpd: [ OK ] Starting httpd: [ OK ] |
查看 nagios 監(jiān)控圖像
標(biāo)題名稱:nagios監(jiān)控mysql主從同步狀態(tài)
文章源于:http://jinyejixie.com/article6/gggcig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、響應(yīng)式網(wǎng)站、服務(wù)器托管、定制網(wǎng)站、企業(yè)網(wǎng)站制作、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)