《Mysql入門安裝配置MySQLMTOP來監控MySQL運行性能的教程》要點:
本文介紹了Mysql入門安裝配置MySQLMTOP來監控MySQL運行性能的教程,希望對您有用。如果有疑問,可以聯系我們。
一、環境闡明
1、服務器角色
MYSQL應用
MYSQL利用
2、系統情況
CentOS 6.2 x86_64MYSQL應用
3、環境要求
(1)、MySQL 5.0 及以上?????? (用來存儲監控系統采集的數據)
(2)、Apache 2.2 及以上??????? (WEB 服務器運行服務器)
(3)、PHP 5.3 以上??????????????? (WEB 界面)
(4)、Python 2?????????????????????? (保舉 2.7 版本,其他版本未做測試,執行數據采集和報警任務)
(5)、MySQLdb for python???? (Python 連接 MySQL 的接口)MYSQL應用
二、Python根基環境部署
MYSQL應用
https://www.python.org/ftp/python/2.7.6/Python-2.7.6.tgzMYSQL利用
# tar xvzf Python-2.7.6.tgz # cd Python-2.7.6 # ./configure --prefix=/usr/local/python2.7 --enable-shared # make && make install # echo '/usr/local/python2.7/lib' >> /etc/ld.so.conf # /sbin/ldconfig # mv /usr/bin/python /usr/bin/python_old # ln -s /usr/local/python2.7/bin/python2.7 /usr/bin/python
為避免 python 版本過高,導致 yum 弗成以,需做如下修改:
MYSQL應用
# vim /usr/bin/yum
由? #!/usr/bin/python? 改動為? #!/usr/bin/python_oldMYSQL應用
http://pypi.python.org/packages/source/d/distribute/distribute-0.6.28.tar.gz
MYSQL利用
# tar xvzf distribute-0.6.28.tar.gz # cd distribute-0.6.28 # python setup.py install https://github.com/farcepest/MySQLdb1/archive/MySQLdb-1.2.5.tar.gz # tar xvzf MySQLdb1-MySQLdb-1.2.5.tar.gz # cd MySQLdb1-MySQLdb-1.2.5 # vim site.cfg mysql_config =/usr/local/mysql/bin/mysql_config …… # python setup.py build # python setup.py install
三、mysqlmtop環境部署
1、創立監控機數據庫并授權
MYSQL應用
# mysql -uroot -e "create database mysqlmtop default character set utf8;" # mysql -uroot -e "grant all privileges on mysqlmtop.* to 'mtop_user'@'%' identified by '123456';" # mysql -uroot -e "flush privileges;"
2、導入SQL文件夾里的SQL文件(表布局和數據文件)
MYSQL應用
# unzip mysqlmtop_v2.1.zip # cd mysqlmtop_v2.1 # mysql -uroot mysqlmtop < sql/mysqlmtop.sql # mysql -uroot mysqlmtop < sql/mysqlmtop_data.sql
3、在被監控機上創立授權賬號
MYSQL應用
# mysql -uroot -e "grant select,super,process on *.* to 'monitor'@'172.18.35.29' identified by 'monitor';" # mysql -uroot -e "flush privileges;"
4、mysqlmtop配置
MYSQL利用
# cp -a mysqlmtop /usr/local/ # cp -a frontweb /data/web/data/ # cd /usr/local/mysqlmtop/ # vim etc/config.ini
MYSQL利用
# chmod +x *.py *.sh mtopctl # ln -s /usr/local/mysqlmtop/mtopctl /usr/local/bin
( 注意:必要使用dos2unix命令對*.py、*.sh、mtopctl文件進行格式轉換,否則會運行失敗 )MYSQL應用
5、測試MySQL連接是否正常
MYSQL利用
# cd /usr/local/mysqlmtop && ./test_mysql.py
MySQLDB OK!
6、啟動監控系統
MYSQL利用
# mtopctl start
MYSQL利用
7、前端WEB展示層配置
MYSQL利用
# cd /data/web/data/frontweb/ # chown -R nobody:nogroup /data/web/data/frontweb # chmod -R 750 /data/web/data/frontweb # vim application/config/database.php
MYSQL利用
# vim /data/web/conf/mysqlmtop.conf <VirtualHost *:80> DocumentRoot /data/web/data/frontweb ServerName mysqlmtop.test.com DirectoryIndex index.php AddDefaultCharset UTF-8 <LocationMatch "/data/web/.*\.php$"> Order Deny,Allow Deny from All </LocationMatch> <Directory /> AllowOverride ALL </Directory> </VirtualHost> # service httpd graceful
然后本地hosts綁定(172.18.35.29? mysqlmtop.test.com)
通過 http://mysqlmtop.test.com? 即可拜訪(初始授權賬號:admin? admin)MYSQL應用
8、監控項設置
點擊治理中心 --> 應用治理 添加應用
MYSQL應用
MYSQL利用
點擊治理中心 --> 服務器治理 添加 MySQL 服務器
MYSQL應用
MYSQL利用
四、慢查詢配置
1、在被監控服務器安裝如下組件
http://cpan.metacpan.org/authors/id/T/TI/TIMB/DBI-1.628.tar.gz
MYSQL利用
# tar xvzsf DBI-1.628.tar.gz # cd DBI-1.628 # perl Makefile.PL # make && make install
http://search.cpan.org/CPAN/authors/id/C/CA/CAPTTOFU/DBD-mysql-4.024.tar.gz
MYSQL利用
# tar xvzf DBD-mysql-4.024.tar.gz # cd DBD-mysql-4.024 # perl Makefile.PL --mysql_config=/usr/local/mysql/bin/mysql_config --with-mysql=/usr/local/mysql # make && make install
http://search.cpan.org/CPAN/authors/id/S/SU/SULLR/IO-Socket-SSL-1.972.tar.gz
MYSQL利用
# tar xvzf IO-Socket-SSL-1.972.tar.gz # cd IO-Socket-SSL-1.972 # perl Makefile.PL # make && make install
http://www.percona.com/redir/downloads/percona-toolkit/LATEST/percona-toolkit-2.2.7.tar.gz
MYSQL利用
# tar xvzf percona-toolkit-2.2.7.tar.gz # cd percona-toolkit-2.2.7 # perl Makefile.PL # make && make install
2、開啟 MySQL 自己的慢查詢功能
MYSQL應用
slow_query_log = 1 slow_query_log_file = /data/dbdata/slow_query.log long_query_time = 1
3、在被監控服務器(10.160.22.14)上添加如下 crontab 項
MYSQL利用
00 * * * * /usr/bin/pt-query-digest --user=mtop_user --password=123456 --port=3306 --review h=172.18.35.29,D=mysqlmtop,t=mysql_slow_query_review_4 --history h=172.18.35.29,D=mysqlmtop,t=mysql_slow_query_review_history_4 --no-report --limit=0% /data/dbdata/slow_query.log >/dev/null 2>&1
4、在被監控服務器(10.160.22.47)上添加如下 crontab 項
MYSQL利用
00 * * * * /usr/bin/pt-query-digest --user=mtop_user --password=123456 --port=3306 --review h=172.18.35.29,D=mysqlmtop,t=mysql_slow_query_review_5 --history h=172.18.35.29,D=mysqlmtop,t=mysql_slow_query_review_history_5 --no-report --limit=0% /data/dbdata/slow_query.log >/dev/null 2>&1
以上數據表 mysql_slow_query_review、mysql_slow_query_review_history 的后綴為主機 ID,如圖:
MYSQL利用
MYSQL利用
5、為被監控的服務器開啟慢查詢
MYSQL利用
MYSQL利用
6、后果展示
MYSQL應用
MYSQL利用
三、對象組件配置
1、在被監控服務器(172.18.35.29)上添加如下 crontab 項
MYSQL應用
*/30 * * * * cd /usr/local/mysqlmtop; ./check_mysql_widget_bigtable.py >/dev/null 2>&1 */1 * * * * cd /usr/local/mysqlmtop; ./check_mysql_widget_hit_rate.py >/dev/null 2>&1 */1 * * * * cd /usr/local/mysqlmtop; ./check_mysql_widget_connect.py >/dev/null 2>&1
2、后果展示
MYSQL應用
MYSQL利用
四、資源監控配置
1、被監控服務器上的設置
NET-SNMP服務安裝(注意版本):
ftp://ftp.fi.freebsd.org/pub/FreeBSD/ports/distfiles/net-snmp-5.3.2.tar.gz
MYSQL利用
# tar xvzf net-snmp-5.3.2.tar.gz # cd net-snmp-5.3.2 # ./configure --prefix=/usr/local/snmp \ --enable-mfd-rewrites \ --with-default-snmp-version="2" \ --with-sys-contact="lovezym5@qq.com" \ --with-sys-location="China" \ --with-logfile="/var/log/snmpd.log" \ --with-persistent-directory="/var/net-snmp" # make && make install # cp EXAMPLE.conf /usr/local/snmp/share/snmp/snmpd.conf # vim /usr/local/snmp/share/snmp/snmpd.conf com2sec notConfigUser 172.18.35.29 mysqlmtop group notConfigGroup v1 notConfigUser group notConfigGroup v2c notConfigUser group notConfigGroup usm notConfigUser view all included .1 80 access notConfigGroup "" any noauth exact all none none ......
服務啟動:
MYSQL利用
# /usr/local/snmp/sbin/snmpd -c /usr/local/snmp/share/snmp/snmpd.conf
# tar xvzf net-snmp-5.3.2.tar.gz # cd net-snmp-5.3.2 # ./configure --prefix=/usr/local/snmp \ --enable-mfd-rewrites \ --with-default-snmp-version="2" \ --with-sys-contact="lovezym5@qq.com" \ --with-sys-location="China" \ --with-logfile="/var/log/snmpd.log" \ --with-persistent-directory="/var/net-snmp" # make && make install # cd /usr/local/mysqlmtop # ln -s /usr/local/snmp/bin/snmpwalk /usr/bin/snmpwalk # ln -s /usr/local/snmp/bin/snmpdf /usr/bin/snmpdf # vim /usr/local/mysqlmtop/check_linux_resource.sh host="172.18.35.29" port="3306" user="mtop_user" password="123456" dbname="mysqlmtop" ...... # vim /usr/local/mysqlmtop/etc/config.ini [linux_server] server_ip="10.160.22.14|10.160.22.47"
重啟監控服務:
MYSQL利用
# mtopctl stop && mtopctl start
問題修正(不然無法獲取內存信息):
MYSQL應用
# vim /usr/local/mysqlmtop/check_linux_resource.sh totalmem=`/usr/bin/snmpdf -v1 -c mysqlmtop ${ip} | awk '/Real Memory/ {print $3}'` usedmem=`/usr/bin/snmpdf -v1 -c mysqlmtop ${ip} | awk '/Real Memory/ {print $4}'`
crontab 內容添加:
MYSQL利用
*/1 * * * * cd /usr/local/mysqlmtop; ./check_linux_resource.py >/dev/null 2>&1
后果展示
MYSQL應用
MYSQL利用
《Mysql入門安裝配置MySQLMTOP來監控MySQL運行性能的教程》是否對您有啟發,歡迎查看更多與《Mysql入門安裝配置MySQLMTOP來監控MySQL運行性能的教程》相關教程,學精學透。維易PHP學院為您提供精彩教程。