在自托管 Elastic Stack 上运行 Universal Profiling

编辑

在自托管 Elastic Stack 上运行 Universal Profiling编辑

此功能处于测试阶段,可能会发生变化。其设计和代码的成熟度低于正式的 GA 功能,并且按原样提供,不作任何保证。测试功能不受正式 GA 功能的支持 SLA 的约束。

要在自托管 Elastic Stack 上运行 Universal Profiling,您需要适当的许可证

您可以在此处找到在您自己的基础架构上托管 Elastic Stack 时运行 Universal Profiling 的信息。

Universal Profiling 由客户端部分(Universal Profiling 代理)和服务器部分(后端)组成。本文档重点介绍服务器部分。

先决条件编辑

在自托管基础架构上运行 Universal Profiling 需要 Elastic 企业许可证

  • Elastic Stack:最低版本 8.12.0,可在任何 Linux 发行版(x86_64 或 ARM64 架构)上运行,内核版本为 4.x 或更高版本。
  • ECE:最低版本 3.7.0,使用 8.12.0 或更高版本的 Stackpack。
  • Kubernetes:版本 1.22+,使用 Helm 图表。

对于 Elastic Cloud on Kubernetes (ECK),可以使用 Helm 图表以独立模式安装 Universal Profiling 后端。安装后,您可以将分析后端连接到现有的 ECK 托管堆栈。目前,我们没有 Profiling Operator 和在 ECK 中本地运行 Profiling 后端所需的 CRD。

支持的平台编辑

以下平台经过测试并成功运行了 Universal Profiling 后端。

平台 操作系统 详情

Linux x86_64、ARM64

Ubuntu 20.04 LTS

  • ✅ 来自存储库的 DEB 包
  • ✅ Docker
  • ✅ 二进制文件

Linux x86_64、ARM64

Ubuntu 22.04 LTS

  • ✅ 来自存储库的 DEB 包
  • ✅ Docker
  • ✅ 二进制文件

Linux x86_64、ARM64

Debian Bullseye

  • ✅ 来自存储库的 DEB 包
  • ✅ Docker
  • ✅ 二进制文件

Linux x86_64、ARM64

Debian Bookworm

  • ✅ 来自存储库的 DEB 包
  • ✅ Docker
  • ✅ 二进制文件

Linux x86_64、ARM64

Fedora 37

  • ✅ 来自存储库的 YUM 包
  • ✅ Docker
  • ✅ 二进制文件

Linux x86_64、ARM64

Fedora 38

  • ✅ 来自存储库的 YUM 包
  • ✅ Docker
  • ✅ 二进制文件

Linux x86_64、ARM64

RHEL 9.3

  • ✅ 来自存储库的 YUM 包
  • ✅ Docker
  • ✅ 二进制文件

Linux x86_64、ARM64

RHEL 8.9

  • ✅ 来自存储库的 YUM 包
  • ✅ Docker
  • ✅ 二进制文件

Linux x86_64、ARM64

openSUSE Leap

  • ✅ Docker
  • ✅ 二进制文件

Linux x86_64、ARM64

SUSE Linux Enterprise 15

  • ✅ Docker
  • ✅ 二进制文件

Kubernetes 1.25、1.26、1.27

Linux x86_64/ARM64

  • ✅ Helm 图表

架构概述编辑

后端由两个服务组成:收集器和符号化器。

  • 收集器从 Universal Profiling 代理接收分析数据并将其发送到 Elasticsearch。它侦听 HTTP 服务器并提供 gRPC 端点。
  • 符号化器处理 Universal Profiling 代理上不可用的调试符号,并对来自操作系统包的本机帧进行符号化。它还侦听 HTTP 服务器并提供用于上传私有调试符号的端点。有关添加符号的重要性的更多信息,请参阅添加符号
profiling self managed ingestion architecture