1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > mysql实时监控工具mytop

mysql实时监控工具mytop

时间:2020-04-08 00:48:03

相关推荐

mysql实时监控工具mytop

mysql实时监控工具mytop

mytop类似于linux top工具,可以实时监控mysql服务器的性能信息。

安装依赖

yum install -y perl-CPAN# cpan# cpan > install DBI# cpan > install Term::ReadKey# cpan > install DBD::mysql# cpan > exit

安装“install DBD::mysql”时提示以下错误:

# Failed test 'use DBD::mysql;'# at t/00base.t line 15.#Tried to use 'DBD::mysql'.#Error: Can't load '/root/.cpan/build/DBD-mysql-4.050-4iWLQk/blib/arch/auto/DBD/mysql/mysql.so' for module DBD::mysql: libmysqlclient.so.20: cannot open shared object file: No such file or directory at /usr/lib64/perl5/DynaLoader.pm line 190.

错误的原因是未能引入libmysqlclient.so.20库

解决办法:

通过 find命令 查找库文件存在:

find / -name libmysqlclient.so.20

然后建立链接:

ln -s /usr/local/mysql/lib/libmysqlclient.so.20 /usr/lib64/libmysqlclient.so.20

重新安装“install DBD::mysql”,成功。

下载安装mytop

cd /tmpwget /mysql/mytop/mytop-1.6.tar.gztar xzf mytop-1.6.tar.gzcd mytop-1.6perl Makefile.PLmakemake install

配置mytop

vi ~/.mytop在文件中添加以下内容,然后保存并退出。host=localhostdb=testDBdelay=5 # 刷新频率:秒port=3306socket=batchmode=0color=1idle=1

开始监控:

启动mytopmytop --prompt查看帮助man mytop

mytop监控指标说明

MySQL on localhost (5.7.34-log) up 495+22:28:39 [14:34:00]Queries: 322.0 qps: 0 Slow:0.0 Se/In/Up/De(%): 00/00/00/00qps now: 0 Slow qps: 0.0 Threads: 12 ( 1/ 7) 00/00/00/00Key Efficiency: 87.2% Bps in/out: 0.0/ 0.0 Now in/out: 8.3/686.3IdUser Host/IP DBTime Cmd Query or State------ ------- ------ --- ----------123293rootlocalhost testDB 0 Sleep123297rootlocalhost testDB 0 Sleep123404rootlocalhost testDB 0 Query show full processlist123302rootlocalhost testDB 12 Sleep

第1行 显示数据库版本信息

第2行是整体信息

Queries 服务器处理过的query总数

qps 每秒处理的query数量的平均值

Slow 慢查询总数

Se/In/Up/De(%) Select,Insert,Update,Delete 各自的占比

第3行是实时信息,本刷新周期内的信息统计,刷新周期是在配置文件中指定

qps now 本周期内的每秒处理query的数量

Slow qps 本周期内的每秒慢查询数量

Threads 当前连接线程数量,后面括号内的第一个数字是active状态的线程数量,第二个数字是在线程缓存中的数量

最后一列是本周期内的 Select,Insert,Update,Delete 各自的占比

Key Efficiency 表示有多少key是从缓存中读取,而不是从磁盘读取的

Bps in/out 表示mysql平均的流入流出数据量

Now in/out

是本周期内的流入流出数据量

剩下的就是线程信息列表

列出了当前的mysql线程,根据idle状态时间排序,通过o 键可以选择升序或降序

列表中显示出各线程的详细信息,例如 线程ID、用户名、客户端的地址、连接的数据库名称、详细查询语句

会发现 “show full processlist” 一直都在,因为 mytop 会使用这个语句收集 mysql 信息

监控时显示错误 uninitialized

问题描述:

Use of uninitialized value $host in substitution (s///) at /root/perl5/bin/mytop line 955, line 3.

解决办法

vi mytop跳到955行,找到 $host =~ s/^([^.]+).*/$1/;$thread->{Host} = $host;改为:if ($host){$host =~ s/^([^.]+).*/$1/;$thread->{Host} = $host;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。