# A-Ops-Tools **Repository Path**: workadmin/a-ops-tools ## Basic Information - **Project Name**: A-Ops-Tools - **Description**: A-Ops测试部署脚本仓库 - **Primary Language**: Shell - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2023-05-18 - **Last Updated**: 2023-05-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # A-Ops-Tools #### 介绍 A-Ops组件部署工具仓,支持快速部署gala-gopher、gala-ops(gala-spider/gala-inference/gala-anteater)组件、openGauss服务端、kafka/prometheus/arangodb/es/logstash中间件、grafana/前端页面展示相关组件。 #### 软件架构 NA #### 约束限制 1. 本工具运行过程中会从openEuler repo源安装rpm或者从外网下载源码资源,因此内网环境在使用工具前需要提前配置好代理,便于访问外网环境,工具使用结束后建议将代理取消。 2. gala-gopher、gala-ops组件支持rpm包部署以及容器部署两种方式,其中rpm包部署方式目前仅支持openEuler 22.03 LTS/openEuler 22.03 LTS SP1 两个openEuler版本。 #### 安装教程 1. 下载部署工具压缩包:wget https://gitee.com/Vchanger/a-ops-tools/repository/archive/master.zip --no-check-certificate (内网用户需要配置代理) 2. 使用unzip解压压缩包后进入对应目录即可使用 #### 使用说明 ##### 部署gala-gopher 1. 部署命令: sh deploy.sh gopher [-K|--kafka kafka服务器地址] [-p|--pyroscope pyroscope服务器地址] [-U|--update] [--docker] [-t|--tag 容器镜像tag] [--proxy] 2. 选项说明: | 选项 | 参数说明 | 是否必配 | | :-------------: | :----------------------------------------------------------: | :------------------------------: | | -K\|--kafka | 指定gala-gopher上报采集数据的目标kakfa服务器地址,当不配置该选项时,kafka服务器地址使用localhost | 否 | | -p\|--pyroscope | 指定gala-gopher开启火焰图功能后火焰图上传到的pyroscope服务器地址(用于对接前端界面显示),当不配置该选项时,pyroscope服务器地址使用localhost | 否 | | -U\|--update | rpm部署方式下指定升级gala-gopher版本,当不配置该选项时,系统会基于当前已安装的版本进行部署
注:使用--docker选项时本选项无效 | 否 | | --proxy | 针对内网用户:容器方式部署时在docker服务内配置单独的代理,其配置方法有一定的复杂度,因此提供该选项简化用户操作
注:使用该选项前请先手动修改deploy.sh文件开头DOCKER_HTTPS_PROXY变量为具体的代理地址(密码中的特殊字符需要转义) | 当使用--docker选项时内网用户必配 | | --docker | 指定使用容器方式部署gala-gopher,当不配置该选项时,默认采用rpm包部署方式 | 否 | | -t\|--tag | 由于gala-gopher中的ebpf等技术依赖内核,因此针对不同的内核(系统)版本需要使用对应的gala-gopher容器镜像,当前支持的镜像tag列表:euleros-v2r9, 20.03-lts, 20.03-lts-sp1, 22.03-lts, 22.03-lts-sp1 | 当使用--docker选项时为必配 | ##### 部署gala-ops 1. 部署命令:sh deploy.sh ops [-K|--kafka kafka服务器地址] [-P|--prometheus Prometheus服务器地址] [-A|--arangodb arangodb地址] [-U|--update] [--docker] [--proxy] 2. 选项说明: | 选项 | 参数说明 | 是否必配 | | :--------------: | :----------------------------------------------------------: | :------------------------------: | | -K\|--kafka | 指定gala-ops读取消息的kakfa服务器地址,当不配置该选项时,kafka服务器地址使用localhost | 否 | | -P\|--prometheus | 指定gala-ops读取消息的prometheus服务器地址,当不配置该选项时,prometheus服务器地址使用localhost | 否 | | -A\|--arangodb | 指定gala-ops存储关系图数据的的arangodb服务器地址,当不配置该选项时,arangodb服务器地址使用localhost | 否 | | -U\|--update | rpm部署方式下指定升级gala-ops版本,当不配置该选项时,系统会基于当前已安装的版本进行部署 注:使用--docker选项时本选项无效 | 否 | | --proxy | 针对内网用户:容器方式部署时在docker服务内配置单独的代理,其配置方法有一定的复杂度,因此提供该选项简化用户操作
注:使用该选项前请先手动修改deploy.sh文件开头DOCKER_HTTPS_PROXY变量为具体的代理地址(密码中的特殊字符需要转义) | 当使用--docker选项时内网用户必配 | | --docker | 指定使用容器方式部署gala-ops,当不配置该选项时,默认采用rpm包部署方式 | 否 | ##### 部署中间件 当前中间件部署涉及kafka、prometheus、arangodb、elasticsearch以及elasticsearch依赖的logstash共五个组件,其中elasticsearch和logstash会绑定部署。 1. 部署命令:sh deploy.sh middleware [-K|--kafka kafka服务器监听地址>] [-P|--prometheus prometheus抓取地址1[,prometheus抓取地址2,prometheus抓取地址3,...]] [-E|--elastic es服务器地址] [-A|--arangodb] 2. 选项说明 | 选项 | 参数说明 | 是否必配 | | :--------------: | :----------------------------------------------------------: | :------------------------------: | | -K\|--kafka | 使用该选项用于部署kafka服务器,并配置指定的监听IP地址(一般来说是当前节点的管理IP)。当不使用该选项时,不部署kafka服务 | 需要部署kafka服务时为必 | | -P\|--prometheus | 使用该选项用于部署prometheus服务器,并配置指定的抓取消息来源地址列表,每个地址之间用英文逗号分隔,地址后可以跟随“:端口号”来指定抓取端口,当不指定时,使用默认端口8888;地址前可以加上”主机名-“来标识该地址。
例如:-P 192.168.0.1,192.168.0.2:18001,vm01-192.168.0.3:18002。当不使用该选项时,不部署prometheus服务 | 需要部署prometheus服务器时为必配 | | -A\|--arangodb | 使用该选项用于部署arango数据库,arangodb服务器地址默认使用localhost | 需要部署arangodb时为必配 | | -E\|--elastic | 使用该选项用于部署elasticsearch、logstash服务,并指定logstash读取消息的elasticsearch服务器地址(一般来说是当前节点的管理IP)。当不使用该选项时,不部署elaticsearch服务 | 需要部署elasticsearch为必配 | ##### 部署grafana grafana部署时会先部署页面火焰图依赖的pyroscope,然后拉取grafana容器镜像进行部署,部署完成后可以通过浏览器访问 "http://[部署节点IP]:3000" 来登录grafana页面,默认用户名、密码均为admin。 1. 部署命令:sh deploy.sh grafana [-P|--prometheus Prometheus服务器地址] [-p|--pyroscope pyroscope服务器地址] [-E|--elastic es服务器地址] [--proxy] 2. 选项说明: | 选项 | 参数说明 | 是否必配 | | :--------------: | :----------------------------------------------------------: | :----------: | | --proxy | 针对内网用户:grafana当前采用容器方式部署,内网需要在docker服务内配置单独的代理,其配置方法有一定的复杂度,因此提供该选项简化用户操作。
注:使用该选项前请先手动修改deploy.sh文件开头DOCKER_HTTPS_PROXY变量为具体的代理地址(密码中的特殊字符需要转义) | 内网用户必配 | | -P\|--prometheus | 指定grafana中的prometheus数据源地址,当不配置该选项时,prometheus数据源使用localhost | 否 | | -p\|--pyroscope | 指定grafana中读取火焰图的pyroscope数据源地址,当不配置该选项时,pyroscope数据源使用localhost | 否 | | -E\|--elastic | 指定grafana中读取异常检测、拓扑图、根因定位结果的elasticsearch数据源地址。当不使用该选项时,elasticsearch数据源使用localhost | 否 | ##### 部署openGauss服务器 1. 部署命令:sh deploy.sh opengauss [-D|--datadir openGauss数据目录] [--proxy] 2. 选项说明: | 选项 | 参数说明 | 是否必配 | | :-----------: | :----------------------------------------------------------: | :----------: | | --proxy | 针对内网用户:opengauss服务器目前采用容器部署,内网需要在docker服务内配置单独的代理,其配置方法有一定的复杂度,因此提供该选项简化用户操作。
注:使用该选项前请先手动修改deploy.sh文件开头DOCKER_HTTPS_PROXY变量为具体的代理地址(密码中的特殊字符需要转义) | 内网用户必配 | | -D\|--datadir | 指定部署的openGauss服务器数据库存放的目录,不指定时默认使用/目录 | 否 | 注:openGauss服务器仅用于模拟数据库场景对A-Ops进行功能验证,非A-Ops的必要组件