《Mysql入門安裝配置MySQLMTOP來監(jiān)控MySQL運行性能的教程》要點:
本文介紹了Mysql入門安裝配置MySQLMTOP來監(jiān)控MySQL運行性能的教程,希望對您有用。如果有疑問,可以聯(lián)系我們。
一、環(huán)境闡明
1、服務(wù)器角色
MYSQL應(yīng)用
MYSQL利用
2、系統(tǒng)情況
CentOS 6.2 x86_64MYSQL應(yīng)用
3、環(huán)境要求
(1)、MySQL 5.0 及以上?????? (用來存儲監(jiān)控系統(tǒng)采集的數(shù)據(jù))
(2)、Apache 2.2 及以上??????? (WEB 服務(wù)器運行服務(wù)器)
(3)、PHP 5.3 以上??????????????? (WEB 界面)
(4)、Python 2?????????????????????? (保舉 2.7 版本,其他版本未做測試,執(zhí)行數(shù)據(jù)采集和報警任務(wù))
(5)、MySQLdb for python???? (Python 連接 MySQL 的接口)MYSQL應(yīng)用
二、Python根基環(huán)境部署
MYSQL應(yīng)用
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 版本過高,導(dǎo)致 yum 弗成以,需做如下修改:
MYSQL應(yīng)用
# vim /usr/bin/yum
由? #!/usr/bin/python? 改動為? #!/usr/bin/python_oldMYSQL應(yīng)用
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環(huán)境部署
1、創(chuàng)立監(jiān)控機數(shù)據(jù)庫并授權(quán)
MYSQL應(yīng)用
# 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、導(dǎo)入SQL文件夾里的SQL文件(表布局和數(shù)據(jù)文件)
MYSQL應(yīng)用
# unzip mysqlmtop_v2.1.zip # cd mysqlmtop_v2.1 # mysql -uroot mysqlmtop < sql/mysqlmtop.sql # mysql -uroot mysqlmtop < sql/mysqlmtop_data.sql
3、在被監(jiān)控機上創(chuàng)立授權(quán)賬號
MYSQL應(yīng)用
# 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文件進行格式轉(zhuǎn)換,否則會運行失敗 )MYSQL應(yīng)用
5、測試MySQL連接是否正常
MYSQL利用
# cd /usr/local/mysqlmtop && ./test_mysql.py
MySQLDB OK!
6、啟動監(jiān)控系統(tǒng)
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? 即可拜訪(初始授權(quán)賬號:admin? admin)MYSQL應(yīng)用
8、監(jiān)控項設(shè)置
點擊治理中心 --> 應(yīng)用治理 添加應(yīng)用
MYSQL應(yīng)用
MYSQL利用
點擊治理中心 --> 服務(wù)器治理 添加 MySQL 服務(wù)器
MYSQL應(yīng)用
MYSQL利用
四、慢查詢配置
1、在被監(jiān)控服務(wù)器安裝如下組件
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應(yīng)用
slow_query_log = 1 slow_query_log_file = /data/dbdata/slow_query.log long_query_time = 1
3、在被監(jiān)控服務(wù)器(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、在被監(jiān)控服務(wù)器(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
以上數(shù)據(jù)表 mysql_slow_query_review、mysql_slow_query_review_history 的后綴為主機 ID,如圖:
MYSQL利用
MYSQL利用
5、為被監(jiān)控的服務(wù)器開啟慢查詢
MYSQL利用
MYSQL利用
6、后果展示
MYSQL應(yīng)用
MYSQL利用
三、對象組件配置
1、在被監(jiān)控服務(wù)器(172.18.35.29)上添加如下 crontab 項
MYSQL應(yīng)用
*/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應(yīng)用
MYSQL利用
四、資源監(jiān)控配置
1、被監(jiān)控服務(wù)器上的設(shè)置
NET-SNMP服務(wù)安裝(注意版本):
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 ......
服務(wù)啟動:
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"
重啟監(jiān)控服務(wù):
MYSQL利用
# mtopctl stop && mtopctl start
問題修正(不然無法獲取內(nèi)存信息):
MYSQL應(yīng)用
# 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 內(nèi)容添加:
MYSQL利用
*/1 * * * * cd /usr/local/mysqlmtop; ./check_linux_resource.py >/dev/null 2>&1
后果展示
MYSQL應(yīng)用
MYSQL利用
《Mysql入門安裝配置MySQLMTOP來監(jiān)控MySQL運行性能的教程》是否對您有啟發(fā),歡迎查看更多與《Mysql入門安裝配置MySQLMTOP來監(jiān)控MySQL運行性能的教程》相關(guān)教程,學(xué)精學(xué)透。維易PHP學(xué)院為您提供精彩教程。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/11926.html