软件开发定制Mycat监控工具

🍁 作者:微枫Micromaple

💒 主页:

📌 简介:Java程序员、软件开发定制后端全栈工程师

🔗 点赞👍➕收藏⭐➕留言📝 软件开发定制您的支持就是我前进的动力💪💪💪

大家好,我是微枫Micromaple,软件开发定制本文给大家介绍Mycat软件开发定制的监控工具Mycat-web,软件开发定制希望大家多多支持,感谢~
软件开发定制下面是我的Mycat系列专栏(持续更新ing),软件开发定制有喜欢的小伙伴欢迎订阅学习呀~

🚀 深入学习Mycat

Mycat系列专栏:

🔥 Mycat主从搭建、读写分离:

🔥 Mycat实现分库分表:

🔥 Mycat实现单库水平分表、按月分表:

🔥 Mycat高可用方案-HAProxy+Keepalived:

🔥 Mycat安全设置:

文章目录

一、-web

1.1、简介

Mycat-webMycat 可视化运维的管理和监控平台,弥补了 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
  • 进入ZooKeeperbin命令目录,运行启动命令

    /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 变成了我们刚刚在界面上更改的IPzookeeper 节点的 IP 默认值是localhost

  • Mycat 配置,如下:

    Mycat默认管理端口为:9066

  • 配置好后,可以在Mycat-监控菜单中查看Mycat的各种监控,比如:Mycat性能监控、JVM性能监控、主从同步监控等

  • 可以在 SQL-监控 菜单中查看SQL统计、SQL监控、慢SQL统计等功能

  • 也可以检测一些不符合MycatSQL语法

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,期待你的关注💪💪💪

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发