`
xiaolin0199
  • 浏览: 573204 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Nagios自动监控Mysql同步

 
阅读更多

 

 

方案一

先检查master上master status的状态,sleep 1,再检查slave上slave status,只要slave status上相应的file和position >= master上的,就认为是OK,否则发报警mail,仅供参考,这里使用方案二。

 

方案二

 

登入mysql从服务器,通过执行 mysql> show slave status\G 查看其输出,即可判定主从复制是否正常。

 

下面是某个从服务器的输出:登入mysql从服务器,通过执行 mysql> show slave status\G 查看其输出,即可判定主从复制是否正常。下面是某个从服务器的输出:

mysql> show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.93.16
                  Master_User: rep1
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000004
          Read_Master_Log_Pos: 1752541
               Relay_Log_File: hy-mysql3-relay-bin.000088
                Relay_Log_Pos: 2339
        Relay_Master_Log_File: mysql-bin.000004
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: 

 

这个输出,最关键处就是"Slave_IO_Running: Yes“和“Slave_SQL_Running: Yes”,这两个值全是"Yes"就表明同步正常。

 

操作步骤:

 

下载一个perl 写的查看脚本

 

# wget http://www.james.rcpt.to/svn/trunk/nagios/check_mysql_replication/check_mysql_replication.pl

 

# chmod 755 check_mysql_replication.pl

 

运行一下这个脚本

./check_mysql_replication.pl

Can't locate DBI.pm in @INC (@INC contains: /usr/local/lib/perl5/5.8.9/BSDPAN /usr/local/lib/perl5/site_perl/5.8.9/mach /usr/local/lib/perl5/site_perl/5.8.9 /usr/local/lib/perl5/5.8.9/mach /usr/local/lib/perl5/5.8.9 .) at ./check_mysql_replication.pl line 6.
BEGIN failed--compilation aborted at ./check_mysql_replication.pl line 6.

 

错误原因:系统没有按安装DBI组件

 

DBI(Database Interface)是perl连接数据库的接口。其是perl连接数据库的最优秀方法,他支持包括Orcal,Sybase,mysql,db2等绝大多数的数据库。

 

解决办法:安装DBI、Data-ShowTable、DBD-mysql (假设你已安装完perl和mysql数据库)

 

果然好用了

%./check_mysql_replication.pl 
DBI connect('database=mysql;host=slavehost;port=3306','repl',...) failed: Can't connect to MySQL server on 'slavehost' (13) at ./check_mysql_replication.pl line 166
UNKNOWN: Cannot connect to slave slavehost:3306

 

这个脚本要修改一处地方 :

 59 my $options = {
 60     'slave-port'                    => 3306,
 61     'slave'                         => 'slavehost',
 62 #    'schema'               => 'mysql',
 63     'schema'                => 'information_schema',

 

 

因为默认不让访问 mysql 数据库,而 information_schema 就没问题。

此处不修改,无法正常运行。当然按照说明上说的 

MySQL 3: GRANT File, Process on *.* TO repl@192.168.0.% IDENTIFIED BY <pass>
MySQL 4: GRANT Super, Replication client on *.* TO repl@192.168.0.% IDE...

 

也行,但是我不想修改用户权限, 所以修改61行 ,schema 的值, 从 'mysql' 改为 'information_schema' 也是可行的。

 

调试那个脚本

%./check_mysql_replication.pl --slave guanyu --slave-user myusername --slave-pass mypass --master liubei --master-user myusr --master-pass lidongisgreatxx

OK: 0.000 diff, 0 secs, liubei:3306 (5.5.10-log) -> guanyu:3306 (5.5.15)

 

 

安装脚本

把刚刚那个脚本拷贝到下面目录:

/usr/local/libexec/nagios

cp check_mysql_replication.pl check_mysql_replication.pl

# vim /usr/local/etc/nagios/objects/commands.cfg 
增加

define command {
        command_name    check_mysql_replication
        command_line    /usr/local/libexec/nagios/check_mysql_replication.pl --slave $HOSTADDRESS$ --slave-user $ARG1$ --slave-pass $ARG2$ --master $ARG3$ --master-user $ARG4$ --master-pass $ARG5$
        }



# vim objects/hosts.cfg

加上一段:

define service{
        use                             generic-service         ; Name of service template to use
        host_name                       mysql_slave
        service_description             mysql replication
        check_command                   check_mysql_replication!user!passwd!192.168.1.161!user!passwd
        notifications_enabled           1
        }

 

 

验证配置文件是否正确

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

 

重读nagios配置文件,立即生效

FreeBSD下     /usr/local/etc/rc.d/nagios reload

 

看看完工后的状态

目前监控了 关羽,陆逊, 庞统 三台服务器的Mysql复制情况,同时监控多台服务器的状态。



 

 

参考文档

 * http://blog.163.com/leijie131421@126/blog/static/4241114520115203333964/

 * http://hi.baidu.com/farmerluo/blog/item/d9899d161e7d3044f2de324b.html

  * http://hzcsky.blog.51cto.com/1560073/472982

 

  • 大小: 198 KB
分享到:
评论

相关推荐

    nagios监控mysql主从

    ### Nagios监控MySQL主从知识点解析 #### 一、Nagios与MySQL主从监控概述 Nagios是一款开源的网络监控系统,可以用来监控主机、网络服务等资源的状态,并在出现问题时通过邮件等方式发送告警通知。对于企业级应用...

    nagios check_mysql_health

    综上所述,Check_MySQL_Health是Nagios监控MySQL数据库的必备工具,通过全面的检查和丰富的配置选项,确保你的MySQL服务器始终保持最佳运行状态。正确配置和使用这个插件,可以帮助你提前发现并解决潜在的问题,从而...

    Cacti和Nagios网络监控平台安装配置

    - 可以使用插件或脚本自动同步Cacti和Nagios中的监控对象和服务信息。 ### 使用Cacti和Nagios进行监控 #### Cacti+SNMP的监控 Cacti通过SNMP协议收集数据,可以监控Linux和Windows主机。具体步骤包括: - 在目标...

    nagios详细安装和插件介绍

    - **MySQL监控**:监控MySQL数据库服务器的状态,包括主从复制等。 - **Oracle监控**:监控Oracle数据库服务器的运行情况。 ### 告警通知 除了基本的告警机制外,还可以通过集成即时通讯工具(如飞信机器人)实现更...

    分享MySQL的自动化安装部署的方法

    你可以集成Nagios、Zabbix等监控系统,实时监控MySQL的性能指标,如CPU使用率、内存占用、磁盘空间、查询性能等。一旦发现异常,立即触发报警通知,以便及时处理问题。 综上所述,MySQL的自动化安装部署涉及到RPM包...

    Nagios集成cacti脚本

    4. **数据库修改**:可能涉及修改MySQL数据库中的表结构或添加特定的监控项,以确保Nagios和Cacti的数据同步。 5. **权限设置**:确保Nagios和Cacti之间的通信安全,设置正确的文件和目录权限。 6. **自动发现**:...

    cacti+nagios安装全过程及cacti整合nagios

    - 根据Cacti的需求,配置Nagios监控网络设备和服务。 3. **Cacti与Nagios整合**: - 在Cacti中配置Nagios接口,将Nagios的监控数据集成到Cacti的图形展示中。 - 可能会遇到一些报错,根据错误信息进行解决,例如...

    nagios-plugins-1.4.16.tar.gz

    总的来说,"nagios-plugins-1.4.16.tar.gz"提供的插件集是Nagios监控功能的基础,它们能够帮助管理员实时监控网络、服务器和应用的运行状态,及时发现并解决问题,从而保障整个IT系统的稳定性和可靠性。正确配置和...

    MySQL管理之道 性能调优、高可用与监控.part2.rar

    《mysql管理之道:性能调优、高可用与监控》由资深mysql专家撰写,以最新的mysql版本为基础,以构建高性能mysql服务器为核心,从故障诊断、表设计、sql优化、性能参数调优、mydumper逻辑、xtrabackup热备份与恢复、...

    mha4mysql-manager-0.57.tar和mha4mysql-node-0.57.tar

    MHA Manager是MHA的核心组件,它监控MySQL主从集群的状态,当检测到主服务器故障时,会自动将一个从库提升为主,确保服务的连续性和数据的一致性。`mha4mysql-manager-0.57.tar`包含这个组件的源代码和相关配置文件...

    nagios与cacti整合标准精细版本文档(20110401更新)

    NDOUtils 是一组用于将Nagios监控数据存入数据库的工具,支持MySQL或PostgreSQL数据库。 - **安装NDOUtils**:在Nagios服务器上安装NDOUtils。 - **配置NDOUtils**:编辑配置文件`ndo2db.cfg`,指定数据库连接信息...

    系统监控开源软件

    - **简介**:Nagios是一款广受欢迎的开源监控系统,能够对网络中的主机和服务进行主动或被动监控。 - **最新版本**:NagiosPlugins 2.1.3,此版本为两个月前发布的最新插件集。 - **功能**: - 主动和被动监控; -...

    MySQL数据库平台架构建议及讨论

    - **自动化工具**:使用如Zabbix、Nagios等工具实现自动化的监控和告警机制。 综上所述,MySQL数据库因其灵活的架构、强大的功能以及广泛的社区支持而受到许多企业和开发者的青睐。无论是对于初学者还是资深数据库...

    Windows下mysql集群+linux下mysql集群

    - **监控与管理**:使用统一的监控工具(如 Nagios 或 Zabbix)监控整个集群的状态。 综上所述,无论是 Windows 还是 Linux 环境下 MySQL 的安装与配置都需要细致的规划和设置。对于 Windows 平台来说,通过上述...

    运维监控汇报材料.pptx

    主动推送适用于新应用自动加入监控,但可能存在目标识别和时间同步问题;被动拉取则更易于监控目标的发现和数据准确性,但需要额外的发现机制。 2. 数据存储:常用存储方式有RRD(如Nagios、collectd、Ganglia)、...

Global site tag (gtag.js) - Google Analytics