龙空技术网

基于centos7系统安装部署mysql-awr开源监控工具--第一部分

波波说运维 466

前言:

如今小伙伴们对“centos监控io”大概比较重视,看官们都需要分析一些“centos监控io”的相关内容。那么小编同时在网摘上汇集了一些对于“centos监控io””的相关文章,希望大家能喜欢,我们快快来学习一下吧!

概述

今天主要分享一款开源的mysql工具--myawr。myawr以mysql instance 为单位,每隔一段时间进行采样,然后把数据保存到数据库,以便分析。目前myawr脚本收集的信息包括5个部分:

1)系统方面的:负载、cpu、io、网络、swap、磁盘空间

2)Mysql状态方面的:

具体到一些QPS、TPS、key Buffer 命中率、InnoDB Buffer命中率、Query Cache命中率、Table Cache状态量、Tmp Table状况、innodb status、Threads_connected、Opened_tables、Select_full_join、Innodb_log_waits量等等。

3)Mysql slow query方面的信息,可通过mysql instance id进行关联:

4)如果Mysql开启了performance schema:

收集events_waits_summary_global_by_event_name、file_summary_by_event_name等

5)Mysql peak 信息的收集,包括active session 信息,包括sql,当时的lock信息,当时的innodb status。

因为网上的都写的很简单,很多细节都没写到,所以整理了一下怎么去搭建,大概分成两部分。

一、部署前准备

1、开源地址

见:

myawr is a tool for collecting and analyzing performance data for MySQL database (including os info ,mysql status info and Slow Query Log all of details). The idea comes from Oracle awr. Myawr periodic collect data and save to the database as snapshots.Myawr was designed as CS architecture.Myawr depends on (but not necessary) performance schema of MySQL database.Myawr consists of three parts:myawr.pl--------a perl script for collecting mysql performance datamyawrrpt.pl-----a perl script for analyzing mysql performance datamyawrsrpt.pl-----a perl script for analyzing mysql peak time data

2、环境规划

3、安装包准备

这里主要准备myawr的相关脚本、percona-toolkit还有perl-DBD-mysql安装包。

也可以私信我关键字:myawr,我这边再发给你。

二、监控端部署

1、安装mysql数据库

1.1、创建基础目录并修改文件夹的属组

mkdir -p /data/datafilemkdir –p /data/logchown -R mysql:mysql /data

1.2、卸载自带包

sudo yum remove -y mariadb*

1.3、安装rpm

rpm -ivh mysql-community-common-5.7.24-1.el7.x86_64.rpmrpm -ivh mysql-community-libs-5.7.24-1.el7.x86_64.rpmrpm -ivh mysql-community-client-5.7.24-1.el7.x86_64.rpmrpm -ivh mysql-community-server-5.7.24-1.el7.x86_64.rpm

1.4、修改数据库my.cnf参数

# vi /etc/my.cnf

[mysqld]datadir=/data/datafilesocket=/var/lib/mysql/mysql.socksymbolic-links=0log-error=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pidlower_case_table_names=1character_set_server=utf8max_connections=2000log-bin = /data/log/mysql-bin.logserver-id = 1log-bin-index =/data/log/binlog.indexlog_bin_trust_function_creators=1sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO

1.5、启动服务

service mysqld restart

1.6、修改数据库密码

--查看数据库默认密码# cat /var/log/mysqld.log|grep password--更改密码# mysql -u root -pmysql> set global validate_password_policy=0;mysql> SET PASSWORD = PASSWORD('fswl@1234');

2、初始化数据

执行修改后的数据初始化脚本:myawr.sql

3、安装perl

# rpm -qa |grep perl-DBD*--如果没安装# rpm -ivh mysql-community-libs-compat-5.7.26-1.el7.x86_64.rpm # rpm -ivh perl-DBD-MySQL-4.023-5.el7.x86_64.rpm --或者yum install -y perl-DBD-MySQL.x86_64

4、添加被监控主机

INSERT INTO `myawr_host` ( id, host_name, ip_addr, PORT, db_role, version, uptime, running_thread_threshold, times_per_hour )VALUES ( 11, 'ZL-FSL-PAS-TEST-DB', '172.26.151.70', 3306, 'master', '5.7', 1, 10000, 0 );

5、授权

grant all on myawr.* to 'myawr'@'localhost' identified by "xx";grant all on myawr.* to 'myawr'@'%' identified by "xx";

到这里监控端的部分就配置好了,后面介绍一下被监控端的配置和测试脚本,感兴趣的朋友可以关注下~

标签: #centos监控io #idea导入oracle驱动