zwd 发表于 2018-9-27 08:13:47

mytop-MySQL监控工具

  最近研究了下MySQL的监控工具mytop,也在网络上搜罗了很久,按照他们的流程总是安装不成功,也许是环境不一样的原因吧。在安装的过程中遇到很多问题,迟迟不能解决,但是,在经过一番努力之后终于安装成功了,现在加以详细汇总,以备将来使用,同时也可以给各位博友提供一份参考,将我个人的安装过程贴出来,仅供参考,如有疑问请联系QQ:349871740,欢迎指正^_^

  1、OS版本:Red Hat Enterprise Linux Server>  MySQL版本:4.0.26
  2、安装文件列表:
  MySQL-shared-compat-5.1.57-1.rhel5.i386.rpm
  mytop-1.6.tar.gz
  perl-DBD-MySQL-3.0007-2.el5.i386.rpm
  perl-DBI-1.52-2.el5.i386.rpm
  TermReadKey-2.30.tar.gz
  3、相关文件下载链接:
  wget http://search.cpan.org/CPAN/authors/id/J/JS/JSTOWE/TermReadKey-2.30.tar.gz
  wget http://jeremy.zawodny.com/mysql/mytop/mytop-1.6.tar.gz
  wget ftp://mirror.switch.ch/pool/1/mirror/mysql/Downloads/MySQL-5.1/MySQL-shared-compat-5.1.57-1.rhel5.i386.rpm
  wget ftp://ftp.icm.edu.pl/vol/rzm2/linux-slc/slc54/i386/SL/perl-DBD-MySQL-3.0007-2.el5.i386.rpm
  wget ftp://ftp.icm.edu.pl/vol/rzm2/linux-slc/slc58/i386/SL/perl-DBI-1.52-2.el5.i386.rpm
  4、安装流程如下:
  # tar zxvf TermReadKey-2.30.tar.gz && cd TermReadKey-2.30
  # perl Makefile.PL && make && make install
  # cd ..
  # rpm -Uvh MySQL-shared-compat-5.1.57-1.rhel5.i386.rpm perl-DBD-MySQL-3.0007-2.el5.i386.rpm perl-DBI-1.52-2.el5.i386.rpm
  # tar zxvf mytop-1.6.tar.gz && cd mytop-1.6
  # perl Makefile.PL && make && make install
  5、配置mytop并运行
  # mytop
  Cannot connect to MySQL server. Please check the:
  * database you specified "test" (default is "test")
  * username you specified "root" (default is "root")
  * password you specified "" (default is "")
  * hostname you specified "localhost" (default is "localhost")
  * port you specified "3306" (default is 3306)
  * socket you specified "" (default is "")
  The options my be specified on the command-line or in a ~/.mytop
  config file. See the manual (perldoc mytop) for details.
  Here's the exact error from DBI. It might help you debug:
  Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
  # cat /root/.mytop
  > user=root
  > pass=123456
  > host=127.0.0.1
  > db=cacti
  > delay=10
  > port=3306
  > resolve=0
  > socket=/tmp/mysql.sock
  > EOF
  # mytop
  6、更详细的参数选项请参考man手册,这里不再赘述。
  # man mytop
  7、以下是我的安装和配置过程:
  # uname -a
  Linux tech 2.6.18-128.el5PAE #1 SMP Wed Dec 17 12:02:33 EST 2008 i686 i686 i386 GNU/Linux
  # lsb_release -a
  LSB Version:    :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch

  Distributor>
  Description:    Red Hat Enterprise Linux Server>  Release:      5.3
  Codename:       Tikanga
  # cat /etc/issue

  Red Hat Enterprise Linux Server>  Kernel \r on an \m
  # cd /tmp
  # ll
  total 6144
  -rw-r--r-- 1 root root 5443408 Mar 24 19:17 MySQL-shared-compat-5.1.57-1.rhel5.i386.rpm
  -rw-r--r-- 1 root root   19720 Mar 24 18:39 mytop-1.6.tar.gz
  -rw-r--r-- 1 root root150649 Oct 162008 perl-DBD-MySQL-3.0007-2.el5.i386.rpm
  -rw-r--r-- 1 root root613929 Mar 24 19:06 perl-DBI-1.52-2.el5.i386.rpm
  -rw-r--r-- 1 root root   37006 Jun 13 10:56 TermReadKey-2.30.tar.gz
  -rw-r--r-- 1 root root       0 Jun 16 14:42 typescript
  # tar zxvf TermReadKey-2.30.tar.gz && cd TermReadKey-2.30
  TermReadKey-2.30/
  TermReadKey-2.30/genchars.pl
  TermReadKey-2.30/Makefile.PL
  TermReadKey-2.30/Configure.pm
  TermReadKey-2.30/test.pl
  TermReadKey-2.30/ReadKey.pm
  TermReadKey-2.30/META.yml
  TermReadKey-2.30/ReadKey.xs
  TermReadKey-2.30/ppport.h
  TermReadKey-2.30/MANIFEST
  TermReadKey-2.30/README
  # perl Makefile.PL && make && make install
  Checking if your kit is complete...
  Looks good
  Writing Makefile for Term::ReadKey
  cp ReadKey.pm blib/lib/Term/ReadKey.pm
  AutoSplitting blib/lib/Term/ReadKey.pm (blib/lib/auto/Term/ReadKey)
  /usr/bin/perl -I/usr/lib/perl5/5.8.8 genchars.pl
  Writing termio/termios section of cchars.h... Done.
  Checking for sgtty...
  Sgtty NOT found.
  Writing sgtty section of cchars.h... Done.
  /usr/bin/perl /usr/lib/perl5/5.8.8/ExtUtils/xsubpp -noprototypes -typemap /usr/lib/perl5/5.8.8/ExtUtils/typemapReadKey.xs > ReadKey.xsc && mv ReadKey.xsc ReadKey.c
  gcc -c   -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables   -DVERSION=\"2.30\" -DXS_VERSION=\"2.30\" -fPIC "-I/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE"   ReadKey.c
  In file included from ReadKey.xs:6:
  ppport.h:230:1: warning: "PERL_UNUSED_DECL" redefined
  In file included from ReadKey.xs:4:
  /usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE/perl.h:163:1: warning: this is the location of the previous definition
  In file included from ReadKey.xs:375:
  cchars.h: In function 'XS_Term__ReadKey_GetControlChars':
  cchars.h:244: warning: unused variable 'i'
  ReadKey.xs: In function 'ReadMode':
  ReadKey.xs:770: warning: unused variable 'Perl___notused'
  ReadKey.c: In function 'XS_Term__ReadKey_SetTerminalSize':
  ReadKey.c:1999: warning: unused variable 'targ'
  Running Mkbootstrap for Term::ReadKey ()
  chmod 644 ReadKey.bs
  rm -f blib/arch/auto/Term/ReadKey/ReadKey.so
  gcc-shared -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -L/usr/local/lib ReadKey.o-o blib/arch/auto/Term/ReadKey/ReadKey.so      \
  \
  chmod 755 blib/arch/auto/Term/ReadKey/ReadKey.so
  cp ReadKey.bs blib/arch/auto/Term/ReadKey/ReadKey.bs
  chmod 644 blib/arch/auto/Term/ReadKey/ReadKey.bs
  Manifying blib/man3/Term::ReadKey.3pm
  Installing /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/Term/ReadKey/ReadKey.bs
  Installing /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/Term/ReadKey/ReadKey.so
  Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
  Installing /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/Term/ReadKey/autosplit.ix
  Installing /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/Term/ReadKey.pm
  Installing /usr/share/man/man3/Term::ReadKey.3pm
  Writing /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/Term/ReadKey/.packlist
  Appending installation info to /usr/lib/perl5/5.8.8/i386-linux-thread-multi/perllocal.pod
  # cd ..
  # rpm -Uvh MySQL-shared-compat-5.1.57-1.rhel5.i386.rpm perl-DBD-MySQL-3.0007-2.el5.i386.rpm perl-DBI-1.52-2.el5.i386.rpm

  warning: perl-DBD-MySQL-3.0007-2.el5.i386.rpm: Header V3 DSA signature: NOKEY, key>
  warning: perl-DBI-1.52-2.el5.i386.rpm: Header V3 DSA signature: NOKEY, key>  Preparing...                ###########################################
  1:perl-DBI               ########################################### [ 33%]
  2:MySQL-shared-compat    ########################################### [ 67%]
  3:perl-DBD-MySQL         ###########################################
  # tar zxvf mytop-1.6.tar.gz && cd mytop-1.6
  mytop-1.6/
  mytop-1.6/MANIFEST
  mytop-1.6/test.pl
  mytop-1.6/mytop
  mytop-1.6/Changes
  mytop-1.6/INSTALL
  mytop-1.6/README
  mytop-1.6/Makefile.PL
  mytop-1.6/META.yml
  # perl Makefile.PL && make && make install
  Checking if your kit is complete...
  Looks good
  Writing Makefile for mytop
  cp mytop blib/script/mytop
  /usr/bin/perl "-MExtUtils::MY" -e "MY->fixin(shift)" blib/script/mytop
  Manifying blib/man1/mytop.1
  Installing /usr/share/man/man1/mytop.1
  Installing /usr/bin/mytop
  Writing /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/mytop/.packlist
  Appending installation info to /usr/lib/perl5/5.8.8/i386-linux-thread-multi/perllocal.pod
  # mytop
  Cannot connect to MySQL server. Please check the:
  * database you specified "test" (default is "test")
  * username you specified "root" (default is "root")
  * password you specified "" (default is "")
  * hostname you specified "localhost" (default is "localhost")
  * port you specified "3306" (default is 3306)
  * socket you specified "" (default is "")
  The options my be specified on the command-line or in a ~/.mytop
  config file. See the manual (perldoc mytop) for details.
  Here's the exact error from DBI. It might help you debug:
  Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
  # cat /root/.mytop
  > user=root
  > pass=123456
  > host=127.0.0.1
  > db=cacti
  > delay=10
  > port=3306
  > resolve=0
  > socket=/tmp/mysql.sock
  > EOF
  # mytop
  MySQL on 127.0.0.1 (4.0.26)                                                                                                                           up 10+22:18:53 [14
  :52:13]
  Queries: 81.6kqps:    0 Slow:   810.0         Se/In/Up/De(%):    23/36/40/01
  Cache Hits: 6.8kHits/s:0.0 Hits now:   0.0Ratio: 35.8% Ratio now:0.0%
  Key Efficiency: 100.0%Bps in/out:73.3/ 2.6k

  >  --      ----         -------         --      ----    --- ----------
  156      root       localhost      cacti         0Query show full processlist
  8、总结:将以上安装过程写成脚本进行快速安装,由于IDC做了ACL限制,不能直接进行wget对安装文件进行下载,个人是首先将安装文件下载到个人电脑,然后上传到服务器的,以下是脚本示例,
  # cat mytop_install.sh
  _DIR=/tmp/wyq
  cd ${_DIR}
  tar zxvf TermReadKey-2.30.tar.gz && cd TermReadKey-2.30
  perl Makefile.PL && make && make install
  cd ..
  rpm -Uvh MySQL-shared-compat-5.1.57-1.rhel5.i386.rpm perl-DBD-MySQL-3.0007-2.el5.i386.rpm perl-DBI-1.52-2.el5.i386.rpm
  tar zxvf mytop-1.6.tar.gz && cd mytop-1.6
  perl Makefile.PL && make && make install
  cd ..
  rm -rf TermReadKey-2.30 mytop-1.6
  cat /root/.mytop
  user=root
  pass=123456
  host=127.0.0.1
  db=cacti
  delay=10
  port=3306
  resolve=0
  socket=/tmp/mysql.sock
  EOF
  9、提示:请根据自己的实际环境修改mytop的配置文件以及安装脚本
  注:2012年06月18号增加安装效果图,如下


页: [1]
查看完整版本: mytop-MySQL监控工具