视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Nagios监控MySQL主从状态的简单脚本
2020-11-09 11:03:52 责编:小采
文档


使用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~~~

下载本文
显示全文
专题