设为首页 收藏本站
查看: 3508|回复: 0

[经验分享] mysql 部署慢日志收集程序

[复制链接]

尚未签到

发表于 2018-10-5 13:33:39 | 显示全部楼层 |阅读模式
配置yum 源

centos 7 配置yum源
  http://mirror.centos.org/centos/7/
  http://mirror.centos.org/centos/$releasever/os/$basearch/  $releasever  $basearch 分别表示操作系统版本和位数,yum能识别这两个变量
  http://mirror.centos.org/centos/7/extras/x86_64/   extra yum 源
  保证/etc/yum.repos.d/目录没有其他的repo文件,如有可以创建一个bak目录,备份bak目录
  cat /etc/yum.repos.d/centos7.repo

centos6 配置yum源
  http://mirror.centos.org/centos/6/
  cat /etc/yum.repos.d/centos6.repo

安装pt-tools
  配置好了yum源,通过yum解决依赖
  yum localinstall percona-toolkit-2.2.19-1.noarch.rpm   #依赖于mysql-lib,一定要安装和mysql-server/mysql-client匹配的lib
  如果yum没配置好,需要手动安装依赖
  yum install perl-DBI
  rpm -ivh MySQL-shared-5.6.26-1.el6.x86_64.rpm
  rpm -ivh MySQL-shared-compat-5.6.26-1.el6.x86_64.rpm
  perl的依赖有:
  perl-DBD-MySQL
  perl-IO-Socket-SSL
  perl-Net-LibIDN
  perl-Net-SSLeay
  perl-TermReadKey
  perl-Time-HiRes
  rpm -Uvh perl-5.10.1-144.el6.x86_64.rpm perl-libs-5.10.1-144.el6.x86_64.rpm  perl-Pod-Escapes-1.04-144.el6.x86_64.rpm  perl-Pod-Simple-3.13-144.el6.x86_64.rpm perl-Module-Pluggable-3.90-144.el6.x86_64.rpm  perl-version-0.77-144.el6.x86_64.rpm
  rpm -ivh percona-toolkit-2.2.19-1.noarch.rpm  perl-DBI-1.609-4.el6.x86_64.rpm perl-DBD-MySQL-4.013-3.el6.x86_64.rpm  perl-IO-Socket-SSL-1.31-3.el6_8.2.noarch.rpm perl-Time-HiRes-1.9721-144.el6.x86_64.rpm perl-TermReadKey-2.30-13.el6.x86_64.rpm  perl-Net-LibIDN-0.12-3.el6.x86_64.rpm  perl-Net-SSLeay-1.35-10.el6_8.1.x86_64.rpm

安装Python2.7.5,用自己的Python脚本,安装一次,拷贝,在其他的服务器安装
  

tar xvf Python-2.7.5.tar.bz2  
cd Python-2.7.5
  
yum install zlib zlib-devel
  

  
./configure --prefix=/usr/local/python27
  
make && make install
  

安装setuptools,Python2.7 安装源码包依赖于此
  

unzip setuptools-38.5.2.zip  
cd setuptools-38.5.2
  
/usr/local/python27/bin/python setup.py  install
  

安装 MarkupSafe-1.0,Jinja2-2.7.3依赖于此
  

tar xvf MarkupSafe-1.0.tar.gz  
cd MarkupSafe-1.0
  
/usr/local/python27/bin/python setup.py  install
  

安装 Jinja2
  

tar xvf Jinja2-2.7.3.tar.gz  
cd ../Jinja2-2.7.3
  
/usr/local/python27/bin/python setup.py  install
  

安装distribute-0.6.28,MySQL-python-1.2.4b4依赖于此
  

tar xvf distribute-0.6.28.tar.gz  
cd /distribute-0.6.28
  
/usr/local/python27/bin/python setup.py  install
  

  3、安装MySQL-python-1.2.4b4
  

tar xvf MySQL-python-1.2.4b4.tar.gz  
cd  MySQL-python-1.2.4b4
  
yum install gcc
  
/usr/local/python27/bin/python setup.py  install
  

  如果mysql是源码安装,需要为mysql_config创建一个软连接
  ln -sv /usr/local/mysql/bin/mysql_config  /usr/bin/mysql_config,否则安装MySQL-python-1.2.4b4会报错

创建slowlog数据库和用户
  

create database slowlog;  
set global validate_password_policy='MEDIUM';

  
GRANT ALL PRIVILEGES ON `slowlog`.* TO 'slowlog'@'127.0.0.1'>  
set global validate_password_policy='LOW';
  

  
use slowlog;
  
CREATE TABLE slowlog.`global_query_review_history` (
  `ts_min` datetime NOT NULL,
  `ts_max` datetime NOT NULL,
  `ts_cnt` float DEFAULT NULL,
  `Query_time_sum` float DEFAULT NULL,
  `Query_time_min` float DEFAULT NULL,
  `Query_time_max` float DEFAULT NULL,
  `Query_time_pct_95` float DEFAULT NULL,
  `Lock_time_sum` float DEFAULT NULL,
  `Lock_time_min` float DEFAULT NULL,
  `Lock_time_max` float DEFAULT NULL,
  `Lock_time_pct_95` float DEFAULT NULL,
  `sample` text NOT NULL,
  `checksum` bigint(20) unsigned NOT NULL,
  `tag` varchar(100) DEFAULT NULL,
  `ip` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`checksum`,`ts_min`,`ts_max`)
  
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  

  

部署脚本
  

mkdir -p /data/scripts/templates  
cp top10slowquery.html /data/scripts/templates
  
cp s*.py  /data/scripts/
  

  测试:./slowquery_report.py
  查看是数据库中是否有数据产生
  

select count(*) from slowlog.query_history;  
select count(*) from slowlog.query;
  
select count(*) from slowlog.global_query_review_history;
  

  测试:./send_slowquery_report.py
  查看是否有邮件发出
  如果有,可以部署contab
  

crontab -e  
0 1 * * *  /data/scripts/slowquery_report.py
  
0 2 * * *  /data/scripts/send_slowquery_report.py
  

报错:
  UnboundLocalError: local variable 'conn' referenced before assignment [duplicate]
  Python获取连接失败,需要在数据中创建用户和密码



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-612710-1-1.html 上篇帖子: zabbix 自带模板监控Mysql-sqtce 下篇帖子: Confluence 6 配置 MySQL 服务器
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表