Skip to content

02.zkdoctor快速开始

Elevenlxl edited this page Jun 20, 2018 · 1 revision

一、运行环境以及相关依赖

JDK 1.7+,maven 3.1.0+,Mysql

二、初始化工作

1、JDK 1.7+,maven 3.1.0+

2、数据库初始化

数据库建表的sql:项目script目录下的zkdoctor.sql

三、zkdoctor部署相关

1、tags中默认提供可执行war包,位于deploy目录下。直接运行zkdoctor.war即可

默认mysql数据库名称:zkdoctor端口3306,配置:

连接:jdbc:mysql://localhost:3306/zkdoctor?autoReconnect=true&characterEncoding=UTF-8
用户名:root
密码:为空

windows

1)直接进入到待部署目录(包含 zkdoctor.war),运行java -jar zkdoctor.war(其他参数可自行根据需求调整)

2)运行后可直接访问:http://localhost:8080/zkdoctor/index.html,进行登录

PS:8080端口为项目默认启动端口,可自行根据需求更改resources/application.properties文件中server.port配置

linux

启动和停止脚本:位于script目录下start.shstop.sh,将zkdoctor.war以及启动、停止脚本复制到对应目录(默认:/usr/local/zkdoctor目录)

1)部署目录配置在start.sh里,默认将war包放在/usr/local/zkdoctor目录

2)日志输出目录配置在logback.xml中,默认:/usr/local/zkdoctor/logs/,若该目录不存在,则需要创建该目录

3)运行sh start.sh后,可直接访问:http://ip:8080/zkdoctor/index.html#/#,或者配置域名后访问

PS:若运行脚本报错...syntax error near unexpected token...,可能由于windows下该文件被更改过,可以转化一下再运行,通过执行:dos2unix start.sh完成对应文件格式转化(若未安装dos2unix ,则yum install一下dos2unix即可 )

2、提供两种登录校验模式

1)登录模式配置,项目中需要配置:

1.1)前端路由,文件webapp/src/router.js,具体配置说明如下:

{
    `path: '/#',`
    // PS:如果走内部的LDAP,直接使用Login,否则使用LoginRegister,提供用户注册功能
    component: Login
    // component: LoginRegister
}

1.2)后台校验配置,配置文件zkdoctorConfig.properties,具体配置说明如下:

// 用户登录校验模式,register:注册用户登录,ldap:邮箱校验
loginCheckType=${loginCheckType}

2)登录模式说明

  • Register(默认),实行用户注册登录 未注册用户需要进行注册登录

用户密码采用SHA加密存储

  • LDAP,直接账号密码登录

需自行根据情况对完成com.ucar.zkdoctor.util.tool.LoginUtil类中ldapLogin方法的校验逻辑

3、登录

  • Register模式:可直接使用初始化用户admin进行登录,具体说明在数据库初始化脚本中。登录页面如下:

注册登录页面

如果还不是zkdoctor用户,可以点击【立即注册】,完成用户注册登录,如下:

注册页面

  • LDAP模式:直接使用账号密码进行登录。登录页面如下:

登录页面

四、源码调试以及二次开发

1、环境需求

JDK 1.7+,Mysql 5.6,Maven 3.1.0+,nodejs 8.9.1

2、前端代码

前端项目为React+TypeScript,需安装nodejs。代码位于webapp/src下,进入该目录后,分别执行npm install(如果一次install操作

没能把所有依赖全部下下来,请多执行几次,以防有部分依赖没能正确下载),npm run buildnpm run start,完成前端项目依赖下载、

编译以及启动。可以在webapp/.roadhogrc中配置proxy,完成与后端项目的联调。也可仅运行前端项目:不加以下配置即可,将以前端

mock模拟数据(位于webapp/mock文件夹下)为准。

webapp/.roadhogrc中的proxy配置参考如下:

"proxy": {
     "/zkdoctor": {
           "target": "http://localhost:8080/zkdoctor",
                  "changeOrigin": true,
                  "pathRewrite": { "^/zkdoctor" : "" }
      }
}

3、后台代码

进入到项目代码所在目录后,执行mvn spring-boot:run即可启动spring boot后台项目。Application启动类为:com.ucar.zkdoctor.ZkDoctorMain

4、二次开发

可自行根据需求,在原项目的基础上进行二次开发。完成后可直接运行mvn clean install完成测试环境代码打包

五、配置说明

1、日志配置

日志系统采用logback,配置文件配置了日志的默认级别和日志目录信息,可根据部署情况自行调整

2、系统常规配置

1)application.properties

spring boot项目项目,包含数据源信息、mybatis文件配置、context路径配置、Tomcat配置等。其中数据源信息需更改为Mysql数据库对应的信息

2)zkdoctorConfig.properties

主要配置信息以及说明如下:

#用户登录校验模式,包含ldap以及register模式
loginCheckType=${loginCheckType}

#日志目录以及级别配置
log.dir = ${log.dir}
log.level = ${log.level}

#环境相关配置,区别部署环境信息
envType = ${envType}
envURL = ${envURL}
 
#集群统计数据保存天数配
cluster_state_log_keepdays=${cluster_state_log_keepdays}

#实例统计数据保存天数配置
instance_state_log_keepdays = ${instance_state_log_keepdays}

#机器统计数据保存天数配置
machine_state_log_keepdays = ${machine_state_log_keepdays}

#客户端连接信息统计数据保存天数配置
client_connections_keepdays = ${client_connections_keepdays}`

3、可动态更新的配置

登录系统后,可在【运维管理】→ 【系统配置】中查看所有可以动态更新的配置信息,可以根据自己的情况,对相关数据进行配置。

以下配置实时更改即可生效。具体配置简要说明如下:

配置名称 功能 默认值
uploadFileDir zookeeper升级jar:上传升级jar文件的位置 /usr/local/zkdoctor/
installFileDownloadSite zookeeper安装文件下载链接 http://mirrors.shuosc.org/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz
zkDataDir zookeeper数据配置目录(dataDir) /usr/local/zookeeper/data/
zkInstallDir zookeeper服务安装目录 /usr/local/zookeeper/
iftopCommandDir 采集服务器信息:iftop命令安装目录 /usr/sbin/iftop
sarCommandDir 采集服务器信息:sar命令安装目录 /usr/bin/sar
zkConfDir zookeepr服务配置所在目录 /usr/local/zookeeper/conf
zkServer zookeeper zkServer.sh目录 bin/zkServer.sh
sshPassword ssh密码 zkdoctor
dfCommandDir 采集服务器信息:df命令安装目录 /bin/df
sshPort ssh端口号 22
sshUserName ssh用户名 zkdoctor
uploadFileName zookeeper升级jar:上传升级jar文件名称 zookeeper-3.4.10.jar