diff --git a/theme/assets/png/gala-arch.png b/theme/assets/png/gala-arch.png
new file mode 100644
index 0000000000000000000000000000000000000000..7f71718008dce4bd2c358a2af19a0b472ff04e40
Binary files /dev/null and b/theme/assets/png/gala-arch.png differ
diff --git a/theme/assets/png/partner.png b/theme/assets/png/partner.png
new file mode 100644
index 0000000000000000000000000000000000000000..28a1ec5c7254309917807e88eaf6a6a7980390e9
Binary files /dev/null and b/theme/assets/png/partner.png differ
diff --git a/theme/content/en/docs/gala-docs/gopher_tech.md b/theme/content/en/docs/gala-docs/gopher_tech.md
index f1f2eea33ecbc548f4d78b2d10e624a62967c307..e177c176fb11d06908ab88e12c083f1aca591981 100644
--- a/theme/content/en/docs/gala-docs/gopher_tech.md
+++ b/theme/content/en/docs/gala-docs/gopher_tech.md
@@ -514,33 +514,33 @@ toc: true
| version | jvm_info | label | | | JVM 版本 |
| info | jvm_info | gauge | | | 固定值1 |
| process_start_time_seconds | jvm_process | gauge | s | | 进程起始时间 |
-| process_cpu_seconds_total | jvm_process | gauge | s | | 进程已使用的CPU时间 |
+| process_cpu_seconds_total | jvm_process | counter | s | | 进程已使用的CPU时间 |
| classes_currently_loaded | jvm_class | gauge | | | JVM当前已加载类的数量 |
-| classes_loaded_total | jvm_class | gauge | | | JVM自执行以来加载的类的总数量 |
+| classes_loaded_total | jvm_class | counter | | | JVM自执行以来加载的类的总数量 |
| threads_current | jvm_thread | gauge | | | JVM当前线程数 |
| threads_daemon | jvm_thread | gauge | | | JVM的守护线程数 |
| threads_peak | jvm_thread | gauge | | | JVM的峰值线程数 |
-| threads_started_total | jvm_thread | gauge | | | JVM的已启动线程数 |
+| threads_started_total | jvm_thread | counter | | | JVM的已启动线程数 |
| threads_deadlocked | jvm_thread | gauge | | | JVM的死锁的线程数 |
-| area | jvm_mem | key | | | JVM内存类型:heap/noheap |
+| area | jvm_mem | label | | | JVM内存类型:heap/noheap |
| memory_bytes_used | jvm_mem | gauge | bytes | | 给定JVM内存区域的已使用字节数 |
| memory_bytes_committed | jvm_mem | gauge | bytes | | 给定JVM内存区域的已提交字节数 |
| memory_bytes_max | jvm_mem | gauge | bytes | | 给定JVM内存区域的最大字节数 |
| memory_bytes_init | jvm_mem | gauge | bytes | | 给定JVM内存区域的初始字节数 |
-| pool | jvm_mem_pool | key | | | 内存池类型 |
+| pool | jvm_mem_pool | label | | | 内存池类型 |
| memory_pool_bytes_used | jvm_mem_pool | gauge | bytes | | 给定JVM内存池的已使用字节数 |
| memory_pool_bytes_committed | jvm_mem_pool | gauge | bytes | | 给定JVM内存池的已提交字节数 |
| memory_pool_bytes_max | jvm_mem_pool | gauge | bytes | | 给定JVM内存池的最大字节数 |
| memory_pool_collection_used_bytes | jvm_mem_pool | gauge | bytes | | 给定JVM内存池最后一次垃圾回收使用的字节数 |
| memory_pool_collection_committed_bytes | jvm_mem_pool | gauge | bytes | | 上一次GC内存池的大小 |
| memory_pool_collection_max_bytes | jvm_mem_pool | gauge | bytes | | 上一次GC内存池的最大字节数 |
-| pool | jvm_buf_pool | key | | | 缓冲池类型 |
+| pool | jvm_buf_pool | label | | | 缓冲池类型 |
| buffer_pool_used_bytes | jvm_buf_pool | gauge | bytes | | 给定JVM缓冲池的已用字节数 |
| buffer_pool_used_buffers | jvm_buf_pool | gauge | | | 给定JVM缓冲池的已用缓冲区数 |
| buffer_pool_capacity_bytes | jvm_buf_pool | gauge | bytes | | 给定JVM缓冲池的字节容量 |
-| gc | jvm_gc | key | | | 垃圾回收器名字 |
-| gc_collection_seconds_count | jvm_gc | gauge | | | 给定的垃圾回收器已发生的GC总次数 |
-| gc_collection_seconds_sum | jvm_gc | gauge | s | | 在给定的垃圾回收器花费的总时间 |
+| gc | jvm_gc | label | | | 垃圾回收器名字 |
+| gc_collection_seconds_count | jvm_gc | summary | | | 给定的垃圾回收器已发生的GC总次数 |
+| gc_collection_seconds_sum | jvm_gc | summary | s | | 在给定的垃圾回收器花费的总时间 |
diff --git a/theme/content/en/docs/gala-docs/introducation.md b/theme/content/en/docs/gala-docs/introducation.md
index fd35084d12780261bb04517b922699f7abfd3dfe..91ec41b83f7c53477b083ad9c72ad50746bc5450 100644
--- a/theme/content/en/docs/gala-docs/introducation.md
+++ b/theme/content/en/docs/gala-docs/introducation.md
@@ -7,28 +7,59 @@ menu:
weight: 110
toc: true
---
+# 介绍
+
+gala-ops是一款C/S架构、基于AI的操作系统亚健康诊断工具。其基于eBPF + java agent无侵入观测技术,并以AI技术辅助,实现亚健康故障(比如性能抖动、错误率提升、系统卡顿等问题现象)分钟级诊断,简化IT基础设施的运维过程。
+
# 背景
- 云场景中基础软件/业务应用之间的边界逐渐上移,基础软件逐渐成为云场景最重要的组成部分,而操作系统又最重要的基础软件之一。
- 从业界公开的数据看,云场景的一些重要故障均是与基础软件密切相关。公开数据显示现有主流云厂商月平均故障150+次数,75%的故障<1H,90%<1.5H,少量故障>5H。
+云基础设施在近几年随着云原生、无服务化等技术的实施,其运维的复杂性变得越来越有挑战性,尤其是亚健康问题特点(间歇性出现、持续时间短、问题种类多、涉及范围广等)给云基础设施故障诊断带来重要挑战。亚健康故障诊断的挑战(包括可观测能力、海量数据管理能力、AI算法的泛化能力等)在Linux场景中变的尤为突出。在openEuler开源操作系统中,现有的运维手段不足以及时发现、定位亚健康问题,存在包括:缺乏在线、持续性监控能力;缺乏应用视角精细化的观测能力;缺乏基于全栈观测数据的自动化、AI分析能力等问题。然而,针对亚健康故障的诊断能力其难点包括:
-云场景的基础设施、业务场景的复杂性,导致这些故障现象大量集中基础软件(尤其是操作系统)层面,为此openEuler社区规划&孵化A-Ops项目,该项目包括基础设施监控、应用性能监控、应用安全、自动化及监控四大块功能。
+- 全栈的无侵入可观测观测能力。
+- 持续、精细化、低负载的监控能力。
+- 自适应不同应用场景的异常检测、可视化故障推导能力。
-
+# 项目简介
+
+gala-ops的整体架构如图所示,其整体上是一个C/S架构。在生产节点gala-gopher是一个Linux后台程序,其负责提供全场景、全栈(包括Metrics、Events、Tracing等)的数据采集,其支持通过OpenTelemetry开放生态接口(支持prometheus exporter、kafka client等)将数据传递给管理节点。管理节点部署gala-spider、gala-anteater组件,分别负责集群拓扑计算、可视化根因推导;
+
+gala-ops架构上依赖一些开源中间件(包括prometheus、kafka、Elastic等),但亦可对接至客户IT系统现有的中间件。gala-ops架构设计提供被集成能力,可以由行业客户IT运维系统集成。其提供两类被集成方式:
+
+- 软件生态集成方式:可以只使用gala-gopher可观测能力(OpenTelemetry方式获取数据),亦可以使用全部能力,通过prometheus、Elastic、kafka等中间件获取观测数据、异常检测结果、可视化推导结果。
+- 工具集成方式:将gala-ops提供的能力以Grafana形式集成至客户IT运维系统内。
+
+
-# 介绍
- 针对云场景的故障特点,根据故障发展阶段划分成:系统隐患、灰度故障、故障 三个阶段,A-Ops规划应用性能监控解决方案,该解决方案包括多个关键组件,本文用于介绍相关gala-ops系列组件。
- gala-ops系列组件定位:云基础设施场景中,针对基础设施**灰度故障**导致的**应用性能劣化**、卡顿系统级故障**在线诊断**。提供包括**应用性能诊断、系统性能瓶颈诊断、系统参数修复、系统实时拓扑**等特性。
+gala-ops可以给客户提供如下运维能力:
-# 原理
+- 在线应用性能抖动诊断:提供数据库类应用性能在线诊断能力,包括网络类(丢包、重传、时延、TCP零窗等)问题、I/O类(磁盘慢盘、I/O性能下降等)问题,调度类(包括sysCPU冲高、死锁等)问题、内存类(OOM、泄漏等)问题等。
+- 系统性能瓶颈诊断:提供通用场景的TCP、I/O性能抖动问题诊断能力。
+- 系统隐患巡检:提供内核协议栈丢包、虚拟化网络丢包、TCP异常、I/O时延异常、系统调用异常、资源泄漏、JVM异常、应用RPC异常(包括8种常见协议的错误率、时延等)硬件故障(UCE、磁盘介质错误等)等秒级巡检能力。
+- 系统全栈I/O可观测:提供面向分布式存储场景的I/O全栈观测能力,包括GuestOS 进程级、Block层的I/O观测能力,以及虚拟化层存储前端I/O观测能力,分布式存储后端I/O观测能力。
+- 精细化性能Profiling:提供多维度(包括系统、进程、容器、Pod等多个维度)、高精度(10ms采样周期)的性能(包括CPU性能、内存占用、资源占用、系统调用等类型)火焰图、时间线图,可实时在线持续性采集。
+- K8S Pod全栈可观测及诊断:提供K8S视角的Pod集群业务流实时拓扑能力,Pod性能观测能力、DNS观测能力、SQL观测能力等。
-通过eBPF技术实现系统白盒化智能观测,实时在线完成系统架构拓扑化,在此基础完成从基础软硬件至应用现象的根因推导过程,且过程可视化。
+
-三步骤如下:
+gala-ops涉及的关键技术包括如下:
-
+- 融合型非侵入观测技术:融合eBPF、Java agent等不同观测技术优点,实现多语言(支持C/C++、Java、Go等主流语言)、全软件栈(包括内核、系统调用、基础库Glibc、运行时jvm、基础中间件Nginx/Haproxy等)的观测能力。
+- 流程拓扑:基于时序化数据(L4/L7层流量等),实时计算生成时序化拓扑结构,动态展现业务集群拓扑变化。
+- 可视化根因定位:统计推理模型结合全流程拓扑,实现可视化&分钟级的问题根因诊断。
+
+# 应用场景
+
+ gala-ops在openEuler等Linux环境主要面向场景包括数据库、分布式存储、虚拟化、云原生等场景。助力金融、电信、互联网等行业客户在全栈可观测的基础上实现亚健康故障分钟级诊断。
+
+# 项目代码仓
+
+https://gitee.com/openeuler/gala-gopher
+
+https://gitee.com/openeuler/gala-spider
+
+https://gitee.com/openeuler/gala-anteater
@@ -173,44 +204,244 @@ gala-ops还依赖一些开源软件,包括kafka、arangodb、prometheus等。
## gala-ops系统安装
-A-Ops提供了集成式部署工具A-Ops-Tools以便用户快速部署gala-ops以及其依赖的开源中间件,部署工具的使用约束说明与所有支持选项详细说明可参照[A-Ops-Tools部署工具手册](https://gitee.com/Vchanger/a-ops-tools#a-ops-tools)。
+Gala提供了集成式部署工具[Gala-Deploy-Tools](./deploy)以便用户快速部署gala-gopher、gala-ops(gala-spider/gala-inference/gala-anteater)组件、kafka/prometheus/arangodb/es/logstash/pyroscope中间件、grafana前端页面展示相关组件,并同时支持离线/在线部署两种模式。
+- kafka 用于传输 gala 软件数据
+- prometheus 用于存储 gopher metrics数据
+- arangodb 用于存储 gala-spider 生成的实时拓扑数据
+- elasticsearch/logstash 存储 gala 数据支持 grafana 前端展示
+- pyroscope 存储 gopher 火焰图数据
+- grafana 展示 gala 前端页面
-- 获取部署工具
- 1. 下载部署工具压缩包:wget https://gitee.com/Vchanger/a-ops-tools/repository/archive/master.zip --no-check-certificate
- 2. 使用unzip解压压缩包后进入对应目录即可使用
+### 约束限制
-- 部署中间件:kafka/prometheus/arangodb/elasticsearch/logstash
+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组件会以容器方式安装部署。
- 执行如下命令安装、配置、启动kafka/prometheus/arangodb/elasticsearch/logstash服务,-K/-P/-A/-E选项支持分开使用单独部署对应组件,其中-P用于配置prometheus服务端抓取消息的来源地址(即部署gala-gopher的生产节点)列表,每个地址之间用英文逗号分隔;elasticsearch/logstash由于存在依赖关系,通过-E选项统一控制、绑定安装。
+### 环境准备说明
- ```
- # sh deploy.sh middleware -K
例如:-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 | 离线部署时使用该选项来指定离线安装包所在的目录 | 离线部署时必配 |
+
+#### 生产节点:部署gala-gopher
+
+1. 对应版本gala-gopher及依赖包下载
+
+离线部署前,需要在可连接外网的机器上下载对应版本的gala-gopher包以及其依赖的rpm包。本工具提供了[离线资源下载脚本](./deploy/download_offline_res.sh),[辅助脚本](./deploy/comm.sh)一键全量下载,将该脚本上传到机器上后执行如下命令完成相关离线资源下载,下载内容会存放在当前目录的子目录gala_deploy_gopher下。
+
+```xml
+sh download_offline_res.sh gopher [os_version] [os_arch] [docker]
+```
+os_version、os_arch 可选项需同时配置使用:
+- os_version: 指定下载该操作系统版本 gala-gopher 软件包。未配置该项时,使用当前系统版本。支持版本列表:openEuler-22.03-LTS-SP1 openEuler-22.03-LTS openEuler-20.03-LTS-SP1 kylin
-- 部署grafana
+- os_arch: 指定下载该架构 gala-gopher 软件包。未配置该项时,使用当前系统架构。支持架构列表:aarch64 x86_64
- 执行如下命令完成部署,grafana会以容器实例方式运行。
+- 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`。下载内容如下:
```
- # sh deploy.sh grafana
+ gala-gopher-aarch64:22.03-lts-sp1.tar
+ gala-gopher.conf
+ gala-gopher-app.conf
+ stackprobe.conf
```
+1. 工具一键部署
+
+将gala_deploy_gopher目录下的所有文件和[部署脚本](./deploy/deploy.sh),[辅助脚本](./deploy/comm.sh) 上传到目标生产节点机器上,执行如下命令安装、配置、启动gala-gopher服务,-S选项来指定离线安装包所在的目录。
+
+```xml
+sh deploy.sh gopher -K
2. 语言强相关性。 | 底噪大,侵入式修改。 | 无侵入分布式Tracing |
-| 2 | 通过perf + AsyncProfier等工具实现容器实例内性能热点抓取,定位至某业务流程。 | 1. linux 、jvm性能数据分开采集,无法统筹分析;
2. perf等工具无法细粒度采集单个容器实例性能热点数据; |缺乏全栈细粒度性能数据采集能力|**全栈细粒度性能火焰图**:低底噪、实时全栈(覆盖Linux、JVM) OnCPU、OffCPU、内存热点火焰图|
-| 3 | 通过业务专家分析业务流程,辅助日志、插桩等方式定位至具体函数。 | 1. 日志、插桩等方式存在效率低的问题(需要重新出版本);
2. 业务流程中的系统性能事件无法观测到(比如线程切换,锁操作,文件操作、网络时延等); |缺乏业务Request级性能Profling能力|**Request级性能Profiling**:提供在线的Request级性能事件观测能力(包括文件操作、网络访问、锁操作等)|
-| 4 | 如果问题是出现在底层(比如慢I/O),则依赖业务/系统专家会诊,辅助各类工具。 | 1. 依赖人力会诊,效率低;
2. 随机性故障无法追溯; |缺乏下钻式全栈观测能力|细粒度下钻式全栈观测能力:提供全栈的应用(进程/线程)粒度系统性能数据,并提供应用/系统性能瓶颈分析能力。|
-
-备注:2/3解决方案是gala-ops在云原生场景未来规划的特性,4属于现有特性针对云原生场景的补充增强。
+1. 系统隐患巡检
+2. K8S Pod全栈可观测及诊断
# 常见问题
@@ -581,4 +784,6 @@ Google针对云服务SLI的评估提出VALET方法,从5个维度综合评估
# 用户案例
-# 合作厂商
\ No newline at end of file
+# 合作厂商
+
+
\ No newline at end of file
diff --git a/theme/public/404.html b/theme/public/404.html
index 37de135b072f05f7e4f6199edc9236ea2a7d4524..77d3aa78104fd7a5de896598c3bc11eab5f96fd3 100644
--- a/theme/public/404.html
+++ b/theme/public/404.html
@@ -10,7 +10,7 @@
-
+
diff --git a/theme/public/categories/index.html b/theme/public/categories/index.html index ac7fb7aa1d9237784852d45357494c569ca11a62..fb598d74dfcdb543f74833a3fa2f1a1a472bdee7 100644 --- a/theme/public/categories/index.html +++ b/theme/public/categories/index.html @@ -10,7 +10,7 @@ - + @@ -240,10 +240,10 @@ - + - + diff --git a/theme/public/contributors/index.html b/theme/public/contributors/index.html index 6a6ba97d5e96a82fc70c11f6ffdea6efc40b2a9e..7cd67bc8a138e4ec59bb9886309881380f8c8444 100644 --- a/theme/public/contributors/index.html +++ b/theme/public/contributors/index.html @@ -10,7 +10,7 @@ - + @@ -240,10 +240,10 @@ - + - + diff --git a/theme/public/docs/gala-docs/gala_event_api/index.html b/theme/public/docs/gala-docs/gala_event_api/index.html index b63f6beda0a9c5fd7dd4df9d78ae23415b52c26f..d44ffc8c33dd9fffecc35ce768e45917c96a0c57 100644 --- a/theme/public/docs/gala-docs/gala_event_api/index.html +++ b/theme/public/docs/gala-docs/gala_event_api/index.html @@ -1,436 +1,436 @@ - - -
- - - - - - - - - - - - - - -
- +
+ + + + + + + + + + + + + + +
+ - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -