超详细的mysqlawr监控系统系统搭建教程第一部分

时间:2022-12-27 13:52:06阅读:787
概述分享一个alpha版mysql awr,其提供的特性类似于oracle awr或statspack 集中式监控。对于原来从事oracle dba或者相关运维的人原来说,这会是个不错的选择。下载地址:https://gitee.com/zhj…

概述

分享一个alpha版mysql awr,其提供的特性类似于oracle awr或statspack 集中式监控。对于原来从事oracle dba或者相关运维的人原来说,这会是个不错的选择。

下载地址:https://gitee.com/zhjh256/mysqlawr/releases

mysql awr提供的监控信息等价于Oracle AWR/Statspack,几乎比现有所有开源、商业mysql监控工具更为实用和强大。

一、部署JDK及tomcat

1、解压jdk

tar zxvf jdk-8u191-linux-x64.tar.gz –C /usr/local/

2、配置环境变量

vi /etc/profile===============================================================================JAVA_HOME=/usr/local/jdkjre_HOME=$JAVA_HOME/jrePATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/binCLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib/dt.jarexport JAVA_HOME JRE_HOME PATH CLASSPATHexport PATH

3、生效环境变量

source /etc/profile

4、检查jdk版本

java –version

5、解压 tomcat

tar -xvf apache-tomcat-8.5.37.tar.gz -C /home/mv /home/apache-tomcat-8.5.37/ /home/tomcat80

6、修改配置文件

vi /home/tomcat80/conf/server.xml

二、安装mysql数据库

应用和数据库部署在同一台服务器

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

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

2、卸载自带包

sudo yum remove -y mariadb*

3、安装rpm

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

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

5、启动服务

service mysqld restart

6、修改数据库密码

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

7、数据库配置

执行war中包含的initsqlperfstat-db-init.sql

CREATE database perf_stat default character set gbk;use perf_stat;CREATE table apps (hostname varchar(64),port int,map_port int,appname varchar(64) primary key,ver varchar(64),mysql_username varchar(32),mysql_password varchar(64),ssh_username varchar(32),ssh_password varchar(64),ssh_port int,snap_interval int);CREATE table app_snaps (hostname varchar(64),appname varchar(64),snap_id int,log_time datetime,exec_result_info varchar(256)); -- ±£´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)); -- Ǵ¶¯Ӕ4ȫ CREATE index idx_global_status_app_snap on is_global_status(appname,snap_id);CREATE index idx_global_status_variable_name on is_global_status(variable_name,appname,snap_id);CREATE index idx_global_status_log_time on is_global_status(log_time);-- mysql½춄cpuʱ¼哔¼°ϯmŚ´浦´¢´洢Ϊ±偿Ļcpu_time, memory_used¡£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)); -- Ǵ¶¯Ӕ4ȫ CREATE index idx_global_VARIABLES_app_snap on is_global_variables(appname,snap_id);CREATE index idx_global_VARIABLES_variable_name on is_global_variables(variable_name,appname,snap_id);CREATE index idx_global_VARIABLES_log_time on is_global_variables(log_time);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);....CREATE table slow_query_log_digest (hostname VARCHAR(64),appname VARCHAR(64),log_time DATETIME,snap_id INT,query_id VARCHAR(32) not null default ' ',total_response_time decimal not null default 0.0,calls bigint not null default 0,abbr_sql VARCHAR(256) not null default ' ',full_sql VARCHAR(1024) not null default ' ',total_rows_examined bigint not null default 0,total_rows_effected bigint not null default 0);CREATE INDEX idx_slow_query_log_digest_app_snap ON slow_query_log_digest(appname,snap_id);CREATE INDEX idx_slow_query_log_digest_log_time ON slow_query_log_digest(log_time);CREATE USER perf_stat@'%' IDENTIFIED BY 'perf_stat123';GRANT ALL ON *.* TO perf_stat@'%' ;grant super on *.* to perf_stat@'%';

到这里监控端的环境基本就配置好了,后面再介绍下怎么部署mysql awr及配置被监控端,感兴趣的朋友可以关注下~

评论

  • 评论加载中...