shell笔记08(生产环境监控mysql的多种方式)
2018-12-04 本文已影响20人
机智的老刘明同志
方法一:
首先我们检测3306端口,然后用awk命令获取到3306这个字符串(awk命令明哥已经整理)
缺点:此处是本地监控,端口在,但是服务可能不正常(高负载,高cpu,连接数满了)
![](https://img.haomeiwen.com/i13091615/3d749953b939b03f.png)
![](https://img.haomeiwen.com/i13091615/4e17e6ce5e49534f.png)
这里我们显示一下shell脚本的执行过程
![](https://img.haomeiwen.com/i13091615/b6a24855f5d8a1d2.png)
利用awk获取字符串再与3306比较,这种方式相对比较僵硬,我们还可以利用wc -l 命令来统计行数
![](https://img.haomeiwen.com/i13091615/790b2300fdb5160e.png)
方法二:
如果mysql的进程和端口同时存在,我们则默认mysql服务正常
grep -v 显示不包含匹配文本的所有行(因为grep进程也会统计在内,排除掉),正常来说mysql正常启动会有1个端口2个进程,我们可以通过判断这两个数字来进行验证mysql是否正常启动
缺点:此处是本地监控,端口在,但是服务可能不正常(高负载,高cpu,连接数满了)
![](https://img.haomeiwen.com/i13091615/ef977adf6d371273.png)
![](https://img.haomeiwen.com/i13091615/699f58f85ee2a58e.png)
方法三:
我们可以创建一个临时账号,使用临时账号登录mysql,然后判断该命令是否执行成功(我们启动mysql的时候可以使用 [ -x ] 来判断当前用户是否可执行 )
缺点:必须要有mysql的账号密码,主机的授权,以及mysql客户端
![](https://img.haomeiwen.com/i13091615/171daa444b841a42.png)
方法四:
使用php/java脚本来进行判断
优点:最接近用户真实访问
![](https://img.haomeiwen.com/i13091615/fc436b0c4df026a1.png)