媲美oracle awr/statspack的mysql awr第一版发布
现发布alpha版mysql awr,其提供的特性类似于oracle awr或statspack+集中式监控。对于原来从事oracle dba或者相关运维的人原来说,这会是个不错的选择。
至于我为什么不选择用zabbix,monyog,nagios等等监控工具,相信各数据库专家们懂的。
系统逻辑结构
支持配置监控多个mysql实例。
关键监控内容
一、源系统配置
建议percona server 5.6/mariadb+,支持mysql,percona,mariadb 5.6,5.7。
启用performance_schema,userstat参数
创建perf_stat用户,授予select information_schema,performance_schema select/truncate权限;
- 确保安装了lsof,或yum install lsof进行安装。
CREATE USER perf_stat@'%' IDENTIFIED BY 'hundsun';
GRANT ALL ON information_schema.* TO perf_stat@'%' ;
GRANT ALL ON performance_schema.* TO perf_stat@'%' ;
二、perfstat配置
1、创建存储表结构
create database perf_stat;
use perf_stat;
Create table apps (hostname varchar(64),port int,appname varchar(64) primary key,ver varchar(64));
Create table app_snaps (hostname varchar(64),appname varchar(64),snap_id int,log_time datetime); 保留7天自动删除
Create index idx_app_snaps_appname on app_snaps(appname);
create table IS_GLOBAL_STATUS(hostname varchar(64),appname varchar(64),log_time datetime,snap_id int,variable_name varchar(64),variable_value varchar(64)); 启动以来全量
Create index idx_global_status_app_snap on IS_GLOBAL_STATUS(appname,snap_id);
create table IS_GLOBAL_VARIABLES(hostname varchar(64),appname varchar(64),log_time datetime,snap_id int,variable_name varchar(64),variable_value varchar(64)); 启动以来全量
Create index idx_global_VARIABLES_app_snap on IS_GLOBAL_VARIABLES(appname,snap_id);
create table ps_events_waits_summary_global_by_event_name
(
hostname varchar(64),appname varchar(64),log_time datetime,snap_id int,
`EVENT_NAME` varchar(128) NOT NULL,
`COUNT_STAR` bigint(20) unsigned NOT NULL,
`SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL,
`MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL,
`AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL,
`MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL
);
Create index idx_ewsgben_app_snap on ps_events_waits_summary_global_by_event_name(appname,snap_id);
本间隔前n分钟增量
create table ps_table_io_waits_summary_by_table
(
hostname varchar(64),appname varchar(64),log_time datetime,snap_id int,
`OBJECT_TYPE` varchar(64) DEFAULT NULL,
`OBJECT_SCHEMA` varchar(64) DEFAULT NULL,
`OBJECT_NAME` varchar(64) DEFAULT NULL,
`COUNT_STAR` bigint(20) unsigned NOT NULL,
`SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL,
`MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL,
`AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL,
`MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL,
`COUNT_READ` bigint(20) unsigned NOT NULL,
`SUM_TIMER_READ` bigint(20) unsigned NOT NULL,
`MIN_TIMER_READ` bigint(20) unsigned NOT NULL,
`AVG_TIMER_READ` bigint(20) unsigned NOT NULL,
`MAX_TIMER_READ` bigint(20) unsigned NOT NULL,
`COUNT_WRITE` bigint(20) unsigned NOT NULL,
`SUM_TIMER_WRITE` bigint(20) unsigned NOT NULL,
`MIN_TIMER_WRITE` bigint(20) unsigned NOT NULL,
`AVG_TIMER_WRITE` bigint(20) unsigned NOT NULL,
`MAX_TIMER_WRITE` bigint(20) unsigned NOT NULL,
`COUNT_FETCH` bigint(20) unsigned NOT NULL DEFAULT '0',
`SUM_TIMER_FETCH` bigint(20) unsigned NOT NULL DEFAULT '0',
`MIN_TIMER_FETCH` bigint(20) unsigned NOT NULL DEFAULT '0',
`AVG_TIMER_FETCH` bigint(20) unsigned NOT NULL DEFAULT '0',
`MAX_TIMER_FETCH` bigint(20) unsigned NOT NULL DEFAULT '0',
`COUNT_INSERT` bigint(20) unsigned NOT NULL DEFAULT '0',
`SUM_TIMER_INSERT` bigint(20) unsigned NOT NULL DEFAULT '0',
`MIN_TIMER_INSERT` bigint(20) unsigned NOT NULL DEFAULT '0',
`AVG_TIMER_INSERT` bigint(20) unsigned NOT NULL DEFAULT '0',
`MAX_TIMER_INSERT` bigint(20) unsigned NOT NULL DEFAULT '0',
`COUNT_UPDATE` bigint(20) unsigned NOT NULL DEFAULT '0',
`SUM_TIMER_UPDATE` bigint(20) unsigned NOT NULL DEFAULT '0',
`MIN_TIMER_UPDATE` bigint(20) unsigned NOT NULL DEFAULT '0',
`AVG_TIMER_UPDATE` bigint(20) unsigned NOT NULL DEFAULT '0',
`MAX_TIMER_UPDATE` bigint(20) unsigned NOT NULL DEFAULT '0',
`COUNT_DELETE` bigint(20) unsigned NOT NULL DEFAULT '0',
`SUM_TIMER_DELETE` bigint(20) unsigned NOT NULL DEFAULT '0',
`MIN_TIMER_DELETE` bigint(20) unsigned NOT NULL DEFAULT '0',
`AVG_TIMER_DELETE` bigint(20) unsigned NOT NULL DEFAULT '0',
`MAX_TIMER_DELETE` bigint(20) unsigned NOT NULL DEFAULT '0'
);
Create index idx_tiwsbt_app_snap on ps_table_io_waits_summary_by_table(appname,snap_id);
本间隔前n分钟增量
create table ps_table_lock_waits_summary_by_table
(
hostname varchar(64),appname varchar(64),log_time datetime,snap_id int,
`OBJECT_TYPE` varchar(64) DEFAULT NULL,
`OBJECT_SCHEMA` varchar(64) DEFAULT NULL,
`OBJECT_NAME` varchar(64) DEFAULT NULL,
`COUNT_STAR` bigint(20) unsigned NOT NULL,
`SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL,
`MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL,
`AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL,
`MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL,
`COUNT_READ` bigint(20) unsigned NOT NULL,
`SUM_TIMER_READ` bigint(20) unsigned NOT NULL,
`MIN_TIMER_READ` bigint(20) unsigned NOT NULL,
`AVG_TIMER_READ` bigint(20) unsigned NOT NULL,
`MAX_TIMER_READ` bigint(20) unsigned NOT NULL,
`COUNT_WRITE` bigint(20) unsigned NOT NULL,
`SUM_TIMER_WRITE` bigint(20) unsigned NOT NULL,
`MIN_TIMER_WRITE` bigint(20) unsigned NOT NULL,
`AVG_TIMER_WRITE` bigint(20) unsigned NOT NULL,
`MAX_TIMER_WRITE` bigint(20) unsigned NOT NULL,
`COUNT_READ_NORMAL` bigint(20) unsigned NOT NULL DEFAULT '0',
`SUM_TIMER_READ_NORMAL` bigint(20) unsigned NOT NULL DEFAULT '0',
`MIN_TIMER_READ_NORMAL` bigint(20) unsigned NOT NULL DEFAULT '0',
`AVG_TIMER_READ_NORMAL` bigint(20) unsigned NOT NULL DEFAULT '0',
`MAX_TIMER_READ_NORMAL` bigint(20) unsigned NOT NULL DEFAULT '0',
`COUNT_READ_WITH_SHARED_LOCKS` bigint(20) unsigned NOT NULL DEFAULT '0',
`SUM_TIMER_READ_WITH_SHARED_LOCKS` bigint(20) unsigned NOT NULL DEFAULT '0',
`MIN_TIMER_READ_WITH_SHARED_LOCKS` bigint(20) unsigned NOT NULL DEFAULT '0',
`AVG_TIMER_READ_WITH_SHARED_LOCKS` bigint(20) unsigned NOT NULL DEFAULT '0',
`MAX_TIMER_READ_WITH_SHARED_LOCKS` bigint(20) unsigned NOT NULL DEFAULT '0',
`COUNT_READ_HIGH_PRIORITY` bigint(20) unsigned NOT NULL DEFAULT '0',
`SUM_TIMER_READ_HIGH_PRIORITY` bigint(20) unsigned NOT NULL DEFAULT '0',
`MIN_TIMER_READ_HIGH_PRIORITY` bigint(20) unsigned NOT NULL DEFAULT '0',
`AVG_TIMER_READ_HIGH_PRIORITY` bigint(20) unsigned NOT NULL DEFAULT '0',
`MAX_TIMER_READ_HIGH_PRIORITY` bigint(20) unsigned NOT NULL DEFAULT '0',
`COUNT_READ_NO_INSERT` bigint(20) unsigned NOT NULL DEFAULT '0',
`SUM_TIMER_READ_NO_INSERT` bigint(20) unsigned NOT NULL DEFAULT '0',
`MIN_TIMER_READ_NO_INSERT` bigint(20) unsigned NOT NULL DEFAULT '0',
`AVG_TIMER_READ_NO_INSERT` bigint(20) unsigned NOT NULL DEFAULT '0',
`MAX_TIMER_READ_NO_INSERT` bigint(20) unsigned NOT NULL DEFAULT '0',
`COUNT_READ_EXTERNAL` bigint(20) unsigned NOT NULL DEFAULT '0',
`SUM_TIMER_READ_EXTERNAL` bigint(20) unsigned NOT NULL DEFAULT '0',
`MIN_TIMER_READ_EXTERNAL` bigint(20) unsigned NOT NULL DEFAULT '0',
`AVG_TIMER_READ_EXTERNAL` bigint(20) unsigned NOT NULL DEFAULT '0',
`MAX_TIMER_READ_EXTERNAL` bigint(20) unsigned NOT NULL DEFAULT '0',
`COUNT_WRITE_ALLOW_WRITE` bigint(20) unsigned NOT NULL DEFAULT '0',
`SUM_TIMER_WRITE_ALLOW_WRITE` bigint(20) unsigned NOT NULL DEFAULT '0',
`MIN_TIMER_WRITE_ALLOW_WRITE` bigint(20) unsigned NOT NULL DEFAULT '0',
`AVG_TIMER_WRITE_ALLOW_WRITE` bigint(20) unsigned NOT NULL DEFAULT '0',
`MAX_TIMER_WRITE_ALLOW_WRITE` bigint(20) unsigned NOT NULL DEFAULT '0',
`COUNT_WRITE_CONCURRENT_INSERT` bigint(20) unsigned NOT NULL DEFAULT '0',
`SUM_TIMER_WRITE_CONCURRENT_INSERT` bigint(20) unsigned NOT NULL DEFAULT '0',
`MIN_TIMER_WRITE_CONCURRENT_INSERT` bigint(20) unsigned NOT NULL DEFAULT '0',
`AVG_TIMER_WRITE_CONCURRENT_INSERT` bigint(20) unsigned NOT NULL DEFAULT '0',
`MAX_TIMER_WRITE_CONCURRENT_INSERT` bigint(20) unsigned NOT NULL DEFAULT '0',
`COUNT_WRITE_DELAYED` bigint(20) unsigned NOT NULL DEFAULT '0',
`SUM_TIMER_WRITE_DELAYED` bigint(20) unsigned NOT NULL DEFAULT '0',
`MIN_TIMER_WRITE_DELAYED` bigint(20) unsigned NOT NULL DEFAULT '0',
`AVG_TIMER_WRITE_DELAYED` bigint(20) unsigned NOT NULL DEFAULT '0',
`MAX_TIMER_WRITE_DELAYED` bigint(20) unsigned NOT NULL DEFAULT '0',
`COUNT_WRITE_LOW_PRIORITY` bigint(20) unsigned NOT NULL DEFAULT '0',
`SUM_TIMER_WRITE_LOW_PRIORITY` bigint(20) unsigned NOT NULL DEFAULT '0',
`MIN_TIMER_WRITE_LOW_PRIORITY` bigint(20) unsigned NOT NULL DEFAULT '0',
`AVG_TIMER_WRITE_LOW_PRIORITY` bigint(20) unsigned NOT NULL DEFAULT '0',
`MAX_TIMER_WRITE_LOW_PRIORITY` bigint(20) unsigned NOT NULL DEFAULT '0',
`COUNT_WRITE_NORMAL` bigint(20) unsigned NOT NULL DEFAULT '0',
`SUM_TIMER_WRITE_NORMAL` bigint(20) unsigned NOT NULL DEFAULT '0',
`MIN_TIMER_WRITE_NORMAL` bigint(20) unsigned NOT NULL DEFAULT '0',
`AVG_TIMER_WRITE_NORMAL` bigint(20) unsigned NOT NULL DEFAULT '0',
`MAX_TIMER_WRITE_NORMAL` bigint(20) unsigned NOT NULL DEFAULT '0',
`COUNT_WRITE_EXTERNAL` bigint(20) unsigned NOT NULL DEFAULT '0',
`SUM_TIMER_WRITE_EXTERNAL` bigint(20) unsigned NOT NULL DEFAULT '0',
`MIN_TIMER_WRITE_EXTERNAL` bigint(20) unsigned NOT NULL DEFAULT '0',
`AVG_TIMER_WRITE_EXTERNAL` bigint(20) unsigned NOT NULL DEFAULT '0',
`MAX_TIMER_WRITE_EXTERNAL` bigint(20) unsigned NOT NULL DEFAULT '0'
);
Create index idx_tlwsbt_app_snap on ps_table_lock_waits_summary_by_table(appname,snap_id);
本间隔前n分钟增量
create table ps_table_io_waits_summary_by_index_usage
(
hostname varchar(64),appname varchar(64),log_time datetime,snap_id int,
`OBJECT_TYPE` varchar(64) DEFAULT NULL,
`OBJECT_SCHEMA` varchar(64) DEFAULT NULL,
`OBJECT_NAME` varchar(64) DEFAULT NULL,
`INDEX_NAME` varchar(64) DEFAULT NULL,
`COUNT_STAR` bigint(20) unsigned NOT NULL,
`SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL,
`MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL,
`AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL,
`MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL,
`COUNT_READ` bigint(20) unsigned NOT NULL,
`SUM_TIMER_READ` bigint(20) unsigned NOT NULL,
`MIN_TIMER_READ` bigint(20) unsigned NOT NULL,
`AVG_TIMER_READ` bigint(20) unsigned NOT NULL,
`MAX_TIMER_READ` bigint(20) unsigned NOT NULL,
`COUNT_WRITE` bigint(20) unsigned NOT NULL,
`SUM_TIMER_WRITE` bigint(20) unsigned NOT NULL,
`MIN_TIMER_WRITE` bigint(20) unsigned NOT NULL,
`AVG_TIMER_WRITE` bigint(20) unsigned NOT NULL,
`MAX_TIMER_WRITE` bigint(20) unsigned NOT NULL,
`COUNT_FETCH` bigint(20) unsigned NOT NULL DEFAULT '0',
`SUM_TIMER_FETCH` bigint(20) unsigned NOT NULL DEFAULT '0',
`MIN_TIMER_FETCH` bigint(20) unsigned NOT NULL DEFAULT '0',
`AVG_TIMER_FETCH` bigint(20) unsigned NOT NULL DEFAULT '0',
`MAX_TIMER_FETCH` bigint(20) unsigned NOT NULL DEFAULT '0',
`COUNT_INSERT` bigint(20) unsigned NOT NULL DEFAULT '0',
`SUM_TIMER_INSERT` bigint(20) unsigned NOT NULL DEFAULT '0',
`MIN_TIMER_INSERT` bigint(20) unsigned NOT NULL DEFAULT '0',
`AVG_TIMER_INSERT` bigint(20) unsigned NOT NULL DEFAULT '0',
`MAX_TIMER_INSERT` bigint(20) unsigned NOT NULL DEFAULT '0',
`COUNT_UPDATE` bigint(20) unsigned NOT NULL DEFAULT '0',
`SUM_TIMER_UPDATE` bigint(20) unsigned NOT NULL DEFAULT '0',
`MIN_TIMER_UPDATE` bigint(20) unsigned NOT NULL DEFAULT '0',
`AVG_TIMER_UPDATE` bigint(20) unsigned NOT NULL DEFAULT '0',
`MAX_TIMER_UPDATE` bigint(20) unsigned NOT NULL DEFAULT '0',
`COUNT_DELETE` bigint(20) unsigned NOT NULL DEFAULT '0',
`SUM_TIMER_DELETE` bigint(20) unsigned NOT NULL DEFAULT '0',
`MIN_TIMER_DELETE` bigint(20) unsigned NOT NULL DEFAULT '0',
`AVG_TIMER_DELETE` bigint(20) unsigned NOT NULL DEFAULT '0',
`MAX_TIMER_DELETE` bigint(20) unsigned NOT NULL DEFAULT '0'
);
Create index idx_tiwsbiu_app_snap on ps_table_io_waits_summary_by_index_usage(appname,snap_id);
本间隔前n分钟增量
create table ps_events_statements_summary_by_digest
(
hostname varchar(64),appname varchar(64),log_time datetime,snap_id int,
`SCHEMA_NAME` varchar(64) DEFAULT NULL,
`DIGEST` varchar(32) DEFAULT NULL,
`DIGEST_TEXT` longtext,
`COUNT_STAR` bigint(20) unsigned NOT NULL,
`SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL,
`MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL,
`AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL,
`MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL,
`SUM_LOCK_TIME` bigint(20) unsigned NOT NULL,
`SUM_ERRORS` bigint(20) unsigned NOT NULL,
`SUM_WARNINGS` bigint(20) unsigned NOT NULL,
`SUM_ROWS_AFFECTED` bigint(20) unsigned NOT NULL,
`SUM_ROWS_SENT` bigint(20) unsigned NOT NULL,
`SUM_ROWS_EXAMINED` bigint(20) unsigned NOT NULL,
`SUM_CREATED_TMP_DISK_TABLES` bigint(20) unsigned NOT NULL,
`SUM_CREATED_TMP_TABLES` bigint(20) unsigned NOT NULL,
`SUM_SELECT_FULL_JOIN` bigint(20) unsigned NOT NULL,
`SUM_SELECT_FULL_RANGE_JOIN` bigint(20) unsigned NOT NULL,
`SUM_SELECT_RANGE` bigint(20) unsigned NOT NULL,
`SUM_SELECT_RANGE_CHECK` bigint(20) unsigned NOT NULL,
`SUM_SELECT_SCAN` bigint(20) unsigned NOT NULL,
`SUM_SORT_MERGE_PASSES` bigint(20) unsigned NOT NULL,
`SUM_SORT_RANGE` bigint(20) unsigned NOT NULL,
`SUM_SORT_ROWS` bigint(20) unsigned NOT NULL,
`SUM_SORT_SCAN` bigint(20) unsigned NOT NULL,
`SUM_NO_INDEX_USED` bigint(20) unsigned NOT NULL,
`SUM_NO_GOOD_INDEX_USED` bigint(20) unsigned NOT NULL,
`FIRST_SEEN` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`LAST_SEEN` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
);
Create index idx_digest_app_snap on ps_events_statements_summary_by_digest(appname,snap_id);
本间隔前n分钟增量
FLUSH INDEX_STATISTICS
create table IS_INDEX_STATISTICS
(
hostname varchar(64),appname varchar(64),log_time datetime,snap_id int,
`TABLE_SCHEMA` varchar(192) NOT NULL DEFAULT '',
`TABLE_NAME` varchar(192) NOT NULL DEFAULT '',
`INDEX_NAME` varchar(192) NOT NULL DEFAULT '',
`ROWS_READ` bigint(21) unsigned NOT NULL DEFAULT '0'
);
Create index idx_index_statistics_app_snap on IS_INDEX_STATISTICS(appname,snap_id);
本间隔前n分钟增量
FLUSH TABLE_STATISTICS
create table IS_TABLE_STATISTICS
(
hostname varchar(64),appname varchar(64),log_time datetime,snap_id int,
`TABLE_SCHEMA` varchar(192) NOT NULL DEFAULT '',
`TABLE_NAME` varchar(192) NOT NULL DEFAULT '',
`ROWS_READ` bigint(21) unsigned NOT NULL DEFAULT '0',
`ROWS_CHANGED` bigint(21) unsigned NOT NULL DEFAULT '0',
`ROWS_CHANGED_X_INDEXES` bigint(21) unsigned NOT NULL DEFAULT '0'
);
Create index idx_table_statistics_app_snap on IS_TABLE_STATISTICS(appname,snap_id);
本间隔前n分钟增量
2、配置监控的数据源
在当前版本的mysql awr实现中,暂不支持通过web控制台方式增加监控节点(下一个版本会支持)。
要增加监控的节点,需要在三个地方进行改动,如下所示:
(1)、在WEB-INF/conf/spring-servlet.xml中增加一个类似如下的数据源:
<bean id="hitop_pxc_db1_ds" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="url" value="${hitop_pxc_db1_ds.jdbc.url}" />
<property name="driverClassName" value="${hitop_pxc_db1_ds.jdbc.driverClassName}" />
<property name="username" value="${hitop_pxc_db1_ds.jdbc.username}" />
<property name="password" value="${hitop_pxc_db1_ds.jdbc.password}" />
<property name="maxActive" value="${hitop_pxc_db1_ds.jdbc.maxActive}" />
<property name="maxIdle" value="${hitop_pxc_db1_ds.jdbc.maxIdle}" />
<property name="maxWait" value="${hitop_pxc_db1_ds.jdbc.maxWait}" />
<property name="validationQuery" value="select 1" />
<property name="defaultAutoCommit" value="true" />
</bean>
同时在dataSource中增加对应的条目,如下所示:
<bean id="dataSource" class="com.cyl.kernel.DynamicDataSource">
<property name="targetDataSources">
<map key-type="java.lang.String">
<entry key="localSrc_ds" value-ref="localSrc_ds" />
<entry key="hitop_pxc_db1_ds" value-ref="hitop_pxc_db1_ds" />
<entry key="perfstat_ds" value-ref="perfstat_ds" />
</map>
</property>
<property name="defaultTargetDataSource" ref="perfstat_ds" />
</bean>
(2)、在WEB-INF/conf/jdbc-mysql.properties中增加对应的系统配置,如下所示:
hitop_pxc_db1_ds.jdbc.driverClassName=com.mysql.jdbc.Driver
hitop_pxc_db1_ds.jdbc.url=jdbc:mysql://172.28.1.102:3306/performance_schema?useUnicode=true&characterEncoding=gbk&autoReconnect=true&failOverReadOnly=false
hitop_pxc_db1_ds.jdbc.username=root
hitop_pxc_db1_ds.jdbc.password=hundsun
hitop_pxc_db1_ds.jdbc.maxActive=5
hitop_pxc_db1_ds.jdbc.maxIdle=2
hitop_pxc_db1_ds.jdbc.maxWait=10000
(3)登录使用perf_stat用户登录监控服务器mysql,执行如下insert语句:
USE perf_stat;
INSERT INTO apps(hostname,PORT,appname,ver) VALUES('mysql服务器地址',端口,'唯一标识该mysql实例的id,不得重复','mysql大版本');
如:
INSERT INTO apps(hostname,PORT,appname,ver) VALUES('localhost',3306,'localSrc','5.6');
INSERT INTO apps(hostname,PORT,appname,ver) VALUES('localhost',3306,'localSrc','5.7'); 5.6、5.7经过测试,5.5不确定
三、perfstat后台服务
1、每隔15/20分钟采集一次;采集时会自动过滤mysql、performance_schema、information_schema三个对象中的CRUD以及各种操作
采集时对于PS中表的操作,会设置SET sql_log_bin = off;以避免truncate PS相关表时传播到其他节点(如果主从或者galera cluster的话)
2、自动清除7天前的日志
四、访问
war包下载地址,baidu pan http://pan.baidu.com/s/1slf8h5b。
下一版本计划更新内容:
1、支持界面增加被监控实例,简化配置;
2、支持监控暂停与恢复;
3、支持不同实例不同调度策略;
4、增加slave监控;
媲美oracle awr/statspack的mysql awr第一版发布的更多相关文章
- mysql awr 1.0.5 GA正式版发布
1.0.5变更内容 1.修复centos 7下swap值不正确:2.中文乱码:3.begin/end snap下拉显示Mysql启动时间:4.两次快照间不能重启过:5.新增tab页面查看mysql存储 ...
- mysql awr v1.0.1发布
现发布mysql awr v1.0.1 修复问题: 1.galera cluster下flush table/index_statistcs时如果系统中业务ddl频繁可能会导致很多进程处于prepar ...
- ORACLE AWR概述及生成AWR报告
1.Overview of the Automatic Workload Repository The Automatic Workload Repository (AWR) collects, pr ...
- 你搞懂 ORACLE、 SQLSERVER、MYSQL与DB2的区别了吗
ORACLE. SQLSERVER.MYSQL与DB2的区别--平台性: Oracle.MYSQL与DB2可在所有主流平台上运行: SQL Server只能在Windows下运行: --安 ...
- Oracle中如何实现Mysql的两表关联update操作
在看<MySQL 5.1参考手册>的时候,发现MySQL提供了一种两表关联update操作.原文如下: UPDATE items,month SET items.price=month.p ...
- oracle数据库不支持mysql中limit功能
oracle数据库不支持mysql中limit功能,但可以通过rownum来限制返回的结果集的行数,rownum并不是用户添加的字段,而是oracle系统自动添加的. (1)使查询结果最多返回前10行 ...
- Oracle、DB2、MySql、SQLServer JDBC驱动
四种数据库JDBC驱动,还列出了连接的Class驱动名和Url Pattern,DB2包括Type 2.Type 3和Type 4三种模式.注意驱动包名称的大小写. Oralce连接驱动包名和URL ...
- 蓝色的成长记录——追逐DBA(8):为了夺回SP报告,回顾oracle的STATSPACK实验
***********************************************声明*************************************************** ...
- Oracle SQL developer 连接 MySQL 数据库安装配置
1. 下载 JDBC driver for MySQL 下载链接: https://dev.mysql.com/downloads/connector/j/ 下载成功后,解压缩,得到 mysql jd ...
随机推荐
- 数据仓库与ODS的区别
我在公司的数据部门工作,每天的订单类数据处理流程大致如下: 删除分析数据库的历史订单数据 全量更新订单数据到分析数据库.(由于订单核心数据不大,所以经受得起这么折腾) 将数据简单清洗,并生成数据集市层 ...
- ubuntu系统从中文环境改成英文环境
我们在 安装ubuntu server版的时候,有人可能选择了中文环境安装,因为那样好设置时区等参数,可是安装好了后,运行某些命令的时候会有中文乱码提示,看起很是头蛋疼, 我们就需要将其改成英文环 ...
- Unix sed实用教程系列目录[已完成]
本系列文章已经译完了,译自awk-sed@theunixschool,收获颇丰,作者没有讲明白的我做了补充,并且尝试讲的更清楚,整理成系列索引,方便学习,开篇非译文,是我为了方便后面的理解写的一篇,感 ...
- .woff HTTP GET 404 (Not Found)
原因:IIS没有添加woff字体的MIME类型,导致HTTP请求404 Not Found错误 解决办法: 1.在web.config中配置 <system.webServer> < ...
- CLR via C#深解笔记七 - 自动内存管理(垃圾回收)
每个应用程序都要使用这样或者那样的资源,比如文件.内存缓冲区.屏幕空间.网络连接.数据库资源等.事实上,在面向对象的环境中,每个类型都代表可供程序使用的一种资源. 要使用这些资源,必须为代表资源的类型 ...
- 浅析MongoDB数据库的海量数据存储应用
[摘要]当今已进入大数据时代,特别是大规模互联网web2.0应用不断发展及云计算所需要的海量存储和海量计算发展,传统的关系型数据库已无法满足这方面的需求.随着NoSQL数据库的不断发展和成熟,可以较好 ...
- Qt Creator 黑色主题配置
可能是一个习惯了吧,我个人比较喜欢在黑色主题的环境下进行编程.黑色主题对眼睛稍微友好一点,看起来也不是那么low.这里给出QtCreator的黑色主题配置方案. 如果是最新的Creator3.3+的版 ...
- imagepng或imagejpeg浏览器无显示问题
可以先参考这篇文章,检查一下php的文件编码是否有bom 然而我并不是这个问题,后来想到或许是输出缓冲中有其它内容, 于是尝试 ob_clean();$imagepng($im);或//imagejp ...
- 快乐的JS正则表达式(开篇)
我不喜欢一开始就去讨论某某有多强大,因为我觉得那样没意思,首先我们的知道它是干什么,对我们有啥用,再去讨论它的强大之处也不迟.那和往常一样我们先来看几个例子. var arr = [1,4,2,5,2 ...
- 【转载】debian上快速搭建ftp
转载自:http://suifengpiaoshi.diandian.com/post/2012-05-05/17955899 搭建ftp 包括搭建ftp服务器和ftp客户端 本文以debian上搭建 ...