欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Nagios监控MySQL主从状态的简单脚本

程序员文章站 2024-04-03 21:26:04
...

使用nagios监控mysql主从,在监控主机上需要安装nrpe软件包以及nagios软件包,安装步骤就不多说了,下面进入正题

使用nagios监控mysql主从,在监控主机上需要安装nrpe软件包以及nagios软件包,,安装步骤就不多说了,下面进入正题

在监控主机上:

首先定义主机:

vim /usr/local/nagios/etc/objects/localhost.cfg
define host {
host_name joker
alias test
address 192.168.xx.xx
check_command check-host-alive
notification_options d,u,r
check_interval 1
max_check_attempts 2
contact_groups admins
notification_interval 10
notification_period 24x7
}

定义服务:

define service {
host_name joker
service_description nrpe
check_period 24x7
normal_check_interval 2
retry_check_interval 1
max_check_attempts 5
notification_period 24x7
notification_options w,u,c,r
check_command check_nrpe!check_mysql
}

定义command:

define command {
command_name check_nrpe
command_line /usr/local/nagios/libexec/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}

在被监控主机上:

安装nrpe
tar fvxz nrpe*.tar.gz
./configure --prefix=/usr/local/nagios
useradd nagios
make all
make install
make install-daemon
make install-daemon-config
make install-xinetd

scp /usr/local/nagios/libexec/check_nrpe root@192.168.18.105:/usr/local/nagios/libexec

vim /etc/xinetd.d/nrpe
service nrpe
{
flags = REUSE
socket_type = stream
port = 5666
wait = no
user = nagios
group = nagios
server = /usr/local/nagios/bin/nrpe
server_args = -c /usr/local/nagios/etc/nrpe.cfg --inetd
log_on_failure += USERID
disable = no
only_from = 192.168.18.105
}
vim /etc/services

在最后添加nrpe 5666/tcp
service xinetd restart

vim /usri/local/nagios/etc/nrpe.cfg
command[check_mysql]=/usr/local/nagios/libexec/check_mysql

vim /usr/local/nagios/libexec/check_mysql
#!/bin/bash
master=`mysql -h 192.168.18.165 -u hello -p123 -e 'show master status' &> /tmp/123 | awk 'NR==2{print $2}' /tmp/123`
slave=`mysql -e 'show slave status' &> /tmp/234 | awk =F: '{if($1~/Exec/)print $2}' /tmp/234`
if [ $master -eq $slave ]; then
echo "ok"
rm -fr /tmp/123
rm -fr /tmp/234
exit 0
else
echo "error"
mv /tmp/123 /tmp/err1
mv /tmp/234 /tmp/err2
exit 2

最后进行测试,本人亲测OK~~~

Nagios监控MySQL主从状态的简单脚本