nagios監控mysql的主從,我這裏介紹兩種方法,一種是用nagios自帶監控mysql 的插件實現,另外一種是本身寫腳本,下面是兩種方法的具體實現過程:mysql
1、nagios自帶監控mysql的插件實現ios
一、編輯/usr/local/nagios/etc/commands.cfg,添加監控mysql主從的字段:sql
define command{ command_name check_mysql_slave command_line $USER1$/check_mysql -H $HOSTADDRESS$ -P13267 -S -uroot -p123456 -s /data/mysql/nagios/logs/mysql.sock }
PS:-u指定用戶,-P指定端口,-p指定密碼,-s指定sock文件路徑,-S監控主從bash
二、編輯/usr/local/nagios/etc/objects/cfg/navyserver.cfg ,添加監控mysql主從項目:插件
define service{ use generic-service host_name navy service_description check_mysql_slave1 check_command check_mysql_slave }
三、重啓nagios就OK了rest
/etc/init.d/nagios restart
2、腳本監控code
一、撰寫監控腳本orm
vi /usr/local/nagios/libexec/check_mysql_slave #!/bin/sh declare -a slave_is slave_is=($(cd /data/mysql/nagios; /data/mysql/nagios/bin/mysql --sock=logs/mysql.sock -unagios -p123456 -e "show slave status \G"|grep Running |awk '{print $2}')) if [ "${slave_is[0]}" = "Yes" -a "${slave_is[1]}" = "Yes" ] then echo "OK -slave is running" exit 0 else echo "Critical -slave is error" exit 2 fi
二、在/usr/local/nagios/etc/nrpe.cfg中添加監控mysql主從的命令server
command[check_mysql_slave]=/usr/local/nagios/libexec/check_mysql_slave
三、編輯/usr/local/nagios/etc/objects/cfg/navyserver.cfg ,添加監控mysql主從項目:ip
define service{ use generic-service host_name navy service_description check_mysql_slave check_command check_nrpe!check_mysql_slave }
四、重啓nagios就OK了
/etc/init.d/nagios restart