如何监控MySQL性能一mysql怎么监控软件,获取mysql用户下的进程总数
ps -ef | awk '{print $1}' | grep "mysql" | grep -v "grep" | wc-1
二,主机性能状态
# uptime
[root@ ~]# uptime
13:05:52 up 53 days, 52 min,1 user,load average: 0.00, 0.00, 0.00
三,CPU使用率
# top
或
# vmstat
四,磁盘IO量
# vmstat 或 # iostat
五 , swap进出量[内存]
# free
六 , 数据库性能状态
(1)QPS(每秒Query量)
QPS = Questions(or Queries) / seconds
mysqlshow /*50000 global */ status like 'Question';
(2)TPS(每秒事务量)
TPS = (Com_commitCom_rollback) / seconds
mysqlshow status like 'Com_commit';
mysqlshow status like 'Com_rollback';
(3)key Buffer 命中率
key_buffer_read_hits = (1-key_reads / key_read_requests) * 100%
key_buffer_write_hits = (1-key_writes / key_write_requests) * 100%
mysql show status like 'Key%';
(4)InnoDB Buffer命中率
innodb_buffer_read_hits = (1 - innodb_buffer_pool_reads / innodb_buffer_pool_read_requests) * 100%
mysql show status like 'innodb_buffer_pool_read%';
(5)Query Cache命中率
Query_cache_hits = (Qcahce_hits / (Qcache_hitsQcache_inserts )) * 100%;
mysql show status like 'Qcache%';
(6)Table Cache状态量
mysql show status like 'open%';
(7)Thread Cache 命中率
Thread_cache_hits = (1 - Threads_created / connections ) * 100%
mysql show status like 'Thread%';
mysql show status like 'Connections';
(8)锁定状态
mysql show status like '%lock%';
(9)复制延时量
mysqlshow slave status
(10) Tmp Table 状况(临时表状况)
mysqlshow status like 'Create_tmp%';
(11) Binlog Cache 使用状况
mysqlshow status like 'Binlog_cache%';
(12) Innodb_log_waits 量
mysqlshow status like 'innodb_log_waits';
当然mysql怎么监控软件你也可以使用一下开源监控软件进行监控
一 , RRDTool
二,Nagios
三,MRTG
四,Cacti
zabbix怎么监控mysql在之前的博文里面写过如何通过Zabbix监控mysql主从同步是否OK,mysql从库是否有延时
(Seconds_Behind_Master)主库 , 当mysql主从有异常时通过Email或者SMS通知DBA和系统人员 。除此之外,Zabbix
还可以监控mysql slow queries,mysql version,uptime,alive等 。下面通过Zabbix
Graphs实时查看的SQL语句操作情况和mysql发送接收的字节数 。
1.Zabbix官方提供的监控mysql的模板Template App MySQL,可以看到相关的Items和key 。
2.把该模板Template App MySQL
Link到相关的主机上面,发现Item的Status是不可用的 , 因为key的值是通过Mysql用户查看"show global
status"信息或者用mysqladmin命令查看status或extended-status的信息而取的值 。
mysql show global status; mysql show status;
3.结合官方提供的key编写Shell脚本,从数据库中取出Items的key的值 。
[root@monitor scripts]# cat checkmysqlperformance.sh #!/bin/sh #Create by sfzhang 2014.02.20 MYSQL_SOCK="/data/mysql/3306/mysql.sock" MYSQL_PWD=`cat /data/mysql/3306/.mysqlpassword` ARGS=1 if [ $# -ne "$ARGS" ];thenecho "Please input one arguement:" fi case $1 inUptime)result=`mysqladmin -uroot -p${MYSQL_PWD} -S $MYSQL_SOCK status|cut -f2 -d":"|cut -f1 -d"T"`echo $result;;Com_update)result=`mysqladmin -uroot -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_update"|cut -d"|" -f3`echo $result;;Slow_queries)result=`mysqladmin -uroot -p${MYSQL_PWD} -S $MYSQL_SOCK status |cut -f5 -d":"|cut -f1 -d"O"`echo $result;;Com_select)result=`mysqladmin -uroot -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_select"|cut -d"|" -f3`echo $result;;Com_rollback)result=`mysqladmin -uroot -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_rollback"|cut -d"|" -f3`echo $result;;Questions)result=`mysqladmin -uroot -p${MYSQL_PWD} -S $MYSQL_SOCK status|cut -f4 -d":"|cut -f1 -d"S"`echo $result;;Com_insert)result=`mysqladmin -uroot -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_insert"|cut -d"|" -f3`echo $result;;Com_delete)result=`mysqladmin -uroot -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_delete"|cut -d"|" -f3`echo $result;;Com_commit)result=`mysqladmin -uroot -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_commit"|cut -d"|" -f3`echo $result;;Bytes_sent)result=`mysqladmin -uroot -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Bytes_sent" |cut -d"|" -f3`echo $result;;Bytes_received)result=`mysqladmin -uroot -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Bytes_received" |cut -d"|" -f3`echo $result;;Com_begin)result=`mysqladmin -uroot -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_begin"|cut -d"|" -f3`echo $result;;*)echo "Usage:$0(Uptime|Com_update|Slow_queries|Com_select|Com_rollback|Questions)";; esac
4.在Zabbix_agentd.conf里面添加UserParameter,格式如下,对于Zabbix来说,脚本其实就是一个插件 。
UserParameter=mysql.version,mysql -V UserParameter=mysql.ping,mysqladmin -uroot -p123456 -S /data/mysql/3306/mysql.sock ping | grep -c alive UserParameter=mysql.status[*],/etc/zabbix/scripts/checkmysqlperformance.sh $1 $2
5.重启agentd服务器,然后在zabbix server用zabbix_get就可以取到key的值 。
6.在zabbix前端可以实时查看SQL语句每秒钟的操作次数 。
7.在zabbix前端可以实时查看mysql发送接收的字节数 。其中bytes received表示从所有客户端接收到的字节数 , bytes sent表示发送给所有客户端的字节数 。
zabbix怎么监控阿里云的mysql1、zabbix添加mysql的监控模板(temple-app-mysql)之后,还需要在客户端添加key去取值 。
2、编写脚本,获取mysql的各种状态值 。可以固定一个目录 , 专门存放监控脚本 。比如/usr/local/zabbix/scripts/chk_mysql.sh
#!/bin/bash
# -------------------------------------------------------------------------------
# FileName:chk_mysql.sh
# Revision:1.0
# Date:2015/09/07
# Author:Winngins Yu
# Email:drinkboy@126.com
# Website:
# Description:
# Notes:~
如何实现MySQL性能监控命令: show processlist;
如果是root帐号,你能看到所有用户的当前连接 。如果是其它普通帐号,只能看到自己占用的连接 。
show processlist;只列出前100条,如果想全列出请使用show full processlist;
mysql show processlist;
命令: show status;
命令:show status like '%下面变量%';
Aborted_clients 由于客户没有正确关闭连接已经死掉,已经放弃的连接数量 。
如何监控MySQL首先介绍下 pt-stalk,它是 Percona-Toolkit 工具包中的一个工具,说起 PT 工具包大家都不陌生,平时常用的 pt-query-digest、 pt-online-schema-change 等工具都是出自于这个工具包 , 这里就不多介绍了 。
pt-stalk 的主要功能是在出现问题时收集 OS 及 MySQL 的诊断信息,这其中包括:
1. OS 层面的 CPU、IO、内存、磁盘、网络等信息;
2. MySQL 层面的行锁等待、会话连接、主从复制,状态参数等信息 。
而且 pt-stalk 是一个 Shell脚本,对于我这种看不懂 perl 的人来说比较友好,脚本里面的监控逻辑与监控命令也可以拿来参考,用于构建自己的监控体系 。
三、使用
接着我们来看下如何使用这个工具 。
pt-stalk 通常以后台服务形式监控 MySQL 并等待触发条件,当触发条件时收集相关诊断数据 。
触发条件相关的参数有以下几个:
function:
° 默认为 status,代表监控 SHOW GLOBAL STATUS 的输出;
° 也可以设置为 processlist,代表监控 show processlist 的输出;
variable:
° 默认为 Threads_running,代表 监控参数,根据上述监控输出指定具体的监控项;
threshold:
° 默认为 25,代表 监控阈值,监控参数超过阈值,则满足触发条件;
° 监控参数的值非数字时,需要配合 match 参数一起使用,如 processlist 的 state 列;
cycles:
° 默认为 5 , 表示连续观察到五次满足触发条件时,才触发收集;
连接参数:host、password、port、socket 。
其他一些重要参数:
iterations:该参数指定 pt-stalk 在触发收集几次后退出 , 默认会一直运行 。
run-time:触发收集后,该参数指定收集多长时间的数据,默认 30 秒 。
sleep:该参数指定在触发收集后,sleep 多久后继续监控 , 默认 300 秒 。
interval:指定状态参数的检查频率 , 判断是否需要触发收集,默认 1 秒 。
dest:监控数据存放路径 , 默认为 /var/lib/pt-stalk 。
retention-time :监控数据保留时长,默认 30 天 。
daemonize:以后台服务运行,默认不开启 。
log:后台运行日志,默认为 /var/log/pt-stalk.log 。
collect:触发发生时收集诊断数据 , 默认开启 。
° collect-gdb:收集 GDB 堆栈跟踪 , 需要 gdb 工具 。
° collect-strace:收集跟踪数据,需要 strace 工具 。
° collect-tcpdump:收集 tcpdump 数据 , 需要 tcpdump 工具 。
【mysql怎么监控软件 监听mysql】关于mysql怎么监控软件和监听mysql的介绍到此就结束了 , 不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 农村电商如何搞好客户,农户如何做电商
- 为什么有的网络手机能搜到,为什么有的手机搜不到无线网络
- 地牢猎手2安卓单机版,地牢猎手2安卓单机版下载
- python函数符号 python中的符号函数
- 学校学的是erp是什么系统,学校erp管理系统
- python滚动条翻页爬取数据,python怎么翻页爬取数据
- 概率技巧直播,概率计算讲解视频
- 函数排序成绩Python python 成绩排序
- 余杭区电商如何,杭州余杭区电商公司有哪些