nagios监控内网mysql主从同步

本文介绍如何使用nagios监控脚本监控多台MySQL从库的同步状态,包括创建监控脚本、添加NRPE监控内容、配置监控服务等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

公司为了节俭,采用一台机器安装多个mysql来同步其他mysql数据服务器,这样监控主从同步就成为问题,幸好有nagios监控

首先是mysql从库创建nagios监控脚本

[vim  /usr/local/nagios/libexec/check_mysql_slave
#!/bin/bash
declare -a slave_status
slave_status=($(mysql -uroot -S $1 -e 'show slave status\G' | grep Running|awk '{print $2}'))
if [ "${slave_status[0]}" = "Yes" -a "${slave_status[1]}" = "Yes" ]
   then
   echo "OK -slave copy is running"
   exit 0
else
   echo "Critical -slave is error"
   exit 2
fi

----------------------------------------------------------

添加nrpe监控内容

vim /usr/local/nagios/etc/nrpe.cfg

command[check_mysql_slave_31]=/usr/local/nagios/libexec/check_mysql_slave /tmp/mysql31.sock
command[check_mysql_slave_32]=/usr/local/nagios/libexec/check_mysql_slave /tmp/mysql32.sock
command[check_mysql_slave_33]=/usr/local/nagios/libexec/check_mysql_slave /tmp/mysql33.sock
command[check_mysql_slave_36]=/usr/local/nagios/libexec/check_mysql_slave /tmp/mysql36.sock
command[check_mysql_slave_55]=/usr/local/nagios/libexec/check_mysql_slave55 /tmp/mysql55.sock

 

监控服务器上自定义命令 vim  /usr/local/nagios/nagiosweb/etc/objects/commands.cfg

define command{
        command_name check_nrpe_lan
        command_line $USER1$/check_nrpe -H $_HOSTWANIP$ -p $_HOSTPORT$ -c$ARG1$
        }

添加监控服务

more /opt/nagios/nagiosweb/etc/linuxserver/kan80.37.cfg

[root@localhost ~]# more /opt/nagios/nagiosweb/etc/linuxserver/kan80.37.cfg

define host{
 use linux-server-lan
 host_name kan192.168.180.37
 alias   kan192.168.180.37
 address 192.168.180.37
 _wanip  118.26.230.54
 _port  56637
 }
define service{
        use                             generic-service         ; Name of service template to use
        host_name                       kan192.168.180.37
        service_description             Root Partition
        check_command                   check_nrpe_lan!check_sda1!20%!10%!/
        }
# 检查远程Linux主机的登录人数
define service{
        use                             generic-service         ; Name of service template to use
        host_name                       kan192.168.180.37
        service_description             Current Users
        check_command                   check_nrpe_lan!check_users
        }
define service{
        use                             generic-service         ; Name of service template to use
        host_name                       kan192.168.180.37
        service_description             check-disk2
        check_command                   check_nrpe_lan!check_sda2!20%!10%!/
        }
define service{
        use                             generic-service         ; Name of service template to use
        host_name                       kan192.168.180.37
        service_description             check-disk3
        check_command                   check_nrpe_lan!check_sda5!20%!10%!/
        }
define service{
        use                             generic-service         ; Name of service template to use
        host_name                       kan192.168.180.37
        service_description             check-disk4
        check_command                   check_nrpe_lan!check_sdb1!20%!10%!/
        }
define service{
        use                             generic-service         ; Name of service template to use
        host_name                       kan192.168.180.37
        service_description             check-sql-slave_192.168.180.31
        check_command                   check_nrpe_lan!check_mysql_slave_31!/
        }
define service{
        use                             generic-service         ; Name of service template to use
        host_name                       kan192.168.180.37
        service_description             check-sql-slave_192.168.180.32
        check_command                   check_nrpe_lan!check_mysql_slave_32!/
        }
define service{
        use                             generic-service         ; Name of service template to use
        host_name                       kan192.168.180.37
        service_description             check-sql-slave_192.168.180.33
        check_command                   check_nrpe_lan!check_mysql_slave_33!/
        }

define service{
        use                             generic-service         ; Name of service template to use
        host_name                       kan192.168.180.37
        service_description             check-sql-slave_192.168.180.36
        check_command                   check_nrpe_lan!check_mysql_slave_36!/
        }
define service{
        use                             generic-service         ; Name of service template to use
        host_name                       kan192.168.180.37
        service_description             check-sql-slave_118.26.230.55
        check_command                   check_nrpe_lan!check_mysql_slave_55!/
        }

 

注意标红的是自定义变量的使用,前后对照着的

 监控页面如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值