如何监控mysql 性能监控表记录变化

tellnet 的BLOG
用户名:tellnet
文章数:101
评论数:58
访问量:348254
注册日期:
阅读量:5863
阅读量:12276
阅读量:403840
阅读量:1092941
51CTO推荐博文
监控MySQL有两种方法,一种是通过官方的check_mysql插件,另一种是通过第三方的check_mysql_health的插件。check_mysql_health的功能更为强大一些,这里我两种都简单的说下。第一种方法:使用nagios-plugins 官方自带的chech_mysql插件监控mysql可能在nagios服务器上没有官方的mysql的检测的插件。需要先
yum&install&mysql-devel然后在重新编译安装一次nagios-plugins插件查看现在已经有了[root@c65mini&~]#&ll&/usr/local/nagios/libexec/check_mysql
-rwxr-xr-x&1&nagios&nagios&月&8&14:02&/usr/local/nagios/libexec/check_mysql登陆进命令行模式mysql&-uroot&-p在被监控的远程服务器上(mysql服务器上)要先创建一个可以远程登陆mysql服务器的账号GRANT&ALL&PRIVILEGES&ON&*.*&TO&'nagios'@'192.168.163.129'&IDENTIFIED&BY&'nagios';查看用户已经有了nagios用户select&user,host&from&mysql.在监控主机上添加命令,需要修改commands.cfgvim&/usr/local/nagios/etc/objects/commands.cfg
#check&mysql
define&command{
command_name&check_mysql
command_line&$USER1$/check_mysql&-H&$HOSTADDRESS$&-P&$ARG1$&-u&$ARG2$&-p&$ARG3$
}在监控主机上添加监控的服务define&service{
use&generic-service,srv-pnp
host_name&mysql-master-1
service_description&MYSQL
check_command&check_mysql!3306!nagios!nagios
notifications_enabled&1
}测试下nagios的配置是否有错误/usr/local/nagios/bin/nagios&-v&/usr/local/nagios/etc/nagios.cfg没问题重启nagios服务/etc/init.d/nagios&restart&第二种方法:check_mysql_health插件比起官方的check_mysql插件功能更为强大,check_mysql_health不但能监控MySQL是否正常运行,还能监控MySQL主从、MySQL连接数情况、MySQL慢查询等多种监控指标。check_mysql_health官方介绍主页:http://labs.consol.de/nagios/check_mysql_health/安装check_mysql_health插件wget&http://labs.consol.de/download/shinken-nagios-plugins/check_mysql_health-2.1.8.2.tar.gz
tar&zxvf&check_mysql_health-2.1.8.2.tar.gz
cd&check_mysql_health-2.1.8.2
./configure
make&installcheck_mysql_health插件基本用法/usr/local/nagios/libexec/check_mysql_health&--hostname&192.168.163.130&--port&3306&--username&nagios&--password&nagios&--mode&slow-queries各参数的含义,尤其Cmode参数有很多监控的指标可以参考,具体查看官网可以知。--hostname 定义被监控主机的IP或机器名
--port   &&定义被监控主机上MySQL的运行端口
--username 定义被监控主机上MySQL的用户名
--password &定义被监控主机上MySQL的密码
--mode   定义被监控主机上MySQL的监控指标和官方插件类似,首先要建立一个可以用于远程登陆的mysql账号GRANT&ALL&PRIVILEGES&ON&*.*&TO&'nagios'@'192.168.163.130'&IDENTIFIED&BY&'nagios';在监控主机上添加可以让命令以便让监控主机识别这个插件。vi&/usr/local/nagios/etc/objects/commands.cfg
define&command{
&&&&&&&&command_name&check_mysql_health
&&&&&&&&command_line&$USER1$/check_mysql_health&--hostname&$ARG1$&--port&$ARG2$&--username&$ARG3$&--password&$ARG4$&--mode&$ARG5$
&&&&&&&&}在监控主机上添加要监控的服务监控MySQL连接时间
define&service{
use&generic-service&;&Name&of&service&template&to&use
host_name&mysql-master-1
service_description&check_mysql_connection_time
check_command&check_mysql_health!192.168.163.130!3306!nagios!nagios!connection-time
notifications_enabled&1
;监控MySQL连接数
define&service{
use&generic-service&;&Name&of&service&template&to&use
host_name&mysql-master-1
service_description&check_mysql_threads_connected
check_command&check_mysql_health!192.168.163.130!3306!nagios!nagios!threads-connected
notifications_enabled&1
;监控MySQL慢查询情况
define&service{
use&generic-service&;&Name&of&service&template&to&use
host_name&mysql-master-1
service_description&check_mysql_slow_queries
check_command&check_mysql_health!192.168.163.130!3306!nagios!nagios!slow-queries
notifications_enabled&1
;监控MySQL锁表情况
define&service{
use&generic-service&;&Name&of&service&template&to&use
host_name&mysql-master-1
service_description&check_mysql_table_lock_contention
check_command&check_mysql_health!192.168.163.130!3306!nagios!nagios!table-lock-contention
notifications_enabled&1
}如果web面板可能提示错误:CRITICAL C statefilesdir /var/tmp/check_mysql_health does not exist or is not writable可能和权限关系或者/var/temp下没有这个check_mysql_health查看下check_mysql_health的权限所属。[root@c65mini&~]#&ll&/usr/local/nagios/libexec/check_mysql_health&
-rwxr-xr-x&1&root&root&月&9&15:57&/usr/local/nagios/libexec/check_mysql_health插件的权限应该所属nagios用户和组,因此修改之。chown&nagios:nagios&/usr/local/nagios/libexec/check_mysql_health软链接一个ln&-s&/usr/local/nagios/libexec/check_mysql_health&/var/tmp/check_mysql_health本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)MYSQL和SQLServer性能监控指标
MySQL类型数据库在控制台上提供了丰富的监控项。如下表:
实例的空间占用历史趋势,单位GB
RDS实例的IOPS(每秒IO请求次数)
当前总连接数
RDS实例CPU使用率(占操作系统总数)
MySQL实例平均每秒钟的输入、输出流量,单位为KB。
每秒钟SQL语句执行次数和事务处理数
InnoDB缓冲池
InnoDB缓冲池的读命中率、利用率以及缓冲池脏块的百分率
InnoDB读写次数
InnoDB每秒钟的读取和写入次数
InnoDB日志
InnoDB的日志写入情况
执行语句时在硬盘上自动创建的临时表的数量
MyISAM Key
MyISAM平均每秒的Key Buffer使用状况
MyISAM读写次数
MyISAM平均每秒的读写次数
数据库每秒语句执行次数的监控,所涉及到的语句包括Insert、Delete、Insert_Select、Replace、Replace_Select、Select六种
InnoDB每秒钟操作数据行数的统计,根据操作的不同,分为平均每秒向日志文件的物理写次数、平均每秒从InnoDB表“删除/更新/读取/插入”的行数等五种类型
为方便开发者,SQLServer类型数据库在控制台上提供了丰富的监控项。如下表:
当前总连接数
缓存命中率
缓存命中率
平均每秒全表扫描数
平均每秒全表扫描次数
每秒SQL编译
实例中每秒编译的SQL语句数
每秒检查点写入Page数
每秒检查点写入Page数
每秒登录次数
每秒登录次数
每秒锁超时次数
每秒锁超时次数
每秒死锁次数
每秒死锁次数
每秒锁等待次数
每秒锁等待次数
Server实例平均每秒钟输入和输出的流量。单位为KB。
平均每秒SQL语句执行次数和事务数。
RDS实例CPU使用率(占操作系统总数)
RDS实例的IOPS(每秒IO请求次数)
RDS实例空间占用
来源:/view/04659.html?spm=..13.uh3Rd8
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。2017年1月 其他数据库开发大版内专家分月排行榜第二2014年8月 其他数据库开发大版内专家分月排行榜第二2014年2月 其他数据库开发大版内专家分月排行榜第二2014年1月 其他数据库开发大版内专家分月排行榜第二2013年12月 其他数据库开发大版内专家分月排行榜第二2013年10月 其他数据库开发大版内专家分月排行榜第二2013年8月 其他数据库开发大版内专家分月排行榜第二2013年5月 其他数据库开发大版内专家分月排行榜第二2013年1月 其他数据库开发大版内专家分月排行榜第二2012年8月 其他数据库开发大版内专家分月排行榜第二2012年5月 其他数据库开发大版内专家分月排行榜第二2012年4月 其他数据库开发大版内专家分月排行榜第二2012年1月 其他数据库开发大版内专家分月排行榜第二
2017年3月 其他数据库开发大版内专家分月排行榜第三2016年12月 其他数据库开发大版内专家分月排行榜第三2014年11月 其他数据库开发大版内专家分月排行榜第三2014年7月 其他数据库开发大版内专家分月排行榜第三2014年6月 其他数据库开发大版内专家分月排行榜第三2014年5月 其他数据库开发大版内专家分月排行榜第三2013年7月 其他数据库开发大版内专家分月排行榜第三2013年3月 其他数据库开发大版内专家分月排行榜第三2012年7月 其他数据库开发大版内专家分月排行榜第三2012年6月 其他数据库开发大版内专家分月排行榜第三2011年12月 其他数据库开发大版内专家分月排行榜第三
2010年 总版技术专家分年内排行榜第二
2009年 总版技术专家分年内排行榜第三
2017年1月 其他数据库开发大版内专家分月排行榜第二2014年8月 其他数据库开发大版内专家分月排行榜第二2014年2月 其他数据库开发大版内专家分月排行榜第二2014年1月 其他数据库开发大版内专家分月排行榜第二2013年12月 其他数据库开发大版内专家分月排行榜第二2013年10月 其他数据库开发大版内专家分月排行榜第二2013年8月 其他数据库开发大版内专家分月排行榜第二2013年5月 其他数据库开发大版内专家分月排行榜第二2013年1月 其他数据库开发大版内专家分月排行榜第二2012年8月 其他数据库开发大版内专家分月排行榜第二2012年5月 其他数据库开发大版内专家分月排行榜第二2012年4月 其他数据库开发大版内专家分月排行榜第二2012年1月 其他数据库开发大版内专家分月排行榜第二
2017年3月 其他数据库开发大版内专家分月排行榜第三2016年12月 其他数据库开发大版内专家分月排行榜第三2014年11月 其他数据库开发大版内专家分月排行榜第三2014年7月 其他数据库开发大版内专家分月排行榜第三2014年6月 其他数据库开发大版内专家分月排行榜第三2014年5月 其他数据库开发大版内专家分月排行榜第三2013年7月 其他数据库开发大版内专家分月排行榜第三2013年3月 其他数据库开发大版内专家分月排行榜第三2012年7月 其他数据库开发大版内专家分月排行榜第三2012年6月 其他数据库开发大版内专家分月排行榜第三2011年12月 其他数据库开发大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。生命只有一次,你可以用它来做些更多伟大的事情–Make the world a little better and easier
file(): php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /home1/vhost/vh499565/www/www1/wp-content/plugins/devformatter/devgeshi.php on line 100
file(http://svn.wp-plugins.org/devformatter/branches/langs/mysql.php): failed to open stream: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /home1/vhost/vh499565/www/www1/wp-content/plugins/devformatter/devgeshi.php on line 100
implode(): Invalid arguments passed in /home1/vhost/vh499565/www/www1/wp-content/plugins/devformatter/devgeshi.php on line 100
file(): php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /home1/vhost/vh499565/www/www1/wp-content/plugins/devformatter/devgeshi.php on line 100
file(http://svn.wp-plugins.org/devformatter/branches/langs/mysql.php): failed to open stream: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /home1/vhost/vh499565/www/www1/wp-content/plugins/devformatter/devgeshi.php on line 100
implode(): Invalid arguments passed in /home1/vhost/vh499565/www/www1/wp-content/plugins/devformatter/devgeshi.php on line 100
file(): php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /home1/vhost/vh499565/www/www1/wp-content/plugins/devformatter/devgeshi.php on line 100
file(http://svn.wp-plugins.org/devformatter/branches/langs/mysql.php): failed to open stream: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /home1/vhost/vh499565/www/www1/wp-content/plugins/devformatter/devgeshi.php on line 100
implode(): Invalid arguments passed in /home1/vhost/vh499565/www/www1/wp-content/plugins/devformatter/devgeshi.php on line 100
file(): php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /home1/vhost/vh499565/www/www1/wp-content/plugins/devformatter/devgeshi.php on line 100
file(http://svn.wp-plugins.org/devformatter/branches/langs/mysql.php): failed to open stream: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /home1/vhost/vh499565/www/www1/wp-content/plugins/devformatter/devgeshi.php on line 100
implode(): Invalid arguments passed in /home1/vhost/vh499565/www/www1/wp-content/plugins/devformatter/devgeshi.php on line 100
file(): php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /home1/vhost/vh499565/www/www1/wp-content/plugins/devformatter/devgeshi.php on line 100
file(http://svn.wp-plugins.org/devformatter/branches/langs/mysql.php): failed to open stream: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /home1/vhost/vh499565/www/www1/wp-content/plugins/devformatter/devgeshi.php on line 100
implode(): Invalid arguments passed in /home1/vhost/vh499565/www/www1/wp-content/plugins/devformatter/devgeshi.php on line 100
file(): php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /home1/vhost/vh499565/www/www1/wp-content/plugins/devformatter/devgeshi.php on line 100
file(http://svn.wp-plugins.org/devformatter/branches/langs/mysql.php): failed to open stream: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /home1/vhost/vh499565/www/www1/wp-content/plugins/devformatter/devgeshi.php on line 100
implode(): Invalid arguments passed in /home1/vhost/vh499565/www/www1/wp-content/plugins/devformatter/devgeshi.php on line 100
对于二次开发来说,很大一部分就找找文件和找的情况
对于。还没有发现比较好用的监控监控软件。
今天,我就给大家介绍一个如何使用mysql自带的功能监控
1、打开配置文件my.ini (一般在安装目录)(D:\MYSQL)
2、在的最后一行添加 log=log.txt &代码
3、重启mysql数据库
4、去数据库数据目录 我的是(D:\MYSQL\data) 你会发现多了一个log.txt文件
我的是在C:\Documents and Settings\All Users\Application Data\\ Server 5.5\data
1、对数据库操作
2、查看log.txt文件内容 如果发现有说明你就可以监控到mysql数据库的变化
数据库的查询 删除 更新 插入都可以查到
希望本篇文章可以帮助大家更快的二次开发 ^_^
&mysql&|&&&copy&code&|?01日志文件类型概述:
021.错误日志
记录启动、运行或停止mysqld时出现的问题。
03My.ini配置信息:
04#Enter a name for the error log file.
Otherwise a default name will be used.
05#log-error=d:/mysql_log_err.txt
062.查询日志
记录建立的客户端连接和执行的语句。
07My.ini配置信息:
08#Enter a name for the query log file. Otherwise a default name will be used.
09#log=d:/mysql_log.txt
103.更新日志
记录更改数据的语句。不赞成使用该日志。
11My.ini配置信息:
12#Enter a name for the update log file. Otherwise a default name will be used.
13#log-update=d:/mysql_log_update.txt
144.二进制日志
记录所有更改数据的语句。还用于复制。
15My.ini配置信息:
16#Enter a name for the binary log. Otherwise a default name will be used.
17#log-bin=d:/mysql_log_bin
185.慢日志
记录所有执行时间超过long_query_time秒的所有查询或不使用索引的查询。
19My.ini配置信息:
20#Enter a name for the slow query log file. Otherwise a default name will be used.
21#long_query_time =1
22#log-slow-queries= d:/mysql_log_slow.txt
&mysql&|&&&copy&code&|?01在linux下:
02Sql代码
03
04
1. # 在[mysqld] 中輸入
05
2. #log
06
3. log-error=/usr/local/mysql/log/error.log
07
4. log=/usr/local/mysql/log/mysql.log
08
5. long_query_time=2
09
6. log-slow-queries= /usr/local/mysql/log/slowquery.log
10
11# 在[mysqld] 中輸入 #log log-error=/usr/local/mysql/log/error.log log=/usr/local/mysql/log/mysql.log long_query_time=2 log-slow-queries= /usr/local/mysql/log/slowquery.log
12
13
14windows下:
15Sql代码
16
17
1. # 在[mysqld] 中輸入
18
2. #log
19
3. log-error="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/error.log"
20
4. log="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/mysql.log"
21
5. long_query_time=2
22
6. log-slow-queries= "E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/slowquery.log"
23
24# 在[mysqld] 中輸入 #log log-error="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/error.log" log="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/mysql.log" long_query_time=2 log-slow-queries= "E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/slowquery.log"
25
26
27
28开启慢查询
29long_query_time =2 --是指执行超过多久的sql会被log下来,这里是2秒
30log-slow-queries= /usr/local/mysql/log/slowquery.log --将查询返回较慢的语句进行记录
31
32log-queries-not-using-indexes = nouseindex.log --就是字面意思,log下来没有使用索引的query
33
34log=mylog.log --对所有执行语句进行记录
日志的存放:默认情况下,当开启时,所有的日志都存放在DataDir目录下. 如果没有指定名称的话,它会以后主机名为名称. 如主机名为songcomputer,则相关就的日志为songcomputer.log文件.
Mysql日志的关闭与开启:
使用以下命令查看是否启用了日志 :mysql&show&variables&like&'log_%’;&
凡Value值为OFF的表示未开启服务,若要开启只需要将上的my.ini配置信息写入(my.ini为mysql安装目录下),然后去掉前面的“#”
号,再重启mysql服务。OK,现在会看到指定的日志文件已创建。相反地,若要停止mysql日志服务,只需要将my.ini中对应的配置信息去掉即
&&&&相应的使用慢日志查询
手动的去读取慢日志以及修改慢日志的时间 show variables like 'long%' 会得到慢日志的时间
进行设置慢日志的值 set&long_query_time&=2 侧重的二进制文件
二进制日志:
从概述中我可以看到my.ini配置信息的log-bin没有指定文件扩展名,这是因为即使你指定上扩展名它也不使用。当mysql创建二进制日志文件
时,首先创建一个以“mysql_log_bin”为名称,以“.index”为后缀的文件;再创建一个以“mysql_log_bin”为名称,以
“.000001”为后缀的文件。当mysql服务重新启动一次以“.000001”为后缀的文件会增加一个,并且后缀名加1递增;如果日志长度超过了
max_binlog_size的上限(默认是1G)也会创建一个新的日志文件;使用flush
logs(mysql命令符)或者执行mysqladmin –u –p flush-logs(windows命令提示符)也会创建一个新的日志文件。
既然写入的都是二进制数据,用记事本打开文件是看不到正常数据的,那怎么查看呢?
使用BIN目录下mysqlbinlog命令,如:
Bin&mysqlbinlog d:/mysql_log/mysql_bin.000001
Bin&mysqlbinlog d:/mysql_log/mysql_bin.000002
Bin&mysqlbinlog d:/mysql_log/mysql_bin.000003
Bin&mysqlbinlog d:/mysql_log/mysql_bin.000004
Bin&mysqlbinlog d:/mysql_log/mysql_bin.000005
使用SQL语句也可查看mysql创建的二进制的文件目录:Mysql&&show&master&&
查看当前二进制文件状态:mysql&&show&master& &
至于准确的看懂日志文件,还需要读者仔细阅读,深深体会,这里就不再奥述了!
邵珠庆推荐文章
博文加载中...
anyShare分享到:
喜欢这个文章吗?
还没有评论.
Leave a comment
还没有引用.
关于邵珠庆博客
最近评论记事邵珠庆博客
2011年07月 邵珠庆博客建立
2011年11月 邵珠庆博客PR5
2017 年四月
10111213141516
17181920212223
24252627282930}

我要回帖

更多关于 mysql 性能监控 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信