码迷,mamicode.com
首页 > 数据库 > 详细

关于mysql监控脚本怎么写会比较好的记录

时间:2015-06-01 16:10:54      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:

最近,自己业务进行上线,上线后,需要考虑的是对各种服务进行监控,包括(httpd服务,mysqld服务等),现在想以mysqld服务为例总结下那种方式的脚本最为专业和合理:

(1).根据mysql的端口号来监控mysql的服务。(常见于监控mysql的本地服务)

    比较常见的一个脚本:

1 netstat -natup|grep mysqld|awk -F[ :]+ {print $5}

 上面是将mysqld的端口号进行了过滤,这个方法的缺点是:有可能是端口在,但是服务可能是不正常的。例如:系统负载很高,cpu的负载也很高,连接数满了,这个是其存在的问题之一。

(2).根据mysql的进程监控mysql的服务:

     比较常见的一个脚本:

1 ps -aux |grep mysqld |grep -v grep|wc -l

  这种方式的缺点也是和上面的一样:有可能是端口在,但是服务可能是不正常的。例如:系统负载很高,cpu的负载也很高,连接数满了,这个是其存在的问题之一。

(3). 通过mysql客户端的命令以及用账户连接mysql,然后根据确定返回的命令状态或者返回的内容来确定mysql是否正常(本地或者是远程的连接状态)。

比较常见的一个判断脚本(只是其中的一些个核心内容):

1 mysql -uroot -p1234 -eselect version();>&/dev/null
2 echo $?

如果上面的$?是0 的话,说明是能够正常连接的,如果为1的话,则说明是连接失败的。

这种方式的缺点是,需要有mysql的连接客户端,要有数据的账号和密码,以及连接数据库主机的授权。

(4).通过php/java的方式直接连接mysql的方式来监控mysql的服务状态。

比较常见的一个脚本,也是比较简单的:

1 <?php
2 $conn = mysql_connect(‘root‘,‘1234‘,‘locahost‘,3306) or die(‘mysql coulc not connect‘.mysql_error());
3 
4 ?>

这种方式是最接近用户的访问方式,效果是最好的,因为上面的这种方式尽管就算是端口存在,但是只要服务器的cpu负载很高,那用户的访问肯定是不正常的。

所以报警的最佳方式不是服务的报警是否开启了,而是网站的用户访问是否还是正常。这才是最佳的报警原则和方式。  我们应该从用户的角度出发考虑问题,而不是说从运维的角度来考虑问题。 所以应该在工作中使用这个方式。

 

关于mysql监控脚本怎么写会比较好的记录

标签:

原文地址:http://www.cnblogs.com/shangzekai/p/4543888.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!