数据库监控

1. 数据库可用性监控

 1.1 判断数据库是否可以通过网络连接

  (1)mysqladmin -umonitor_user -p -h ping 或者 telnet ip db_port
  
  (2)使用程序通过网络建立数据库连接,来进行预警。

 1.2 确认数据库是否可读写

  (1)写检查:检查数据库的read_only参数是否为off;

  (2)写检查:建立监控表并对表中数据进行更新;

  (3)读检查:执行简单的查询 select @@version。

 1.3 监控数据库的连接数
show variables like 'max_connections';       #查看数据库的最大连接数;

show global status like 'Threads_connected'; #查看数据库当前的连接数;

  可以通过 Threads_connected/max_connections>0.8 来进行报警

2. 数据库性能监控

 2.1 计算 QPS(查询量/秒) 和 TPS(事务数/秒)

可以通过 show global status like ‘%xxx%’ 周期性获取变量数值来计算。

计算公式:

QPS = (Queries2-Queries1)/(Uptime_sice_flush_status2-Uptime_sice_flush_status1)

TPS = ((Com_insert2 + Com_update2 + Com_delete2)-(Com_insert1 + Com_update1 + Com_delete1))/(Uptime_sice_flush_status2-Uptime_sice_flush_status1)
 2.2 如何监控数据库的并发请求数量
show global status like 'Threads_running'; #通常情况下并发处理的数量会远小于同一时间连接到数据库的线程数量,除非阻塞。
 2.3 如何监控Innodb的阻塞
SELECT b.trx_mysql_thread_id AS '被阻塞的线程',b.trx_query AS '被阻塞SQL', c.trx_mysql_thread_id AS '阻塞线程',c.trx_query AS '阻塞SQL',(UNIX_TIMESTAMP()-UNIX_TIMESTAMP(c.trx_started)) AS '阻塞时间'
FROM information_schema.innodb_lock_waits a 
JOIN information_schema.innodb_trx b ON a.requesting_trx_id = b.trx_id
JOIN information_schema.innodb_trx c ON a.requesting_trx_id = c.trx_id
WHERE (UNIX_TIMESTAMP()-UNIX_TIMESTAMP(c.trx_started))>60 ;  #(UNIX_TIMESTAMP()-UNIX_TIMESTAMP(c.trx_started))为阻塞时间(秒)

3. 主从复制监控

 3.1 监控主从复制延迟

   (1)使用多线程的程序同时对于主从服务器的状态来进行检查;
   
   (2)在主上执行命令查看二进制日志的文件名和偏移量:show master status \G;
   
   (3)在从上执行命令查看二进制日志的文件名和偏移量:show slave status \G;
通过对比二进制日志的名字和偏移量来判断主从复制是否延迟。

 3.2 验证主从复制的数据是否一致

    使用插件:

pt-table-checksum u=dba,p='password' --databases test --replicate test.checksums  # 在数据库下创建一张表,写入不一致的数据。该命令使用在主库下,会自动发现主库下的所有从库信息。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值