MySQL监控利器-Innotop
Innotop是一款十分强大的MySQL监控工具,用perl所写,通过文本模式展示MysQL服务器和Innodb的运行状况。
安装innotop
下载地址:https://github.com/innotop/innotop
Github上提供两种版本,一种是开发版(innotop-master),一种是稳定版(innotop-gtid)。在这里,我们使用的是开发版。
注意:网上提供的下载地址是http://code.google.com/p/innotop/,但这个是原先的维护地址,该项目现已迁移到Github上,而且,innotop-1.9.0.tar.gz这个版本也测试了下(google code上面的最新版本是1.9.1),很多功能都无法使用,可能与MySQL的版本有关,建议还是直接从Github上下载。
# unzip innotop-master.zip
# cd innotop-master
# perl Makefile.PL
- Checking if your kit is complete...
- Looks good
- Warning: prerequisite Term::ReadKey 2.1 not found.
- Writing Makefile for innotop
报以上错误,缺少ReadKey包。
# yum search ReadKey --注意:基本上缺失的Perl Module都可以通常yum获取
- Loaded plugins: fastestmirror
- Loading mirror speeds from cached hostfile
- * base: centos.ustc.edu.cn
- * extras: centos.ustc.edu.cn
- * updates: centos.ustc.edu.cn
- ================================================= N/S matched: ReadKey ==================================================
- perl-TermReadKey.x86_64 : A perl module for simple terminal control
- Name and summary matches only, use "search all" for everything.
# yum install -y perl-TermReadKey
# perl Makefile.PL
- Writing Makefile for innotop
# make install
- cp innotop blib/script/innotop
- /usr/bin/perl -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/innotop
- Manifying blib/man1/innotop.
- Installing /usr/local/share/man/man1/innotop.
- Installing /usr/local/bin/innotop
- Appending installation info to /usr/lib64/perl5/perllocal.pod
如何使用Innotop
首先我们通过innotop --help查看其常见的启动参数
- # innotop --help
- Usage: innotop <options> <innodb-status-file>
- --[no]color -C Use terminal coloring (default)
- --config -c Config file to read
- --count Number of updates before exiting
- --delay -d Delay between updates in seconds
- --help Show this help message
- --host -h Connect to host
- --[no]inc -i Measure incremental differences
- --mode -m Operating mode to start in
- --nonint -n Non-interactive, output tab-separated fields
- --password -p Password to use for connection
- --port -P Port number to use for connection
- --skipcentral -s Skip reading the central configuration file
- --socket -S MySQL socket to use for connection
- --spark Length of status sparkline (default )
- --timestamp -t Print timestamp in -n mode (: per iter; : per line)
- --user -u User for login if not current user
- --version Output version information and exit
- --write -w Write running configuration into home directory if no config files were loaded
其中,
-d:多久时间更新一次
-h:连接的主机名
-p:连接的端口
-S:socket的位置
-u:连接的用户
熟悉MysQL的童鞋不难理解。
登录进来后,默认是Dashboard。Innotop支持多种模式,Dashboard只是其中一种模式。通过“?”键我们可以查看所有模式
通过上述字母可切换到不同的状态下。
如何查看innotop的文档
1. # man innotop
2. # perldoc innotop
如何监控多个MySQL服务器
有两种方式:
一、直接在innotop交互式界面中添加,步骤如下:
# innotop
进入到交互式界面后,点击@键,会进入到连接配置界面
下面开始填写,主要有以下几项:
说明如下:
Choose connections for this mode:选择连接,如果连接不存在,则手动创建。所以下面会有提示“There is no connection called 'master26',create it?:”。
填写y,然后回车,会提示填写DSN string,按格式来即可。
其中在Enter password这一项需要注意,你输入密码的时候光标没有动,但实际上它是有输入,输入完毕,直接回车即可。
对于该种方法,简单,在监控机器较少的情况下,比较适用,但该方法的弊端在于一旦退出innotop,所有的配置信息都会丢失,重新进入,需重新配置。
所以,推荐的方法如下。
二、利用配置文件
# innotop --write,进入交互式界面后退出。会在当前目录下生成一个.innotop/innotop.conf
- # ls .innotop/
- innotop.conf plugins
# vim .innotop/innotop.conf
该配置文件中有关连接的配置信息,默认有一个localhost。
- [connections]
- localhost=user= have_user= have_pass= dsn=DBI:mysql:;host=localhost;mysql_read_default_group=client savepass= dl_table=test.innotop_dl
- [/connections]
当然,这个对我们编辑自己的配置信息没有多大用处,可以删除掉。
在此,可根据第一种方式添加一个connection信息,然后根据该信息进行相应的编辑。
以第一种方式中的master26为例,添加后,innotop.conf中的信息如下:
- [connections]
- localhost=user= have_user= have_pass= dsn=DBI:mysql:;host=localhost;mysql_read_default_group=client savepass= dl_table=test.innotop_dl
- master26=user=root have_user= pass=123 have_pass= dsn=DBI:mysql:;host=192.168.91.26;port= savepass=
- [/connections]
根据实际生产的需求,编辑innotop.conf文件。
- [connections]
- master26=user=root have_user= pass=123 have_pass= dsn=DBI:mysql:;host=192.168.91.26;port= savepass=
- slave25=user=root have_user= pass=123 have_pass= dsn=DBI:mysql:;host=192.168.91.25;port= savepass=
- slave22=user=root have_user= pass=123 have_pass= dsn=DBI:mysql:;host=192.168.91.22;port= savepass=
- [/connections]
启动innotop,默认监控的是master26的信息。
可通过“n”或“@”选择相应的服务器。
好虽好,但不够直观,我们希望本例中三个服务器的信息能显示在一个屏幕里,这样就不需要进行来回的切换,更直观。这里,就需要用到SERVER GROUPS的功能。
SERVER GROUPS
顾名思义,就是讲服务器进行分组,这种信息展示的粒度就不在是服务器,而是整个组了。
同样有两种方式添加:
一、直接在innotop交互式界面中添加
使用“#”键,首先创建组的名字,然后添加服务器,如下所示:
二、编辑配置文件
- [server_groups]
- master-slave=master26 slave22 slave25
- [/server_groups]
下面,我们来看看集群显示的效果
对于监控主从集群的状况,完全够用。
注意: 在innotop交互式界面中配置完毕后,需退出innotop,再进入,不然就不会显示CXN列。
总结:
1. 可能有人有疑虑,将密码保存到配置文件中,是否不安全,尤其是在生产环境下。其实,密码也可以不保存在配置文件中,配置如下:
- [connections]
- server144=user=root have_user= have_pass= dsn=DBI:mysql:;host=192.168.244.144;port= savepass= dl_table=
- [/connections]
如果是在innotop交互式界面中添加,则最后一步Save password in plain text in the config file?: 写“n”即可。
2. 除了上述功能,innotop还是蛮强大的。譬如在M模式,即Replication Status下,可通过“o”键给服务器发送命令。如下所示:
Anyway,Innotop功能还是及其强大的,大家慢慢琢磨吧~
参考:
https://www.percona.com/blog/2013/10/14/innotop-real-time-advanced-investigation-tool-mysql/
MySQL监控利器-Innotop的更多相关文章
- MySQL监控利器-PMM
本篇文章来简要介绍一下MySQL监控利器-PMM的部署过程. 环境: 主机名 IP 功能 系统 数据库版本 pmmclient 192.168.91.34 PMM-client RHEL7.4 p ...
- 1013MySQL监控利器-Innotop
转自 http://www.cnblogs.com/ivictor/p/5101506.html 安装过程中 可以使用 YUM INSTALL INNOTOP进行直接安装 Innotop是一款十分强大 ...
- mysql监控利器mysqlmtop部署安装
MySQLMTOP是一个由Python+PHP开发的MySQL企业级监控系统.系统由Python实现多进程数据采集和告警,PHP实现WEB展示和管理.最重要是MySQL服务器无需安装任何Agent,只 ...
- mysql监控管理工具--innotop
https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/innotop/innotop-1.9. ...
- mysql性能监控工具Innotop
mysql监控管理工具--innotop 1.innotop安装参考官网:http://innotop.googlecode.com/svn/html/installing.html # wget h ...
- MySQL监控、性能分析——工具篇
https://blog.csdn.net/leamonjxl/article/details/6431444 MySQL越来越被更多企业接受,随着企业发展,MySQL存储数据日益膨胀,MySQL的性 ...
- MySQL监控、性能分析——工具篇(转载)
MySQL越来越被更多企业接受,随着企业发展,MySQL存储数据日益膨胀,MySQL的性能分析.监控预警.容量扩展议题越来越多.“工欲善其事,必先利其器”,那么我们如何在进行MySQL性能分析.监控预 ...
- 如何在Zabbix上安装MySQL监控插件PMP
PMP,全称是Percona Monitoring Plugins,是Percona公司为MySQL监控写的插件.支持Nagios,Cacti.从PMP 1.1开始,支持Zabbix. 下面,看看如何 ...
- DB监控-mysql监控
Mysql监控属于DB监控的模块之一,包括采集.展示.监控告警.本文主要介绍Mysql监控的主要指标和采集方法. Mysql监控和Redis监控的逻辑类似,可参考文章<Redis监控>. ...
随机推荐
- Torch7学习笔记(二)nn Package
神经网络Package [目前还属于草稿版,等我整个学习玩以后会重新整理] 模块Module module定义了训练神经网络需要的所有基础方法,并且是可以序列化的抽象类. module有两种状态变量: ...
- 临时更换hadoop-ugi
在用spark读写hdfs数据时,有时候当前用户对要读写的hdfs路径没有权限,需要临时改变用户去读写hdfs,操作完后回到原来的用户.我们的hdfs是没有权限认证的,一开始通过下面代码的方式来实现. ...
- CentOS下Hadoop-2.2.0集群安装配置
对于一个刚开始学习Spark的人来说,当然首先需要把环境搭建好,再跑几个例子,目前比较流行的部署是Spark On Yarn,作为新手,我觉得有必要走一遍Hadoop的集群安装配置,而不仅仅停留在本地 ...
- Jtable 表格按多列排序(支持中文汉字排序)
这两天公司让做一个Jtable表格的排序,首先按A列排序,在A列相等时按B列排序,B列相等时按C列排序,ABC三列可以任意指定,最多分三列,这样的一个需求.由于我是大神,所以必须做了出来.ok,不自恋 ...
- 利用DOS批处理实现定时关机操作
10月1放假回来,寝室晚上10:30就停电了,最无法让人理解的是第二天早上8:00才来电.原来晚上电脑都是不关机的,开着WiFi一直到天亮,可是现在不行了,电脑如果一直开着第二天早上起来电脑肯定没电, ...
- 爬虫初探(2)之requests
关于请求网络,requests这个库是爬虫经常用到的一个第三方库. import requests url = 'http://www.baidu.com' #这里用get方法用来请求网页,其他还有p ...
- 设计一个用于人事管理的People(人员)类
#include <iostream> #include <string> using namespace std; class Date //日期类 { private: i ...
- jdk 配置环境变量 解决无法加载主类问题
默认安装路径 我的电脑鼠标右键→属性→点击“高级”选项卡点击“环境变量” 系统环境 点击“新建”变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.7.0(以JD ...
- Kotlin笔记
官网: http://kotlinlang.org/ http://kotlinlang.org/docs/reference/ 中文教程: http://kotlindoc.com/ Gradle: ...
- 用python实现的百度音乐下载器-python-pyqt-改进版
之前写过一个用python实现的百度新歌榜.热歌榜下载器的博文,实现了百度新歌.热门歌曲的爬取与下载.但那个采用的是单线程,网络状况一般的情况下,扫描前100首歌的时间大概得到40来秒.而且用Pyqt ...