我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL监控利器-Innotop

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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.1 Installing /usr/local/share/man/man1/innotop.1 Installing /usr/local/bin/innotop
Appending installation info to /usr/lib64/perl5/perllocal.pod

如何使用Innotop

首先我们通过innotop --help查看其常见的启动参数

# innotop --help Usage: innotop  

  --[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 10)
  --timestamp   -t   Print timestamp in -n mode (1: per iter; 2: 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只是其中一种模式。通过“?”键我们可以查看所有模式

MySQL监控利器-Innotop

通过上述字母可切换到不同的状态下。

如何查看innotop的文档

1. # man innotop

2. # perldoc innotop

如何监控多个MySQL服务器

有两种方式:

一、直接在innotop交互式界面中添加,步骤如下:

# innotop

进入到交互式界面后,点击@键,会进入到连接配置界面

MySQL监控利器-Innotop

下面开始填写,主要有以下几项:

MySQL监控利器-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=1 pass=123 have_pass=1 dsn=DBI:mysql:;host=192.168.91.26;port=3306 savepass=1 [/connections] 

根据实际生产的需求,编辑innotop.conf文件。

[connections] master26=user=root have_user=1 pass=123 have_pass=1 dsn=DBI:mysql:;host=192.168.91.26;port=3306 savepass=1 slave25=user=root have_user=1 pass=123 have_pass=1 dsn=DBI:mysql:;host=192.168.91.25;port=3306 savepass=1 slave22=user=root have_user=1 pass=123 have_pass=1 dsn=DBI:mysql:;host=192.168.91.22;port=3306 savepass=1 [/connections] 

启动innotop,默认监控的是master26的信息。

MySQL监控利器-Innotop

可通过“n”或“@”选择相应的服务器。

好虽好,但不够直观,我们希望本例中三个服务器的信息能显示在一个屏幕里,这样就不需要进行来回的切换,更直观。这里,就需要用到SERVER GROUPS的功能。

SERVER GROUPS

顾名思义,就是讲服务器进行分组,这种信息展示的粒度就不在是服务器,而是整个组了。

同样有两种方式添加:

一、直接在innotop交互式界面中添加

使用“#”键,首先创建组的名字,然后添加服务器,如下所示:

MySQL监控利器-Innotop

二、编辑配置文件

[server_groups] master-slave=master26 slave22 slave25 [/server_groups] 

下面,我们来看看集群显示的效果

MySQL监控利器-Innotop

对于监控主从集群的状况,完全够用。

注意: 在innotop交互式界面中配置完毕后,需退出innotop,再进入,不然就不会显示CXN列。

总结:

1. 可能有人有疑虑,将密码保存到配置文件中,是否不安全,尤其是在生产环境下。其实,密码也可以不保存在配置文件中,配置如下:

[connections] server144=user=root have_user=1 have_pass=1 dsn=DBI:mysql:;host=192.168.244.144;port=3306 savepass= dl_table= [/connections] 

如果是在innotop交互式界面中添加,则最后一步Save password in plain text in the config file?: 写“n”即可。

2. 除了上述功能,innotop还是蛮强大的。譬如在M模式,即Replication Status下,可通过“o”键给服务器发送命令。如下所示:

MySQL监控利器-Innotop

Anyway,Innotop功能还是及其强大的,大家慢慢琢磨吧~

参考:

https://www.percona.com/blog/2013/10/14/innotop-real-time-advanced-investigation-tool-mysql/

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL监控利器-Innotop

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

技术分享 | MySQL 监控利器之 Pt-Stalk

一、概述之前在社区发了一篇故障分析 | 有效解决 MySQL 行锁等待超时问题文档,主要介绍了下行锁超时的监控方法,下方评论中有人提到了 pt-stalk 工具也可以监控行锁超时,因为个人没怎么用过这个工具,所以下意识的就去 google 了一下。因为没找到有
技术分享 | MySQL 监控利器之 Pt-Stalk
2018-05-02

Python监控服务器利器--psuti

服务器的监控通过安装一些常用的监控软件之外,有时也需要运行一些shell或Python脚本;shell下可以使用系统自带的ps/free/top/df等shell命令,Python可以调用subprocess等模块来运行shell命令,不过
2023-01-31
2024-04-02

利用python监控天气

需求:从天气网站抓取天气,在每天6点,检查当天是否会下雨。如果下雨,邮件提醒带伞。代码:[root@pos ~]# cat weather.py#!/usr/bin/python# -*- coding: UTF-8 -*-import r
2023-01-31

promethus监控mysql

下载页面https://github.com/prometheus/mysqld_exporter/releases下载最新版本https://github.com/prometheus/mysqld_exporter/releases/d
2023-01-31

Spring boot admin 服务监控利器详解

这篇文章主要介绍了Spring boot admin 服务监控利器详解,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
2022-11-13

MySQL监控参数

1.查看xx库所有表信息参数详解Name(表名称)Engine(存储引擎)Version(版本)Row_format(行格式。对于MyISAM引擎,这可能是Dynamic,Fixed或Compressed。动态行的行长度可变例如Varchar或Blob类型字段
MySQL监控参数
2019-09-29

Nagios利用NRPE监控Linux主

介绍本文描述了如何监控Linux/UNIX的“私有”服务和属性,如:CPU负载内存占用率磁盘利用率登录用户运行进程等等一、利用NRPE监控远程Linux的”本地信息“    前面已经对远程Linux 主机是否存活做了监控,而判断远程机器是否
2023-01-31

pmm-server监控mysql

https://blog.csdn.net/RunzIyy/article/details/104635680?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLea
pmm-server监控mysql
2017-09-22

CentOS中怎么利用Munin监控服务器

这期内容当中小编将会给大家带来有关CentOS中怎么利用Munin监控服务器,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Munin的介绍和原理Munin 是一个服务器监控工具,基于perl写的,能通过网
2023-06-10

python 监控mysql脚本

#!/usr/bin/env python#-*- coding: UTF-8 -*-from __future__ import print_functionfrom mysql import connectorimport loggin
2023-01-31

编程热搜

目录