监控对象
数据库可用性监控
数据库进程或是端口存在并不意味着数据库就是可用的
也就是说登陆服务器,并且能正确执行mysql命令
数据库性能
QPS和DPS
并发线程数量(同时执行sql语句的数量,不是连接数)
对Innodb阻塞和死锁进行监控
分区磁盘空间
防火墙的限制,TCP/IP可能被沾满
确认数据库是否可以连接
通过测试账号ping命令返回的信息判断数据库可以通过网络连接(批量)
确定数据库是否可读写
监控数据库的连接数
导致数据库的连接数突然增长:
出现阻塞(数据库并发请求突增)
像Memcahe这样的缓存失效
当大于0.8时报警通知管理员。
数据库性能监控
周期性执行show global status获取QPS
1
MyISAM使用的是表级锁,所有更容易阻塞(实时监控满查询来查看表阻塞)
查询阻塞测试:
连接1(增加一个排它锁):
连接2(添加事务,被阻塞):
数据库主从复制监控
数据库主从复制延迟监控
show slave status(不准确(不能发现这种延迟),网络问题,主上大量的log没有同步到从上,同时从上的log已经被重用完了)
1
使用多线程的程序同时对于主从服务器的状态进行检查
当每次修复完主从复制,都要检查主从复制数据的一致性
验证主从复制的数据是否一致
pt-table-checksum
1
在主库下进行
databases 指定数据库的名字
在test库下创建checksums表,并将监测结果放在其中
---------------------
作者:侠客岛的含笑
来源:CSDN
原文:https://blog.csdn.net/qq_33936481/article/details/73008730
版权声明:本文为博主原创文章,转载请附上博文链接!