MySQL MTOP 를 설치 하여 MySQL 의 운행 성능 을 감시 하 는 튜 토리 얼 을 설치 합 니 다.
1.서버 역할
2.시스템 환경
CentOS 6.2 x86_64
3.환경 요구
(1),MySQL 5.0 이상 (모니터 시스템 에서 수집 한 데 이 터 를 저장 합 니 다)
(2),Apache 2.2 이상 (웹 서버 실행 서버)
(3)、PHP 5.3 이상 (WEB 인터페이스)
(4)、Python 2 (2.7 버 전 을 추천 합 니 다.다른 버 전 은 테스트 를 하지 않 고 데이터 수집 과 경보 작업 을 수행 합 니 다)
(5)、MySQLdb for python (Python MySQL 연결 인터페이스)
2.Python 기초 환경 배치
https://www.python.org/ftp/python/2.7.6/Python-2.7.6.tgz
# 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 이 안 되 는 것 을 피하 기 위해 다음 과 같이 수정 해 야 합 니 다.
# vim /usr/bin/yum
...에서 #!/usr/bin/python 으로 변경 #!/usr/bin/python_oldhttp://pypi.python.org/packages/source/d/distribute/distribute-0.6.28.tar.gz
# 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
3.my sqlmtop 환경 배치1.모니터 데이터 베 이 스 를 만 들 고 권한 을 부여 합 니 다.
# 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 파일 가 져 오기(표 구조 와 데이터 파일)
# unzip mysqlmtop_v2.1.zip
# cd mysqlmtop_v2.1
# mysql -uroot mysqlmtop < sql/mysqlmtop.sql
# mysql -uroot mysqlmtop < sql/mysqlmtop_data.sql
3.피 감시 기 에서 권한 수여 계 정 만 들 기
# mysql -uroot -e "grant select,super,process on *.* to 'monitor'@'172.18.35.29' identified by 'monitor';"
# mysql -uroot -e "flush privileges;"
4,mysqlmtop 설정
# cp -a mysqlmtop /usr/local/
# cp -a frontweb /data/web/data/
# cd /usr/local/mysqlmtop/
# vim etc/config.ini
# chmod +x *.py *.sh mtopctl
# ln -s /usr/local/mysqlmtop/mtopctl /usr/local/bin
(메모:dos2unix 명령 을 사용 하여*.py,*.sh,mtopctl 파일 을 포맷 변환 해 야 합 니 다.그렇지 않 으 면 실행 에 실패 합 니 다)5.MySQL 연결 이 정상 인지 테스트
# cd /usr/local/mysqlmtop && ./test_mysql.py
MySQLDB OK!
6.모니터링 시스템 시작
# mtopctl start
7.전단 WEB 전시 층 설정
# 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
# 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)
8.모니터링 항목 설정
관리 센터 를 클릭 하 십시오-->응용 관리 추가 응용
관리 센터 클릭->서버 관리 MySQL 서버 추가
4.느 린 조회 설정
1.피 감시 서버 에 다음 과 같은 구성 요 소 를 설치 합 니 다.
http://cpan.metacpan.org/authors/id/T/TI/TIMB/DBI-1.628.tar.gz
# 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
# 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
# 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
# tar xvzf percona-toolkit-2.2.7.tar.gz
# cd percona-toolkit-2.2.7
# perl Makefile.PL
# make && make install
2,MySQL 자체 의 느 린 조회 기능 을 엽 니 다
slow_query_log = 1
slow_query_log_file = /data/dbdata/slow_query.log
long_query_time = 1
3.피 감시 서버(10.160.2.2.14)에 다음 과 같은 crontab 항목 을 추가 합 니 다.
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 항목 을 추가 합 니 다.
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
이상 데이터 시트 my sqlslow_query_review、mysql_slow_query_review_history 의 접 두 사 는 호스트 ID 입 니 다.그림 참조:5.감 시 된 서버 를 위 한 느 린 조회 시작
6.효과 전시
3.도구 구성 요소 설정
1.피 감시 서버(172.18.35.29)에 다음 과 같은 crontab 항목 을 추가 합 니 다.
*/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.효과 전시4.자원 모니터링 설정
1.피 감시 서버 의 설정
NET-SNMP 서비스 설치(주의 버 전):
ftp://ftp.fi.freebsd.org/pub/FreeBSD/ports/distfiles/net-snmp-5.3.2.tar.gz
# 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="[email protected]" \
--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
......
서비스 시작:
# /usr/local/snmp/sbin/snmpd -c /usr/local/snmp/share/snmp/snmpd.conf
2.서버 설정 모니터링NET-SNMP 서비스 설치:
# 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="[email protected]" \
--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"
모니터링 서비스 다시 시작:
# mtopctl stop && mtopctl start
문제 수정(그렇지 않 으 면 메모리 정 보 를 가 져 올 수 없습니다):
# 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 내용 추가:
*/1 * * * * cd /usr/local/mysqlmtop; ./check_linux_resource.py >/dev/null 2>&1
효과 전시이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Redash를 사용할 때 몰랐던 SQL을 쓰는 법을 배웠습니다.최근 redash에서 sql을 쓸 기회가 많고, 이런 쓰는 방법이 있었는지와 sql에 대해 공부를 다시하고 있기 때문에 배운 것을 여기에 씁니다. Redash란? 월별로 데이터를 표시하고 싶습니다 주별로 데이터를 표...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.