使用innotop监测mysql

最近学习innotop工具,自己搜集整理了一下网上的各种资源,小弟也没做什么创造性的工作,汇总整理。

这里使用的是innotop-1.8.0,1.8版本的可以监测远程服务器,而1.6版本不可以。
一. 安装
 
INNOTOP是一个通过文本模式显示MySQL和InnoDB的监测工具。它有很多特点,快速的配置的,易于使用等。它吸取了MYTOP的精华这使
 
它变得更加强大。INNOTOP是用PERL语言写成的,这是它能更加灵活的使用在各种操作平台之上,它能详细的的监控出当前MYSQL和
 
INNODB运行的状态,以便维护人员根据结果合理的优化MYSQL,让MYSQL更稳定更高效的运行。
 
安装INNOTOP工具非常的简单,既然是由PERL写的,当然需要PERL环境和相关的工具包。
 
在安装之前先要确定你的系统安装了Time::HiRes,Term::ReadKey,DBI,DBD::mysql这四个包。安装可以把包下载下来通过编译安装完
 
成也可以用PERL模块安装方式来完成。
 
安装Time::HiRes,Term::ReadKey,DBI,DBD::mysql库文件
 
通过PERL模块来安装
 
[root@xoyo-test-43 innotop-1.8.0]# perl -MCPAN -eshell
 
CPAN> install Time::HiRes
 
CPAN> install Term::ReadKey
 
CPAN> install DBI
 
CPAN> install DBD::mysql
 
也可以通过源码编辑安装(略过)
 
下面安装innotop-1.8
[root@xoyo-test-43 software]# wget http://innotop.googlecode.com/files/innotop-1.8.0.tar.gz
[root@xoyo-test-43 software]# tar xvzf innotop-1.8.0.tar.gz
[root@xoyo-test-43 software]# cd innotop-1.8.0
[root@xoyo-test-43 software]# perl Makefile.PL
[root@xoyo-test-43 software]# make
[root@xoyo-test-43 software]# make install
至此,innotop就安装完毕,下面是使用说明
 
二.使用
innotop -u <username> -p <password> -h <hostname> -P <port>
 
交互式工具也就是在需要的时候启动起来,以视图显示的形式不断获取服务器的最小状态。
 
可获取的内容:
 
1.显示当前innodb的全部事务列表;
 
2.显示当前正运行着的查询;
 
3.显示当前锁和锁等等的列表;
 
4.服务器状态和变量的摘要信息 显示了数值的相对变化幅度;
 
5.有多种模式可用来显示Innodb 内部信息,如缓冲区、死锁、外键错误、I/O情况、行操作、信号量等。
 
6.复制健康,将主机和从机的状态显示一起;
 
7.有一个显示任意服务器变量的模式;
 
8.服务器组可以帮你更方便的组织多台服务器;
 
9.在命令行脚本下可以使用非交互模式。
 
 
 
连接成功后 输入?可以进入帮助:
 
括号中为后加的注释
Switch to a different mode:
   B  InnoDB Buffers           I  InnoDB I/O Info      Q  Query List
   C  Command Summary   L  Locks                      R  InnoDB Row Ops
   D  InnoDB Deadlocks     M  Replication Status  S  Variables & Status
   F  InnoDB FK Err            O  Open Tables           T  InnoDB Txns
 
Actions:
   a  Toggle the innotop process(切换innotop进程)    k  Kill a query's connection(杀死一查询的连接)
   c  Choose visible columns    (可见列选择)         n  Switch to the next connection(切换到下一个连接)
   d  Change refresh interval   (更改刷新间隔)       p  Pause innotop (暂停innotop)
   e  Explain a thread's query  (说明线程的查询)     q  Quit innotop  (退出)
   f  Show a thread's full query(显示线程的完整查询) r  Reverse sort order (反向排序)
   h  Toggle the header on and off(头切换和关闭)     s  Change the display's sort column(更改显示的排序列)
   i  Toggle idle processes       (切换空闲进程)     x  Kill a query  (杀死一查询)
 
Other:
 TAB  Switch to the next server group   /  Quickly filter what you see
   !  Show license and warranty         =  Toggle aggregation
   #  Select/create server groups       @  Select/create server connections
   $  Edit configuration settings       \  Clear quick-filters
 
Switch to a different mode 详解:
B  InnoDB Buffers:
该模式显示有关InnoDB缓冲池,页面统计,插入缓冲,自适应哈希索引。这些数据来自展示InnoDB的状态。
此模式默认包含buffer_pool,page_statistics,insert_buffers,和adaptive_hash_index表。
 
C  Command Summary:
该命令是建立汇总表通过提取STATUS_VARIABLES变量。变量必须是数字,必须匹配给定的cmd_filter配置变量的前缀。百分比列是在表
 
中的所有变量总数的
 
百分比,所以你可以看到变数的相对比例。
默认的前缀是“Com_”。你可以选择的's'键改变过滤前缀。
 
D  InnoDB Deadlocks:
这种模式显示,在过去InnoDB的死锁中涉及的事务。第二个表显示等待事务。
 
F  InnoDB FK Err:
此模式显示最后InnoDB的外键的错误信息,
 
I  InnoDB I/O Info:
这种模式显示InnoDB的I/O信息,包括I/O线程,挂起的I/O,文件I/O,日志统计。默认显示io_threads,pending_io,file_io_misc
 
,和log_statistics
 
L  Locks:
这种模式显示了当前锁的信息。目前只支持InnoDB,并在默认情况下你只看到那些锁等待的事务。
 
M  Replication Status:
这种模式输出了 SHOW SLAVE STATUS 和 SHOW MASTER STATUS 的信息成3张表,前两个显示从的sql和I/O的状态,最后显示主的状态
 
O  Open Tables:
这部分来自SHOW OPEN TABLES命令的输出,默认情况下,筛选出正由一个或多个查询使用的表,这样可以快速得到哪些表是'热'。也可
 
以猜测哪些表可能被
 
锁。
 
Q  Query List:
此模式显示从SHOW FULL PROCESSLIST的信息,就像mytop的查询列表模式。有一个信息头,显示有关服务器的一般状态信息。可以
 
用'h'切换开或关。
默认情况下,innotop隐藏不活动的进程和它自己的进程。您可以切换和关闭这些用'i'和'a'键。
 
R  InnoDB Row Ops:
全名是InnoDB Row Operations and Semaphores(InnoDB的行操作和信号灯)。
这种模式显示InnoDB行操作、row operation miscellaneous、信号、innodb等待信息
 
S  Variables & Status:
这种模式计算,如每秒查询的统计信息。您可以显示绝对值之间,或增量值。
's' 键是没一定时间打印数字到前面
'g' 键是打印图像
'v' 键是以一个表格的形式显示,定期刷新值。
 
T  InnoDB Txns:
全名是InnoDB Transactions。
这种模式从innodb监视器中输出事务。你可以杀掉一个查询或进程,通过'k'和'x'键,也可以explain一个查询,通过'e'或'f'键。
 
InnoDB不会输出所有的查
 
询事务,如果查询太长被截断。信息头可以用'h'键打开或关闭,
默认情况下,innotop隐藏不活动的进程和它自己的进程。您可以切换和关闭这些用'i'和'a'键。

猜你喜欢

转载自zhengdl126.iteye.com/blog/1591449