开发者社区> 科技探索者> 正文

nagios 监控mysql(check_mysql_health插件)

简介:
+关注继续查看
nagios 监控mysql(check_mysql_health插件)
 
# mount /dev/cdrom /media/cdrom
# rpm -ivh /media/cdrom/Server/perl-DBI-1.52-2.el5.i386.rpm
# rpm -ivh /media/cdrom/Server/perl-DBD-MsSQL-3.0007-2.el5.i386.rpm --nodeps
 
# tar zxf check_mysql_health-2.1.7.tar.gz
# cd check_mysql_health-2.1.7
# ./configure
# make && make install
 
# mysql -u root -p123456
> grant all on *.* to ming@'localhost' identified by '123456';
> quit
 
注:让该用户有访问本地mysql的权限即可,可用mysql -u ming -p123456验证,权限不一定给all

 
方式一(localhost监控):
 
# vi /usr/local/nagios/etc/objects/commands.cfg
 
define command{
        command_name    check_mysql_health
        command_line    $USER1$/check_mysql_health --hostname $ARG1$ --port $ARG2$ --username $ARG3$ --password $ARG4$ --mode $ARG5$
--warning $ARG6$ --critical $ARG7$
        }
:wq

# vi /usr/local/nagios/etc/objects/localhost.cfg

define service{
        use                             local-service         ; Name of service template to use
        host_name                       myhostname
        service_description             check_mysql_connections
        check_command                   check_mysql_health!192.168.1.10!3306!ming!123456!threads-connected!700!1000
        }

:wq
 

可先测试一下:
 
#./check_mysql_health --hostname 192.168.1.10 --port 3306 --username ming --password 123456 --mode threads-connected --warning 700 --critical 1000
 
注:在线程数(连接数)超过1000或无法连接时红灯报警,线程数在700以内0以上为绿灯,700到1000之间为黄灯。
 
方式二(nrpe监控):
 
下面要借助于nrpe(nrpe安装步骤略)

# vi /usr/local/nagios/etc/nrpe.cfg
command[check_mysql]=/usr/local/nagios/libexec/check_mysql_health --hostname 192.168.1.10 --port 3306 --username ming --password 123456 --mode threads-connected --warning 700 --critical 1500

:wq
 
重启nrpe:
 
# killall nrpe
# /usr/local/nagios/bin/nrpe  -c /usr/local/nagios/etc/nrpe.cfg -d

# vi /usr/local/nagios/etc/objects/ming.cfg                     (ming.cfg为监控主机的文件,自建的)

define service{
        use                             local-service         ; Name of service template to use
        host_name                       myhostname
        service_description             check_mysql
        check_command                   check_nrpe!check_mysql
        }

:wq
 
 
附:
利用check_mysql_health实现多种监控模式:
       connection-time          (Time to connect to the server)
       uptime                   (Time the server is running)
       threads-connected        (Number of currently open connections)线程数
       threadcache-hitrate      (Hit rate of the thread-cache)慢查询
       slave-lag                (Seconds behind master)
       slave-io-running         (Slave io running: Yes)主从热备
       slave-sql-running        (Slave sql running: Yes)主从热备
       qcache-hitrate           (Query cache hitrate)
       qcache-lowmem-prunes     (Query cache entries pruned because of low memory)
       keycache-hitrate         (MyISAM key cache hitrate)
       bufferpool-hitrate       (InnoDB buffer pool hitrate)
       bufferpool-wait-free     (InnoDB buffer pool waits for clean page available)
       log-waits                (InnoDB log waits because of a too small log buffer)
       tablecache-hitrate       (Table cache hitrate)
       table-lock-contention    (Table lock contention)锁表率
       index-usage              (Usage of indices)
       tmp-disk-tables          (Percent of temp tables created on disk)
       slow-queries             (Slow queries)
       long-running-procs       (long running processes)
       cluster-ndbd-running     (ndnd nodes are up and running)
       sql                      (any sql command returning a single number)
本文转自linux博客51CTO博客,原文链接http://blog.51cto.com/yangzhiming/842131如需转载请自行联系原作者

yangzhimingg

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器安全组设置内网互通的方法
虽然0.0.0.0/0使用非常方便,但是发现很多同学使用它来做内网互通,这是有安全风险的,实例有可能会在经典网络被内网IP访问到。下面介绍一下四种安全的内网互联设置方法。 购买前请先:领取阿里云幸运券,有很多优惠,可到下文中领取。
22274 0
Nagios插件开发之监控程序占用资源 推荐
    一般情况下,我们只需要监控程序进程在没在就可以了。但是这次遭遇了这样的事,公司开发的程序,程序进程还在,但是死锁了。导致大范围的影响,更要命的是根本不知道问题出在哪里,还是别的测试部同事帮忙发现的,真是丢尽运维的脸了… 为避免下次再遭遇到这样的情况,分析了这次进程死锁的现象,发现死锁会占用100%的cpu,正常情况下只占用10%以内。
696 0
Nagios插件开发之监控服务器负载 推荐
需求:    今天上午有一台存储服务器未读写,但由于是集群环境,并没有发现这个问题。后来偶然看到该服务器负载为0才发现不对劲,正常情况下应该为5。平时我们监控都是负载高于某个值,而从没想过负载太低也是问题。
824 0
5488
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载