From 1d1f1e42f8c1754dad95c874c0b5d0a5459e01c2 Mon Sep 17 00:00:00 2001 From: l00845078 Date: Thu, 27 Jul 2023 17:23:14 +0800 Subject: [PATCH 1/3] update doc --- README.md | 89 +++++++++++++++++++++++++++++++------------------------ 1 file changed, 51 insertions(+), 38 deletions(-) diff --git a/README.md b/README.md index 48755f3..9cc88d5 100644 --- a/README.md +++ b/README.md @@ -208,7 +208,8 @@ Gala提供了集成式部署工具[Gala-Deploy-Tools](./deploy)以便用户快 1. 当前本工具仅支持如下OS版本:openEuler 20.03 LTS SP1(x86)、openEuler 22.03 LTS、openEuler 22.03 LTS SP1、Kylin V10(x86) 2. 在线部署模式下,本工具运行过程中会从openEuler repo源安装rpm或者从外网下载源码资源,因此内网环境在使用工具前需要提前配置好代理,便于访问外网环境,工具使用结束后建议将代理取消。 3. 在线部署模式下,gala-gopher、gala-ops组件支持rpm包部署以及容器部署两种方式,其中gala-ops组件的rpm包部署方式仅支持openEuler 22.03 LTS SP1 版本。 -4. 离线部署模式下,gala-gopher会以rpm包的方式安装部署,gala-ops组件会以容器方式安装部署。 +4. 离线部署模式下,离线安装包及其依赖包需要从外网下载,因此内网环境需要提前配置好代理,便于访问外网环境,工具使用结束后建议将代理取消。 +5. 离线部署模式下,gala-gopher组件支持rpm包部署以及容器部署两种方式,gala-ops组件支持容器部署方式。 ### 环境准备说明 @@ -233,7 +234,7 @@ gala组件的运行依赖各个中间件,因此建议按照如下顺序(中 1. 离线安装包下载 -离线部署前,需要在可连接外网的机器上下载6个中间件的安装包。本工具提供了[离线资源下载脚本](./deploy/download_offline_res.sh),[辅助脚本](./deploy/comm.sh)一键全量下载,将该脚本上传到机器上后执行如下命令完成相关离线资源的下载,下载内容会存放在当前目录的子目录gala_deploy_middleware下。 +离线部署前,需要在可连接外网的机器上下载6个中间件的安装包。本工具提供了[离线资源下载脚本](./deploy/download_offline_res.sh)和[辅助脚本](./deploy/comm.sh)一键全量下载,将两个脚本上传到机器上后执行如下命令完成相关离线资源的下载,下载内容会存放在当前目录的子目录gala_deploy_middleware下。 ```xml sh download_offline_res.sh middleware [os_arch] @@ -247,7 +248,7 @@ sh download_offline_res.sh middleware [os_arch] 2. 工具一键部署 -将gala_deploy_middleware下的所有文件和[部署脚本](./deploy/deploy.sh) ,[辅助脚本](./deploy/comm.sh) 上传到目标管理节点机器上,执行如下命令安装、配置、启动kafka/prometheus/elasticsearch/logstash/arangodb/pyroscope服务,**-K/-P/-E/-A/-p选项支持分开使用单独部署对应组件**,-S选项来指定离线安装包所在的目录。 +将gala_deploy_middleware下的所有文件及[部署脚本](./deploy/deploy.sh)和[辅助脚本](./deploy/comm.sh)上传到目标管理节点机器上,执行如下命令安装、配置、启动kafka/prometheus/elasticsearch/logstash/arangodb/pyroscope服务,**-K/-P/-E/-A/-p选项支持分开使用单独部署对应组件**,-S选项来指定离线安装包所在的目录。 ```css sh deploy.sh middleware -K <部署节点管理IP> -P -E <部署节点管理IP> -A -p -S <中间件安装包所在目录> @@ -255,31 +256,38 @@ sh deploy.sh middleware -K <部署节点管理IP> -P 例如:-P 192.168.0.1,192.168.0.2:18001,vm01-192.168.0.3:18002。当不使用该选项时,不部署prometheus服务 | 需要部署prometheus服务器时为必配 | -| -A\|--arangodb | 使用该选项用于部署并启动arangodb数据库服务,该服务默认监听全IP,因此无需指定监听IP。 | 需要部署arangodb时为必配 | -| -p\|--pyroscope | 使用该选项用于部署并启动pyroscope服务,该服务默认监听全IP,因此无需指定监听IP。 | 需要部署pyroscope服务端时必配 | -| -E\|--elastic | 使用该选项用于部署elasticsearch、logstash服务,并指定logstash读取消息的elasticsearch服务器地址(一般来说是当前节点的管理IP)。当不使用该选项时,不部署elaticsearch服务 | 需要部署elasticsearch/logstash为必配 | -| -S\|--srcdir | 离线部署时使用该选项来指定离线安装包所在的目录 | 离线部署时必配 | +| -A\|--arangodb | 使用该选项用于部署并启动arangodb数据库服务,该服务默认监听全IP,因此无需指定监听IP。 | 需要部署arangodb时为必配 | +| -p\|--pyroscope | 使用该选项用于部署并启动pyroscope服务,该服务默认监听全IP,因此无需指定监听IP。 | 需要部署pyroscope服务端时必配 | +| -E\|--elastic | 使用该选项用于部署elasticsearch、logstash服务,并指定logstash读取消息的elasticsearch服务器地址(一般来说是当前管理节点的IP)。当不使用该选项时,不部署elaticsearch服务 | 需要部署elasticsearch/logstash为必配 | +| -S\|--srcdir | 离线部署时使用该选项来指定离线安装包所在的目录 | 离线部署时必配 | #### 生产节点:部署gala-gopher -1. 对应版本gala-gopher及依赖包下载 +本工具提供两种方法下载、安装、部署gala-gopher -离线部署前,需要在可连接外网的机器上下载对应版本的gala-gopher包以及其依赖的rpm包。本工具提供了[离线资源下载脚本](./deploy/download_offline_res.sh),[辅助脚本](./deploy/comm.sh)一键全量下载,将该脚本上传到机器上后执行如下命令完成相关离线资源下载,下载内容会存放在当前目录的子目录gala_deploy_gopher下。 +本工具提供了[离线资源下载脚本](./deploy/download_offline_res.sh)和[辅助脚本](./deploy/comm.sh)一键全量下载(两种方法均需要下载),将两个脚本上传到机器上后执行命令(两种命令之一)完成相关离线资源下载,下载内容会存放在当前目录的子目录gala_deploy_gopher下。 + +1. 对应版本gala-gopher及依赖rpm包下载 ```xml -sh download_offline_res.sh gopher [os_version] [os_arch] [docker] +sh download_offline_res.sh gopher [os_version] [os_arch] ``` -os_version、os_arch 可选项需同时配置使用: +os_version、os_arch 可同时配置(或同时使用默认值): - os_version: 指定下载该操作系统版本 gala-gopher 软件包。未配置该项时,使用当前系统版本。支持版本列表:openEuler-22.03-LTS-SP1 openEuler-22.03-LTS openEuler-20.03-LTS-SP1 kylin - os_arch: 指定下载该架构 gala-gopher 软件包。未配置该项时,使用当前系统架构。支持架构列表:aarch64 x86_64 -- docker:指定下载 gala-gopher docker 镜像 tar 和 gala-gopher 配置文件(docker 运行 gala-gopher, 将配置文件映射到宿主机上)。命令示例 `sh download_offline_res.sh gopher docker `。下载 tar 包 和 gala-gopher 配置文件存放在 gala_deploy_gopher 目录下,文件名格式为`gala-gopher-[os_arch]:[os_tag].tar`。下载内容如下: +2. gala-gopher容器镜像下载 +指定下载 gala-gopher docker 镜像 tar 和 gala-gopher 配置文件(docker 运行 gala-gopher, 将配置文件映射到宿主机上)。 +```xml +sh download_offline_res.sh gopher [docker] +``` +下载 tar 包 和 gala-gopher 配置文件存放在 gala_deploy_gopher 目录下,文件名格式为`gala-gopher-[os_arch]:[os_tag].tar`。下载内容如下: ``` gala-gopher-aarch64:22.03-lts-sp1.tar gala-gopher.conf @@ -287,28 +295,33 @@ os_version、os_arch 可选项需同时配置使用: stackprobe.conf ``` -1. 工具一键部署 +工具一键部署 -将gala_deploy_gopher目录下的所有文件和[部署脚本](./deploy/deploy.sh),[辅助脚本](./deploy/comm.sh) 上传到目标生产节点机器上,执行如下命令安装、配置、启动gala-gopher服务,-S选项来指定离线安装包所在的目录。 +与上面介绍的两种下载内容对应,分别提供两种gala-gopher部署方法。部署前需将gala_deploy_gopher目录下的所有文件及[部署脚本](./deploy/deploy.sh)和[辅助脚本](./deploy/comm.sh)上传到目标生产节点机器上,执行如下命令安装、配置、启动gala-gopher服务,-S选项来指定离线安装包所在的目录。 +1. rmp包方式部署 ```xml -sh deploy.sh gopher -K -p -S <离线安装包所在目录> [--docker] +sh deploy.sh gopher -K -p -S <离线安装包所在目录> +``` +2. gala-ops容器镜像方式部署 +```xml +sh deploy.sh gopher -K -p -S <离线安装包所在目录> --docker ``` 选项详细说明: -| 选项 | 参数说明 | 是否必配 | -| :-------------: | :----------------------------------------------------------: | :------------: | -| -K\|--kafka | 指定gala-gopher上报采集数据的目标kakfa服务器地址,当不配置该选项时,kafka服务器地址使用localhost | 否 | -| -p\|--pyroscope | 指定gala-gopher开启火焰图功能后火焰图上传到的pyroscope服务器地址(用于对接前端界面显示),当不配置该选项时,pyroscope服务器地址使用localhost | 否 | -| -S\|--srcdir | 离线部署时使用该选项来指定gala-gopher以及其依赖包所在的目录 | 离线部署时必配 | -| --docker | 指定以 docker 方式部署 gala-gopher | 否 | +| 选项 | 参数说明 | 是否必配 | +| :-------------: |:-----------------------------------------------------------------------------------------:| :------------: | +| -K\|--kafka | 指定gala-gopher上报采集数据的目标kakfa服务器地址(一般来说是管理节点的IP),当不配置该选项时,kafka服务器地址使用localhost | 否 | +| -p\|--pyroscope | 指定gala-gopher开启火焰图功能后火焰图上传到的pyroscope服务器地址(用于对接前端界面显示)(一般来说是管理节点的IP),当不配置该选项时,pyroscope服务器地址使用localhost | 否 | +| -S\|--srcdir | 离线部署时使用该选项来指定gala-gopher以及其依赖包所在的目录 | 离线部署时必配 | +| --docker | 指定以 docker 方式部署 gala-gopher | 否 | #### 管理节点:部署gala-ops 1. gala-ops容器镜像下载 -离线部署前,需要在可连接外网的机器上下载gala-ops(gala-anteater/gala-spider/gala-inference)容器镜像tar包。本工具提供了[离线资源下载脚本](./deploy/download_offline_res.sh),[辅助脚本](./deploy/comm.sh)一键全量下载,将该脚本上传到机器上后执行如下命令完成相关离线资源下载,下载内容会存放在当前目录的子目录gala_deploy_ops下。 +离线部署前,需要在可连接外网的机器上下载gala-ops(gala-anteater/gala-spider/gala-inference)容器镜像tar包。本工具提供了[离线资源下载脚本](./deploy/download_offline_res.sh)和[辅助脚本](./deploy/comm.sh)一键全量下载,将两个脚本上传到机器上后执行如下命令完成相关离线资源下载,下载内容会存放在当前目录的子目录gala_deploy_ops下。 ```xml sh download_offline_res.sh ops [os_arch] @@ -320,7 +333,7 @@ sh download_offline_res.sh ops [os_arch] 2. 工具一键部署 -将gala_deploy_ops目录下的所有文件和[部署脚本](./deploy/deploy.sh),[辅助脚本](./deploy/comm.sh) 上传到目标管理节点机器上,执行如下命令安装、配置、启动gala-ops服务,-S选项来指定容器镜像tar包所在的目录。 +将gala_deploy_ops目录下的所有文件及[部署脚本](./deploy/deploy.sh)和[辅助脚本](./deploy/comm.sh)上传到目标管理节点机器上,执行如下命令安装、配置、启动gala-ops服务,-S选项来指定容器镜像tar包所在的目录。 ```shell sh deploy.sh ops -K -P -A -S @@ -328,18 +341,18 @@ sh deploy.sh ops -K -P -A -p -E -S @@ -363,16 +376,16 @@ sh deploy.sh grafana -P -p #### 获取部署脚本 -下载单独的[部署脚本](./deploy/deploy.sh),[辅助脚本](./deploy/comm.sh) 无需下载整个工具,可以直接通过如下命令下载到待部署机器上: +下载单独的[部署脚本](./deploy/deploy.sh)和[辅助脚本](./deploy/comm.sh)无需下载整个工具,可以直接通过如下命令下载到待部署机器上: ``` wget https://gitee.com/openeuler/gala-docs/raw/master/deploy/deploy.sh --no-check-certificate -- Gitee From 10c9161ce0bf0a91600e61ad1229b4ccb31c87ee Mon Sep 17 00:00:00 2001 From: l00845078 Date: Thu, 27 Jul 2023 19:38:04 +0800 Subject: [PATCH 2/3] update README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 9cc88d5..9a3a55a 100644 --- a/README.md +++ b/README.md @@ -269,7 +269,7 @@ sh deploy.sh middleware -K <部署节点管理IP> -P -p -S <离线安装包所在目录> ``` -2. gala-ops容器镜像方式部署 +2. gala-gopher容器镜像方式部署 ```xml sh deploy.sh gopher -K -p -S <离线安装包所在目录> --docker ``` -- Gitee From 45fafad9759a5184bab7a57b314ae5ab16c812ec Mon Sep 17 00:00:00 2001 From: l00845078 Date: Fri, 28 Jul 2023 15:02:13 +0800 Subject: [PATCH 3/3] updata README.md --- README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 9a3a55a..0dfce5b 100644 --- a/README.md +++ b/README.md @@ -58,7 +58,7 @@ https://gitee.com/openeuler/gala-anteater ## 架构 -gala-ops是C/S架构,可以集群方式部署,也可以单机部署。整个架构由[gala-gopher](#gala-gopher)、gala-ops两个软件组成,在集群模式下,gala-gopher安装在生产节点内,gala-ops安装在管理面节点内;单机模式两者均安装在生产节点内。 +gala-ops是C/S架构,可以集群方式部署,也可以单机部署。整个架构由[gala-gopher](#gala-gopher)、gala-ops两个软件组成,在集群模式下,gala-gopher安装在生产节点内,gala-ops安装在管理节点内;单机模式两者均安装在生产节点内。 其中,gala-ops软件内包括[gala-spider](#gala-spider)、[gala-anteater](#gala-anteater)、[gala-inference](#gala-inference)组件。 @@ -81,7 +81,7 @@ gala-gopher软件架构参考[这里](https://gitee.com/openeuler/gala-gopher/tr **术语** - **探针**:gala-gopher内执行具体数据采集任务的程序,包括native、extend 两类探针,前者以线程方式单独启动数据采集任务,后者以子进程方式启动数据采集任务。gala-gopher可以通过配置修改的方式启动部分或全部探针。 -- **观测实体(entity_name)**:用来定义系统内的观测对象,所有探针采集的数据均会归属到具体的某个观测实体。每种观测实体均有key、label(可选)、metrics组成,比如tcp_link观测实体的key包括进程号、IP五元组、协议族等信息,metrics则包括tx、rx、rtt等运行状态指标。除原生支持的[观测实体](#观测实体),gala-gopher也可以扩展观测实体。 +- **观测实体(entity_name)**:用来定义系统内的观测对象,所有探针采集的数据均会归属到具体的某个观测实体。每种观测实体均有key、label(可选)、metrics组成,比如tcp_link观测实体的key包括进程号、IP五元组、协议族等信息,metrics则包括tx、rx、rtt等运行状态指标。除原生支持的观测实体,gala-gopher也可以扩展观测实体。 - **数据表(table_name)**:观测实体由1张或更多数据表组合而成,通常1张数据表由1个采集任务完成,由此可知单个观测实体可以由多个采集任务共同完成。 - **meta文件**:通过文件定义观测实体(包括内部的数据表),系统内meta文件必须保证唯一,定义不可冲突。规范参考[这里](https://gitee.com/openeuler/gala-gopher/blob/master/doc/how_to_add_probe.md#meta%E6%96%87%E4%BB%B6%E5%AE%9A%E4%B9%89%E8%A7%84%E8%8C%83)。 @@ -443,7 +443,7 @@ sh deploy.sh grafana -P -E -[gala-ops部署演示视频](https://gitee.com/openeuler/gala-docs/blob/master/demo/5.%20A-Ops%E7%BB%84%E4%BB%B6%E9%83%A8%E7%BD%B2.mp4)中以openEuler 22.03 LTS版本为例演示了使用部署工具完成在生成节点上的gala-gopher以及在管理节点上的gala-ops组件部署的过程。 +[gala-ops部署演示视频](https://gitee.com/struggling-li-xiaozi/gala-docs/blob/master/demo/5.%20A-Ops%20%E7%BB%84%E4%BB%B6%E9%83%A8%E7%BD%B2.mp4)中以openEuler 22.03 LTS版本为例演示了使用部署工具完成在生成节点上的gala-gopher以及在管理节点上的gala-ops组件部署的过程。 完成上述部署动作后,即可通过浏览器访问“http://[部署节点IP]:3000” 登录grafana来使用A-Ops,登录用户名、密码默认均为admin。[A-Ops 总体介绍视频](https://gitee.com/openeuler/gala-docs/blob/master/demo/0.%20A-Ops%20%E6%80%BB%E4%BD%93%E4%BB%8B%E7%BB%8D.mp4)中结合grafana前端展示页面对A-Ops整体功能进行了演示。 @@ -461,7 +461,7 @@ A-Ops主要选择了8个主力场景,阶段性的落地相关解决方案。ga ### 特性背景 -在云环境中,应用性能受负载、资源等环境因素影响最大,这类因素无法在实验室中模拟,所以在线定位能力显得尤其重要,应用性能诊断存在两个难点:1)[无法识别应用性能劣化](#无法识别应用性能劣化);2)[无法确定问题根因](#无法确定问题根因)。 +在云环境中,应用性能受负载、资源等环境因素影响最大,这类因素无法在实验室中模拟,所以在线定位能力显得尤其重要,应用性能诊断存在两个难点:1)[无法识别应用性能劣化](https://gitee.com/struggling-li-xiaozi/gala-docs#%E7%89%B9%E6%80%A7%E8%83%8C%E6%99%AF);2)[无法确定问题根因](https://gitee.com/struggling-li-xiaozi/gala-docs#%E7%89%B9%E6%80%A7%E8%83%8C%E6%99%AF)。 - 无法识别应用性能劣化 @@ -540,7 +540,7 @@ Google针对云服务SLI的评估提出VALET方法,从5个维度综合评估 #### 基础软件low-level分析 -根据前面介绍[问题根因](#无法确定问题根因)的定位离不开OS系统层面的观测,鉴于现有工具的局限性,[gala-gopher](#gala-gopher)定位OS系统后台服务,提供基础软件全方位的观测能力,基于eBPF技术,持续性、低底噪的方式为采集基础软件运行时数据(主要是Metrics类型数据)。所有采集的性能Metrics数据,均会携带应用(即进程/线程)标签,实现以应用视角下钻式观测系统运行状态。 +根据前面介绍[问题根因](https://gitee.com/struggling-li-xiaozi/gala-docs#%E7%89%B9%E6%80%A7%E8%83%8C%E6%99%AF)的定位离不开OS系统层面的观测,鉴于现有工具的局限性,[gala-gopher](#gala-gopher)定位OS系统后台服务,提供基础软件全方位的观测能力,基于eBPF技术,持续性、低底噪的方式为采集基础软件运行时数据(主要是Metrics类型数据)。所有采集的性能Metrics数据,均会携带应用(即进程/线程)标签,实现以应用视角下钻式观测系统运行状态。 举例: @@ -668,7 +668,7 @@ Google针对云服务SLI的评估提出VALET方法,从5个维度综合评估 - 系统性能波动类 - 这类问题通常不能简单的通过一些规则、阈值来判断是否出现性能波动。所以需要通过一些AI算法来实时检测。gala-ops建立系统性能KPI以及相应的特征量,对采集到的数据进行离线训练+在线学习,实现在线异常检测,具体原理参考[这里](#gala-anteater-1)。 + 这类问题通常不能简单的通过一些规则、阈值来判断是否出现性能波动。所以需要通过一些AI算法来实时检测。gala-ops建立系统性能KPI以及相应的特征量,对采集到的数据进行离线训练+在线学习,实现在线异常检测,具体原理参考[这里](https://gitee.com/struggling-li-xiaozi/gala-docs#%E5%8E%9F%E7%90%86%E5%8F%8A%E6%9C%AF%E8%AF%AD-)。 系统性能波动类异常事件:参考[这里](https://gitee.com/openeuler/gala-docs/blob/master/gopher_tech_abnormal.md#%E7%B3%BB%E7%BB%9F%E7%BA%A7)。具体包括 TCP建链性能波动、TCP传输时延性能波动、系统I/O时延性能波动、进程I/O时延性能波动、磁盘读写时延性能波动。 @@ -770,7 +770,7 @@ gala-ops支持使用Grafana图形界面用来帮助客户更好的理解性能Pr 1. 系统如何快捷部署? - 社区提供两类快捷部署方式,1)[在线部署](#deployment-2);2)[离线部署](#deployment-1);前者要求用户安装环境可以访问openEuler社区;后者可以要求用户下载软件后,将其拷贝至安装环境; + 社区提供两类快捷部署方式,1)[在线部署](https://gitee.com/struggling-li-xiaozi/gala-docs#%E5%9C%A8%E7%BA%BF%E9%83%A8%E7%BD%B2); 2)[离线部署](https://gitee.com/struggling-li-xiaozi/gala-docs#%E7%A6%BB%E7%BA%BF%E9%83%A8%E7%BD%B2);前者要求用户安装环境可以访问openEuler社区;后者可以要求用户下载软件后,将其拷贝至安装环境; 2. gala-gopher支持哪些OS版本? -- Gitee