🍁 作者:微枫
Micromaple
💒 主页:
📌 简介:Java程序员、软件开发定制后端全栈工程师
🔗 点赞👍➕收藏⭐➕留言📝 软件开发定制您的支持就是我前进的动力💪💪💪
大家好,我是微枫
Micromaple
,软件开发定制本文给大家介绍Mycat
软件开发定制的监控工具Mycat-web
,软件开发定制希望大家多多支持,感谢~
软件开发定制下面是我的Mycat
系列专栏(持续更新ing),软件开发定制有喜欢的小伙伴欢迎订阅学习呀~🚀 深入学习Mycat
✨ Mycat系列专栏:
🔥 Mycat主从搭建、读写分离:
🔥 Mycat实现分库分表:
🔥 Mycat实现单库水平分表、按月分表:
🔥 Mycat高可用方案-HAProxy+Keepalived:
🔥 Mycat安全设置:
文章目录
一、-web
1.1、简介
Mycat-web
是 Mycat
可视化运维的管理和监控平台,弥补了 Mycat
在监控上的空白。帮 Mycat
分担统计任务和配置管理任务。Mycat-web
引入了 ZooKeeper
作为配置中心,可以管理多个节点。
Mycat-web
主要管理和监控 Mycat
的流量、连接、活动线程和内存等,具备 IP 白名单、邮件告警等模块,还可以统计 SQL
并分析慢 SQL
和高频 SQL
等。为优化 SQL
提供依据。
1.2、Zookeeper 安装
官网:
https://zookeeper.apache.org/
- 1
安装步骤:
-
下载安装包,本文使用
3.4.11
# 将程序放在 /usr/local/apps 下,如果没有则先新建 mkdir /usr/local/apps。(当然也可以放在其他目录下)cd /usr/local/appswget http://archive.apache.org/dist/zookeeper/zookeeper-3.4.11/zookeeper-3.4.11.tar.gz
- 1
- 2
- 3
-
解压
tar -zxvf zookeeper-3.4.11.tar.gz
- 1
-
进入
ZooKeeper
解压后的conf
配置目录,复制配置文件并改名cd /usr/local/apps/zookeeper-3.4.11/confcp zoo_sample.cfg zoo.cfg
- 1
- 2
-
进入
ZooKeeper
的bin
命令目录,运行启动命令/usr/local/apps/zookeeper-3.4.11/bin./zkServer.sh start
- 1
- 2
执行后如下:
root@ubuntu:/usr/local/apps/zookeeper-3.4.11/bin# ./zkServer.sh startZooKeeper JMX enabled by defaultUsing config: /usr/local/apps/zookeeper-3.4.11/bin/../conf/zoo.cfgStarting zookeeper ... STARTED
- 1
- 2
- 3
- 4
-
ZooKeeper
服务默认端口为2181
,查看服务是否已经启动netstat -ant | grep 2181
- 1
root@ubuntu:/usr/local/apps/zookeeper-3.4.11/bin# netstat -ant | grep 2181tcp6 0 0 :::2181 :::* LISTEN
- 1
- 2
1.3、Mycat-web 安装
安装步骤:
-
下载安装包
# 将程序放在 /usr/local/apps 下,如果没有则先新建 mkdir /usr/local/appscd /usr/local/appswget http://dl.mycat.org.cn/mycat-web-1.0/Mycat-web-1.0-SNAPSHOT-20170102153329-linux.tar.gz
- 1
- 2
- 3
-
解压
tar -zxvf Mycat-web-1.0-SNAPSHOT-20170102153329-linux.tar.gz
- 1
-
进入
mycat-web
的目录下运行启动命令cd /usr/local/apps/mycat-web./start.sh &
- 1
- 2
-
Mycat-web
服务默认端口为8082,查看服务已经启动netstat -ant | grep 8082
- 1
-
浏览器访问
Mycat-web
服务http://IP:8082/mycat
- 1
1.4、Mycat-web 配置
配置步骤如下:
-
配置
Zookeeper
注册中心,如下:
点击保存后,程序会自动的去更新mycat.properties
配置文件的zookeeper
配置,文件地址在/usr/local/apps/mycat-web/mycat-web/WEB-INF/classes
# 进入到 mycat-web 的 classes 目录下cd /usr/local/apps/mycat-web/mycat-web/WEB-INF/classesvi mycat.properties
- 1
- 2
- 3
mycat.properties
配置文件内容如下:####ZK CONFIG#Fri Jul 08 20:50:05 CST 2022show.period=3000000sqlonline.passwd=123456zookeeper=192.168.110.145\:2181sqlonline.user=rootsqlonline.server=192.168.80.128mycat_warn_mail=[{"cc"\:"sohudo@mycat.io","index"\:1,"mangerPort"\:"465","smtpHost"\:"smtp.139.com","smtpPassword"\:"123456","smtpProtocol"\:"smtp","smtpUser"\:"agile_louie@139.com","to"\:"9183838@qq.com"}]
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
我们可以看到
zookeeper
节点的IP
变成了我们刚刚在界面上更改的IP
,zookeeper
节点的IP
默认值是localhost
。 -
Mycat
配置,如下:Mycat
默认管理端口为:9066
-
配置好后,可以在
Mycat-监控
菜单中查看Mycat
的各种监控,比如:Mycat
性能监控、JVM
性能监控、主从同步监控等 -
可以在
SQL-监控
菜单中查看SQL
统计、SQL
监控、慢SQL
统计等功能 -
也可以检测一些不符合
Mycat
的SQL
语法
1.5、Mycat-web 数据库配置
1.5.1、Mycat-web 默认数据库
Mycat-web
默认是使用 SQLite
数据库,此数据库在 /usr/local/apps/mycat-web/mycat-web/WEB-INF/db
,名字为 mycat-web.db
。
root@ubuntu:/usr/local/apps/mycat-web/mycat-web/WEB-INF/db# cd /usr/local/apps/mycat-web/mycat-web/WEB-INF/dbroot@ubuntu:/usr/local/apps/mycat-web/mycat-web/WEB-INF/db# lltotal 96drwxr-xr-x 2 root root 4096 Jul 8 21:57 ./drwxr-xr-x 6 root root 4096 Jul 8 20:19 ../-rw-r--r-- 1 root root 86016 Jul 8 21:57 mycat-web.db-rw-r--r-- 1 root root 3889 Apr 25 2016 mycat-web.sqlroot@ubuntu:/usr/local/apps/mycat-web/mycat-web/WEB-INF/db#
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
Mycat-web
的数据库配置文件在 /usr/local/apps/mycat-web/mycat-web/WEB-INF/classes/jdbc.properties
root@ubuntu:/usr/local/apps/mycat-web/mycat-web/WEB-INF/classes# cd /usr/local/apps/mycat-web/mycat-web/WEB-INF/classesroot@ubuntu:/usr/local/apps/mycat-web/mycat-web/WEB-INF/classes# cat jdbc.properties ##Mon Jan 16 15:37:36 CST 2012jdbc.url=jdbc:sqlite:${webapp.root}/WEB-INF/db/mycat-web.dbjdbc.driverClassName=org.sqlite.JDBCjdbc.username=jdbc.password=jdbc.maxActive=50jdbc.initialSize=20jdbc.maxWait=300000jdbc.minIdle=20#jdbc.url=jdbc:mysql://localhost:3306/mycat-web#jdbc.driverClassName=com.mysql.jdbc.Driver#jdbc.username=root#jdbc.password=123456root@ubuntu:/usr/local/apps/mycat-web/mycat-web/WEB-INF/classes#
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
根据配置文件,我们可以将数据库的连接改为 MySQL
的连接方式。它的初始化 SQL
脚本在 /usr/local/apps/mycat-web/mycat-web/WEB-INF/dbmycat-web.sql
由此,我们可以通过这个 SQL
文件初始化数据库,可将 Mycat-web
的数据库配置方式改成 MySQL
,更加的方便我们去控制 Mycat-web
的数据库。
1.5.2、Mycat-web 默认端口
Mycat-web
默认端口为 8082
,在配置文件 /usr/local/apps/mycat-web/etc/jetty.xml
中配置。
我们查看该配置文件可以发现Mycat-web
的默认端口 port
,以及请求地址 contextPath
。
vi /usr/local/apps/mycat-web/etc/jetty.xml
- 1
<?xml version="1.0"?> <!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd"> <Configure id="Server" class="org.mortbay.jetty.Server"> <Set name="ThreadPool"> <New class="org.mortbay.thread.QueuedThreadPool"> <Set name="minThreads">10</Set> <Set name="maxThreads">200</Set> <Set name="lowThreads">20</Set> <Set name="SpawnOrShrinkAt">2</Set> </New> </Set> <Call name="addConnector"> <Arg> <New class="org.mortbay.jetty.nio.SelectChannelConnector"> <Set name="host"><SystemProperty name="jetty.host" default="0.0.0.0"/></Set> <Set name="port"><SystemProperty name="jetty.port" default="8082"/></Set> <Set name="maxIdleTime">30000</Set> <Set name="Acceptors">2</Set> <Set name="statsOn">false</Set> <Set name="confidentialPort">8444</Set> <Set name="lowResourcesConnections">5000</Set> <Set name="lowResourcesMaxIdleTime">5000</Set> </New> </Arg> </Call> <Set name="handler"> <New id="Handlers" class="org.mortbay.jetty.handler.HandlerCollection"> <Set name="handlers"> <Array type="org.mortbay.jetty.Handler"> <Item> <New id="RequestLog" class="org.mortbay.jetty.handler.RequestLogHandler"/> </Item> <Item> <New class="org.mortbay.jetty.webapp.WebAppContext"> <Set name="contextPath">/mycat</Set> <Set name="war">./mycat-web</Set> <!--你的web应用根目录--> </New> </Item> </Array> </Set> </New> </Set> <!-- <Ref id="RequestLog"> <Set name="requestLog"> <New id="RequestLogImpl" class="org.mortbay.jetty.NCSARequestLog"> <Set name="filename"><SystemProperty name="jetty.logs" default="./logs" />/yyyy_mm_dd.log</Set> <Set name="filenameDateFormat">yyyy_MM_dd</Set> <Set name="retainDays">90</Set> <Set name="append">true</Set> <Set name="extended">true</Set> <Set name="logCookies">false</Set> <Set name="LogTimeZone">GMT</Set> </New> </Set> </Ref> --> <Set name="stopAtShutdown">true</Set> <Set name="sendServerVersion">true</Set> <Set name="sendDateHeader">true</Set> <Set name="gracefulShutdown">1000</Set> </Configure>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
我们可以通过修改 port
来更改访问端口。
读到这里,想必你对
Mycat
监控工具Mycat-web
的使用和认识清晰了不少,别忘了三连支持博主呀,我是微枫Micromaple
,期待你的关注💪💪💪