nagios中自己写的监控mysql主从复制的插件
生活随笔
收集整理的這篇文章主要介紹了
nagios中自己写的监控mysql主从复制的插件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
大家可能遇到這樣的問題,mysql的主已經寫入數據了,但是卻沒有同步到從myql那里,或者延遲很長時間才同步過去。說明一下我們的網絡環境,我們每臺數據庫都有兩個網線,分別連接內網和外網的千兆交換機,速度肯定不是問題。如果延遲很長的話,肯定是出問題,比如數據庫被lock了,或者開發人員的一些不當的操作等。這時候就需要監控主從同步的狀態已經主從同步的時間間隔等。以便及時與開發人員溝通,及時解決問題。下面是我自己寫的一個腳本名字叫check_mysql_delay:
#!/bin/bash aa=`/usr/local/mysql/bin/mysql -u 用戶 –p密碼?--socket=/數據庫目錄/$1/mysql_$1.sock?-e "show slave status\G"|egrep Read_Master_Log_Pos|awk'{print $2}'` bb=`/usr/local/mysql/bin/mysql -u 用戶 –p密碼?--socket=/數據庫目錄/$1/mysql_$1.sock?-e "show slave status\G"|egrep Exec_Master_Log_Pos|awk'{print $2}'` cc=`expr $aa - $bb` if [ $cc -gt 10000?] then echo "$1 is CRITICAL $aa $bb $cc" #exit $STATE_CRITICAL; exit 2; else echo "$1 is OK $aa?$bb?$cc" #exit $STATE_OK; exit 0; fi 把該腳本放到/usr/local/nagios/libexec目錄下面。 然后修改/usr/local/nagios/etc/nrpe.cfg,在后面添加一行 command[check_mysql_delay3306]=/usr/local/nagios/libexec/check_mysql_delay 3306 注意這個3306就是給上面腳本當中$1賦值用的,如果有多個mysql實例的話,可以多寫幾行。 然后修改nagios服務器端的配置文件。在服務的配置文件中添加如下內容 define service { use??? db-server host_name?host當中定義的主機名 service_description?check_rep_delay3306 check_command check_nrpe!check_mysql_delay3306 } 然后重新加載一下nagios就ok了。總結
以上是生活随笔為你收集整理的nagios中自己写的监控mysql主从复制的插件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 读书笔记12:观察者模式
- 下一篇: iOS编程陷井2,模拟器不可靠