前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在腾讯云 Elasticsearch Service 上安装 APM Server 指南

在腾讯云 Elasticsearch Service 上安装 APM Server 指南

原创
作者头像
点火三周
发布2024-08-14 19:45:57
920
发布2024-08-14 19:45:57
举报
文章被收录于专栏:Elastic Stack专栏

腾讯云 Elasticsearch Service 目前还未提供托管的 APM Server,因此我们需要手动安装 APM Server 才能体验 Elastic APM 的功能,或将 OpenTelemetry 的数据导出到腾讯云 Elasticsearch Service。本文将详细介绍如何通过 Fleet 服务器在腾讯云 ES 上安装和配置 APM Server,解决安装过程中可能遇到的网络连接问题,并探讨使用 OpenTelemetry 与 APM 的价值。

安装 APM Server 的方法

安装 APM Server 时,您可以选择以下两种方法:

  1. Self Managed(自行管理):手动安装和管理 APM Server。
  2. Fleet Managed(通过 Fleet 服务器管理):通过 Elastic Agent 和 Fleet 服务器来管理和部署 APM Server。

本文主要介绍使用 Fleet 服务器的方法,因为这种方式更易于管理和扩展。

准备工作:解决网络连接问题

在使用 Fleet 服务器安装 APM Server 时,需要连接到 Elastic Package Registry(EPR)。由于 Kibana 和 ES 节点通常在腾讯云的 VPC 中,无法直接访问 EPR,因此需要通过腾讯云的售后支持,提交工单来解决网络连接问题。

开启外网访问

在腾讯云的 8.11 网络架构之后,您可以通过调整控制台配置,开启外网访问端口,让 Kibana 连接到 EPR。然而,实践中发现,由于网络带宽和出海流量的限制,直接从 EPR 下载工件效率较低,这会导致 Fleet 响应缓慢。因此,我们建议通过构建本地仓库来优化 Fleet 的使用体验。

通过构建本地仓库优化 Fleet 使用体验

为了提高安装和使用 Fleet 的效率,可以参考 Elastic 官方的无网络环境安装指南,通过构建本地的 Elastic Package Registry 来解决这一问题。

步骤 1:从 Docker 仓库中拉取镜像

首先,从公共 Docker 仓库中拉取 Elastic Package Registry 镜像:

代码语言:bash
复制
docker pull docker.elastic.co/package-registry/distribution:8.13.3

步骤 2:保存 Docker 镜像

将拉取的 Docker 镜像保存到本地:

代码语言:bash
复制
docker save -o package-registry-8.13.3.tar docker.elastic.co/package-registry/distribution:8.13.3

步骤 3:传输并加载镜像

将镜像文件传输到需要部署的无网络环境中,并加载镜像:

代码语言:bash
复制
docker load -i package-registry-8.13.3.tar

步骤 4:运行 Elastic Package Registry

使用以下命令启动 Elastic Package Registry:

代码语言:bash
复制
docker run -it -p 8080:8080 docker.elastic.co/package-registry/distribution:8.13.3

步骤 5:配置 Fleet 服务器

接下来,您可以提交工单,要求腾讯云售后团队在 kibana.yml 中增加以下配置,以便使用您本地的仓库:

代码语言:yaml
复制
xpack.fleet.registryUrl: "http://172.27.16.2:8080"

当我们配置好仓库的时候,你将可以查看和安装所有373个可用集成,这其中也包括我们需要的APM集成。

配置 APM 与 Fleet

接下来,您可以按照以下步骤来安装和配置 APM Server:

  1. 创建 Fleet Server:在 Kibana 中,按照提示创建一个新的 Fleet Server,该服务器将通过 Elastic Agent 安装在您选择的 CVM(管理主机)上。
  2. 增加 APM Integration:在默认的 Fleet Server 策略中,增加一个 APM 的 Integration。
  3. 配置 APM 服务器:在 APM 的配置页面中,设置服务器的主机地址为 0.0.0.0:8200,URL 填写为 Elastic Agent 所安装主机的公网地址,例如:http://162.14.77.46:8200/
  4. 修改 Fleet 设置:将 Fleet 设置中的“指定代理将发送数据的位置”修改为腾讯云ES的公网地址,以便数据能够正确传输。

OpenTelemetry 与 APM 的价值

Elastic APM 支持与 OpenTelemetry 集成,使得您可以重用现有的 OpenTelemetry 仪器,轻松地将观测数据发送到 Elastic Stack 中。通过 OpenTelemetry,您可以利用已有的 API 和 SDK,实现与 Elastic APM 的无缝集成。Elastic 原生支持 OpenTelemetry 协议(OTLP),这意味着从 OpenTelemetry 代理收集的追踪数据和指标可以直接发送到 Elastic Stack。

这种集成不仅降低了对单一供应商的依赖,还让您能够使用 OpenTelemetry 捕获的丰富数据进行更深入的分析和观察,从而提升系统的性能和稳定性。

总结

通过本文指南,您将能够在腾讯云 Elasticsearch Service 上成功安装和配置 APM Server,并充分利用 OpenTelemetry 和 Elastic APM 的强大功能来提升应用的可观测性和性能分析能力。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装 APM Server 的方法
  • 准备工作:解决网络连接问题
    • 开启外网访问
    • 通过构建本地仓库优化 Fleet 使用体验
      • 步骤 1:从 Docker 仓库中拉取镜像
        • 步骤 2:保存 Docker 镜像
          • 步骤 3:传输并加载镜像
            • 步骤 4:运行 Elastic Package Registry
              • 步骤 5:配置 Fleet 服务器
              • 配置 APM 与 Fleet
              • OpenTelemetry 与 APM 的价值
              • 总结
              相关产品与服务
              Elasticsearch Service
              腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档