innotop的作用为实时地展示服务器正在发生的事情,监控innodb,监控多个MySQL实例,是一款MySQL运维和问题定位分析的工具。
一. 安装
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'键。