神魂顛倒論壇-Flash http://bbs.flash2u.com.tw

神魂顛倒論壇 是專注於視覺/WEB應用開發的論壇
共1 則內容, 每頁顯示 10 則, 頁碼: [1]
[瀏覽完整版]

標題:[MySQL]Nagios 加上 MySQL Slave Replication Status 檢查

1樓
NetNews 發表於:2015-10-29 1:20:00
[MySQL]Nagios 加上 MySQL Slave Replication Status 檢查

類型:
MySQL

MySQL Status (Monitor)是否例外可以靠自己程式設計檢查 + 解決,不過都已經架了一台 Nagios,就該把檢查的工作全部交給它,才不會東漏一隻、西漏一隻的。

註:此組態主要針對 MySQL 的 DB Slave



Nagios 加上 MySQL Slave Replication Status 檢查

這程式主要是檢查 MySQL Slave status,此 Nagios 的 Script 檢查的專案還不少,不過我只需要確認 Replication 是否正常就夠了,所以更多的檢查就不細看了。

於 Nagios 的 MySQL Slave Status Script

Check MySQL Replication Slave Status - Nagios Exchange

ck :: Nagios Plugin check_mysql_slavestatus MySQL Slave Status Check ::

Nagios 組態使用 MySQL Slave Status Script 的步驟

Nagios 檢查方式有兩種:

遠端透過此 Shell script 去抓取 Slave Status 資料,然後來確認。

遠端呼叫 Slave,Slave 執行抓取 localhost Status 資料,傳送回去確認。

註:避免網路或其它問題就造成誤報,所以下述是讓每台機器自己跑 localhost 檢查(此採用第二種方式)。

[Slave 組態步驟]

ssh slave

MySQL 許可權需要給 SUPER 或 REPLICATION CLIENT

$ mysql -u root -p

mysql> GRANT REPLICATION CLIENT on *.* TO "nagios"@"127.0.0.1" IDENTIFIED BY "password"; # 或 GRANT SUPER on *.* TO "nagios"@"%" IDENTIFIED BY "password";

mysql> flush privileges;

抓取 Nagios MySQL Slave Status Script

cd /tmp

wget http://www.claudiokuenzler.com/nagios-plugins/check_mysql_slavestatus.sh

chmod +x ./check_mysql_slavestatus.sh

./check_mysql_slavestatus.sh -H localhost -P 3306 -u nagios -p password # test,會印出下述

# OK: Slave SQL running: Yes Slave IO running: Yes / master: 123.127.123.123 / slave is 0 seconds behind master | delay=0s

mv check_mysql_slavestatus.sh /usr/lib/nagios/plugins/check_mysql_slavestatus.sh

組態 Nagios

vim /etc/nagios/nrpe.d/mysql_slave.cfg # 加入下述其中一行,不要兩行都加入。 -c 500 是 replication Delay 超過 500 secs 才警告

command[check_mysql_slave_status]=/usr/lib/nagios/plugins/check_mysql_slavestatus.sh -H 127.0.0.1 -P 3306 -u nagios -p password

command[check_mysql_slave_status]=/usr/lib/nagios/plugins/check_mysql_slavestatus.sh -H 127.0.0.1 -P 3306 -u nagios -p password -c 500

/etc/init.d/nagios-nrpe-server restart

上述兩個組態挑其一

測試方式

語法:$USER1$/check_mysqlslave.sh -u $ARG1$ -p $ARG2$ -H $HOSTADDRESS$

範例:$ ./check_mysql_slavestatus.sh -H localhost -P 3306 -u root -p password

[Master 組態步驟]

ssh master

vim /etc/nagios3/conf.d/dbs.cfg

define service{

use generic-service ; Name of service template to use

host_name example.com

service_description MySQL Replication check

check_command check_nrpe_1arg!check_mysql_slave_status

}

/etc/init.d/nagios3 restart

到此即組態完成

相關組態

若要加入 /etc/nagios3/commands.cfg 可以參考下述:(我沒有用到此組態,給有需要的參考用)

一般 check replication 是否有問題

define command {

command_name check_mysql_slavestatus

# command_line $USER1$/check_mysql_slavestatus.sh -H $HOSTADDRESS$ -P $ARG1$ -u $ARG2$ -p $ARG3$

command_line /usr/lib/nagios/plugins/check_mysql_slavestatus.sh -H $HOSTADDRESS$ -P $ARG1$ -u $ARG2$ -p $ARG3$

}

"check_mysql_slavestatus" command definition with delay check

define command {

command_name check_mysql_slavestatus

# command_line $USER1$/check_mysql_slavestatus.sh -H $HOSTADDRESS$ -P $ARG1$ -u $ARG2$ -p $ARG3$ -w $ARG4$ -c $ARG5$

command_line /usr/lib/nagios/plugins/check_mysql_slavestatus.sh -H $HOSTADDRESS$ -P $ARG1$ -u $ARG2$ -p $ARG3$ -c $ARG5$

}

相關網頁

pmp-check-mysql-replication-running

想在手機查閱更多MySQL資訊?免費下載【香港矽谷】Android App

在新視窗檢視







原文站台: Tsung Hao

This work, unless otherwise expressly stated, is licensed under a

Creative Commons Attribution-ShareAlike 3.0 Unported License.











在新視窗檢視

分享到Facebook

共1 則內容, 每頁顯示 10 則, 頁碼: [1]

言論純屬發表者個人意見,與本論壇立場無關,文章版權歸原作者所有,禁止未授權轉載。
不歡迎非法軟體,序號,及受著作權法保護的文章等資訊
論壇內容為使用者即時上載,論壇與本人將不對任何資源或內容負起任何相關法律責任
法律顧問:台灣法律網 劉孟錦律師
內容不當投訴,請電郵至flash2u@gmail.com

Powered By 神魂顛倒 Version 8.2.0
Processed in .06250 s, 2 queries.