1. 如何便捷进行各种运维?
1.1. 功能截图
1.2. 目录结构
confs所有配置文件目录
deploy.sh 部署脚本
operation.sh 运维脚本
logs 执行日志文件夹
package 各组件部署包
shells 所有脚本文件夹
1.2.1. 部署文件
increase :增量更新包文件夹
temp : 部署包临时文件夹
updateSelf :单独更新包文件夹
deploySelf :单独部署包文件夹
update :升级包文件夹
upload :存放代理节点包,jdk和应用探针包
其他均为各组件部署包
除去increase,update和upload外,文件夹会在脚本成功执行完后清空,如遇异常未能正常结束,可以手动清空其中内容,请勿删除文件夹。
1.2.2. 部署文件
deploy_single.conf :单机部署配置文件
deploy_cluster.conf :集群部署配置文件
deploy_dActives.conf :双中心部署配置文件
deploy_more.conf :更多部署配置文件
deploy_xxljob.conf :xxl-job部署配置文件
devOps_default.conf :运维配置文件(暂未启用)
health_default.conf :运维自检配置文件
tools_default.conf :运维小工具配置文件
update_default.conf :一键升级配置文件(暂未启用)
配置关系
个性化配置:confs文件下的配置文件,可以配置具体部署目录,日志目录,数据目录,不同节点部署节点地址等,在没有个性化配置情况下,使用默认公共配置。具体参考备注进行。
公共配置:通过执行deploy.sh脚本录入,决定使用什么方式进行部署,单机,集群和双中心三种方式,以及公共部署目录,公共部署用户。集群/双中心部署时公共部署节点地址等。以上配置在没有个性化配置的情况下会使用,在有个性化配置的情况下会使用个性化配置。
1.3. 功能详述
NTC shell v2.0是针对ntc系统一整套基于shell的运维管理,包含部署,清理,ntc系统各组件健康检测,数据备份,数据异常处理等等常用功能。
1.3.1. 部署
功能位置
cd ntc-版本号
执行sh deploy.sh,进入部署模式选择
- 单机模式选择
输入1,回车。选择单机部署模式
需要对部署用户、部署目录、ip进行确认或修改,确认使用已有的参数配置,输入y,需要自定义则输入n,并根据提示进行输入。注意确保安装路径存在且具有读写权限。
- 集群模式选择
输入 2 回车,选择双活模式进行部署
需要对部署用户、部署目录、集群ip进行确认或修改,确认使用已有的参数配置,输入y,需要自定义则输入,并根据提示进行输入。注意确保安装路径存在且具有读写权限。
- 双中心模式选择
输入 3 回车,选择双活模式进行部署
需要对部署用户、部署目录、第一个中心名称和ip、第二个中心名称和ip进行确认或修改,确认使用已有的参数配置,输入y,需要自定义则输入n,并根据提示进行输入。注意确保安装路径存在且具有读写权限。
功能截图
功能详述
部署NTC各组件以及一些第三方软件。
部署
输入 1 回车,进入部署菜单
选择相应的菜单,ntc shell会自动根据部署配置进行部署,具体操作流程请根据部署过程中提示进行,选择1会自动部署管控台需要的各种软件(mongodb,elasticsearch,gradle,maven)以及部署管控台。更多部署需要完全版部署包,如有需求请联系NTC团队。组合清除需要根据部署模式修改配置文件(请参照配置文件)的pub_env_is_prod参数,false即为可做清理,生产环境请设为true。具体操作流程请根据部署过程中提示进行
注:请根据提示做好每一步提示检查,确认无误输入y继续执行
升级
适用于NTC从低版本到高版本升级时候使用,对admin的jar包,配置文件;mongodb的数据进行升级替换。具体操作流程请根据执行过程中提示进行。
输入2 回车,进入升级菜单
升级前全部备份: 对admin、mongodb数据进行备份。
升级版本: 首先执行备份,获取到可升级的版本,且升级后版本不能小于等于当前部署的版本。
升级失败全部还原: 当升级失败时,可进行还原。
增量更新
针对admin-start包进行升级替换,具体操作流程请根据执行过程中提示进行。
输入3 回车,进入增量更新菜单
备份: 对admin-start包进行备份。
增量更新: 提示升级的包,对admin-start的相应包进行替换
还原:还原备份的admin-start包
单独部署
单独部署适用于在服务器之间scp,ssh等无法使用的情况,比如服务器使用动态密码的场景等。具体操作流程请根据执行过程中提示进行。
输入4 回车,进入单独部署菜单,选择部署的组件,并根据提示进行操作。
本机直接部署,远程服务器会生成一个部署包,需要根据提示手动传输,解压,执行部署脚本。
单独升级
单独升级适用于在服务器之间scp,ssh等无法使用的情况,比如服务器使用动态密码的场景等。具体操作流程请根据执行过程中提示进行。
输入5 回车,进入单独升级菜单
获取到可升级的版本,且升级后版本不能小于等于当前部署的版本,输入升级版本,执行升级脚本。
本机admin自动升级,远程服务器会生成一个升级包,需要根据提示手动传输,解压,执行升级脚本。
1.3.2. 运维
功能位置
cd ntc-版本号
执行sh operate.sh
功能截图
功能详述
自检
输入1 回车,进入自检菜单
自检功能针对部署的各个组件进行健康情况检查,主要检查进程是否存活、日志占用大小、端口是否存在、数据占用大小。
智能诊断所有组件状态:会自动检测已经部署的组件的健康状态。
检查如有异常会进行提示,并且可以选择是否进行异常处理等。
检查阈值配置:
可通过修改confs/health_default.conf,配置各组件日志,数据占用空间大小阈值等,超过设置的阈值会进行警告提示
检查规则
进程检查:检查进程是否存在,不存在则认为是异常的,选择处理的时候会自动调用在组件的启动脚本进行启动。
日志占用大小检查:日志占用空间超过配置的阈值会进行警告,选择的处理的时候,输入保留的日志天数,超过输入的天数则删除处理。
内部端口检查:检查端口是否存在,存在认为是健康的,要是不存在则提示异常。
数据占用大小检查:数据占用空间超过配置的阈值会警告,选择处理的时候,会进行删除。
运维
输入2 回车,进入运维菜单
包含了admin、elasticsearch、mongodb的启动、停止、一键启动所有组件、一键停止所有组件,选择启动功能时,会自动调用该组件的启动脚本;选择停止功能时,会自动调用该组件的停止脚本;选择重启时,会自动调用该组件的重启脚本。
小工具
数据处理
输入1 回车,进入数据处理菜单
admin数据清空: 将删除admin/data下batchImport、docker、code、temp、respository、solr,主要在空间不足时使用。
elasticsearch数据清空: 在输入数据保留天数后,将删除保留天数之前的所有索引数据,主要在空间不足时使用。
mongodb数据目录清空: 删除本地的data目录和删除权限文件配置。一般不使用,在mongodb异常无法恢复使用的清空下可以使用。
mongodb数据删除: 删除NTC库的所有表的数据。
mongodb数据初始化-包含权限文件: mongodb数据重新初始化,用户权限设置,在mongodb权限设置失败时使用。
mongodb数据修复: 该功能会先调用mongodb数据删除-包含文件权限等设置,然后调用mongodb数据初始化,文件权限设置等。一般在mongodb无法使用的情况下使用该功能。
mongodb数据导出: 支持导出NTC库的某张表或备份NTC库,在导出之后可以使用mongodb数据导入功能进行数据恢复。
mongodb数据导入: 一般和mongodb数据导出配合使用,用于数据恢复。
mongodb数据初始化-不包含权限文件: mongodb数据初始化-不包含权限文件设置,执行数据初始化脚本。
mongodb数据修复-修复意外停止导致的无法启动: 当mongodb因意外停止而导致无法启动时,单机-删除mongo.lock,以—repair参数启动;集群-清空故障节点数据并启动。
客户端连接
输入2 回车,进入客户端连接菜单
输入1 回车,进行mongodb客户端连接,一般用于问题排查。
组件基本信息
输入3 回车,查看组件基本信息,展示已经部署组件的安装目录、日志目录、数据目录、日志占用大小、数据占用大小、总占用大小信息。
admin javacore生成
输入4 回车,进入admin javacore菜单
选择要生成admin javacore的节点,有两种生成方式:只生成一次或生成5次,每次间隔5秒。admin javacore生成,一般用于admin问题排查,生成路径可以在confs/tools_default.conf中进行设置。
日志获取
输入5 回车,进入日志获取菜单
选择要获取日志的组件后输入获取的日志天数进行日志获取,一般用于admin问题排查。
用户异常处理
输入6 回车,进入用户异常处理菜单
- 密码重置: 重置csii用户的密码为csii。
- 解锁用户: 将所有锁定用户进行解锁。
- 一键处理: 将所有锁定用户进行解锁并重置csii用户的密码为csii。
错误统计
输入7 回车,进入错误统计菜单
- admin: 统计errorCode次数以及错误日志。
- agent: 统计errorCode次数以及错误日志。
- elasticsearch: 统计DEBUG和ERROR级别的错误日志。
- mongodb: 统计F和E级别的错误日志。
- 所有组件(除agent): 依次对admin、mongodb、elasticsearch进行错误日志统计。
双中心-多中心故障切换
输入4 回车,进入双中心-多中心故障切换菜单
- 切换为本区域MongoDB成立独立集群对外提供服务: 适用于双中心出现故障时,切换为本区域MongoDB集群使用。
- 切换为双区域MongoDB成立完整集群对外提供服务: 适用于双中心故障恢复时,切换为双区域MongoDB集群使用。