MySQL学习(九)--数据库监控

Nagios Zabbix
对数据库服务可用性进行监控
    数据库或者端口存在并不意味数据库就是可用的(不够)
    通过网络连接到数据库并且确定数据库是可以对外提供服务的

对数据库性能进行监控
    QPS和TPS

对主从复制进行监控
对服务器资源的监控

数据库可用性的监控:
    mysqkadmin -umonitor_user -p -h ping
    teinet ip db_port

·使用程序通过网络建立数据库连接
    如何确定数据库是否可读写
检查数据库的read_only参数是否为off
建立监控表并对表中数据进行更改
执行简单的查询select@@version

如何监控数据库的连接数    
    原因出现阻塞、memcahe这样的缓存失效
    时刻关注数量
    show variables like 'max_connections';
    show global status like'Threads_connented'
    Threads_connected/max_connections>0.8

性能监控:
记录性能监控过程中所采集到的数据库的状态
如何计算QPS和TPS
CPU的使用率

如何监控数据库的并发请求数量
数据库系统的性能会随着并发处理数量的增加而下降
    show global status like'Threads_running'
并发处理的数量通常会远小于同一时间连接到数据库的线程的数量
    --数据库出现大量阻塞
如何监控Innodb的阻塞
    select b.rex_mysql_thread_id as'被阻塞线程',b.trx_query as '阻塞的sql',c.trx_mysql_thread_id as '阻塞线程',(UXIX_TIMESTAMP()-UNIX_TIMESTAMP(C.TRX_STARTED))AS '阻塞时间'
    from information_schema.inndb_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.blocking_trx_id=c.trx_id
    where (unix_timestamp()-unix_timestamp(c.trx_started()))>60;

MySQL主从复制进行监控
主从复制的延迟
主:show master status;
从:show slave status;
已经传输完成的主上二进制的名字和偏移量

如何检验蛀虫复制的数据是否一致:
pt_checksum u=dba,p="password"
--adtabases mysql\
--replicate tast.checksums

Mysql的分析工具:

Anemometer - 一个 SQL 慢查询监控器。
innodb-ruby - 一个对 InooDB 格式文件的解析器,用于 Ruby 语言。
innotop - 一个具备多种特性和可扩展性的 MySQL 版 'top' 工具。
pstop - 一个针对 MySQL 的类 top 程序,用于收集,汇总以及展示来自 performance_schema 的信息。
mysql-statsd - 一个收集 MySQL 信息的 Python 守护进程,并通过 StatsD 发送到 Graphite。
sql.ohrz.net - SQL语句解读服务,支持高亮显示解析结果中表名、字段名、子查询语句等在原文中对应的位置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值