从 Elastic Synthetics 集成迁移
Elastic Stack
Elastic Synthetics 集成是创建合成监视器的一种方法,不再推荐使用。
您不应使用 Elastic Synthetics 集成来设置新的监视器,并且应该制定计划,将现有监视器迁移到使用项目监视器或 Synthetics 应用程序
- 借助 Elastic 项目监视器,您可以在外部版本控制的项目中编写测试,并使用 CLI 工具将监视器推送到 Elastic Stack。
- Synthetics 应用程序是 Kibana 中的一个应用程序,您可以使用它通过用户界面配置和创建监视器。
以下比较了您如何使用 Elastic Agent 集成来创建监视器,以及您将如何使用 Synthetics 应用程序或项目来创建监视器
支持的监视器:
- Elastic Agent 集成:支持轻量级和浏览器监视器
- 项目或 Synthetics 应用程序:支持轻量级和浏览器监视器
监视器运行的位置 (阅读更多):
Elastic Agent 集成:您必须在您的基础设施上运行监视器
项目或 Synthetics 应用程序:您可以在以下位置运行监视器
- 使用 私有位置的基础设施
- Elastic 的全球托管基础设施
配置监视器的位置:
Elastic Agent 集成:您可以使用以下方式配置监视器
- Kibana 中的用户界面(所有监视器类型)
- 外部版本控制项目中的代码(仅浏览器监视器)
项目或 Synthetics 应用程序:您可以使用以下方式配置监视器
- Kibana 中的用户界面(所有轻量级监视器,仅通过内联脚本的浏览器监视器)
- 外部版本控制项目中的代码(所有监视器类型)
如何使用项目 (阅读更多):
Elastic Agent 集成:
- 创建了一个使用
@elastic/synthetics
的项目。 - 在 JavaScript 或 TypeScript 文件中编写了 Journey。
- 压缩了整个项目。
- 通过添加指向项目位置的 ZIP URL,在 Integrations UI 中配置并创建了监视器。
- 创建了一个使用
项目或 Synthetics 应用程序:
- 创建一个使用
@elastic/synthetics
的项目。 - 在 YAML 文件中配置轻量级监视器。
- 在 JavaScript 或 TypeScript 文件中编写 Journey,并使用
monitor.use
在 Journey 代码中配置单个监视器,或使用synthetics.config.ts
文件配置所有监视器。 - 使用
elastic/synthetics push
命令创建监视器。
- 创建一个使用
在 使用项目监视器 中查找更多详细信息。
如何使用 UI (阅读更多):
Elastic Agent 集成:
- 转到 Kibana 中的 Integrations 页面。
- 搜索并添加 Elastic Synthetics 集成。
- 配置监视器。
- 创建监视器。
项目或 Synthetics 应用程序:
- 转到 Kibana 中的 Synthetics。
- 转到 Management。
- 单击 Create monitor。
- 配置监视器。
- 创建监视器。
在 使用 Synthetics 应用程序 中查找更多详细信息。
如果您想继续在您的基础设施上托管,您需要在创建监视器之前创建一个私有位置。如果您已经有一个使用 elastic-agent-complete
运行的 Elastic Agent,您可以 将其添加为 Synthetics 应用程序中的新私有位置。要从头开始创建新的私有位置,请按照 在私有网络上监视资源 中的所有说明进行操作。
或者,您可以开始在 Elastic 的全球托管基础设施上进行托管。借助 Elastic 的全球托管测试基础设施,您可以在多个位置创建和运行监视器,而无需管理自己的基础设施。Elastic 负责软件更新和容量规划。
在 Elastic 的全球托管测试基础设施上执行合成测试会产生额外费用。测试根据监视器类型按两种新的计费维度之一收费。对于浏览器监视器使用情况,每次测试运行都会收取费用。对于轻量级监视器使用情况,无论测试运行次数如何,您在其中运行任何监视器的每个区域都会收取费用。有关更多详细信息,请参阅 完整详细信息和当前定价。
如果您已经有一个通过 ZIP URL 添加的外部项目,您可以使用相同的项目,但您必须进行一些更改。
首先,升级现有项目以使用最新版本的 @elastic/synthetics
运行
npm install -g @elastic/synthetics@latest
以安装最新版本的 CLI。升级您现有的项目以使用新的项目设置
运行
npm @elastic/synthetics init <path-to-existing-project>
。回复 CLI 提供的所有提示。
注意为了确保您的项目能够与最新版本的 Elastic Synthetics 一起使用,CLI 将在
init
上创建一个新的配置文件,但在覆盖现有配置文件之前,您将看到一个提示,询问您是否要继续。
查看更新的文件和目录,包括
journeys/
将包含示例 Journey 代码。将现有 Journey 文件移动到此目录中。synthetics.config.ts
将包含升级项目所需的更新的默认设置。package.json
将包含您项目的更新的 NPM 设置。注意如果运行
init
时目录中已经存在package.json
文件,则 synthetics agent 将不会创建新的package.json
文件。相反,它将修改现有的package.json
文件以- 如果
@elastic/synthetics
库尚未存在,则将其添加到依赖项中。 - 如果
test
和push
脚本尚未存在,则添加它们。
- 如果
.github/
将包含用于 GitHub Actions 的示例工作流文件。
然后,您可以根据需要进一步配置监视器。在升级后的项目中,您将使用代码(而不是 Integrations UI)来定义监视器的名称以及它将运行的频率等设置。您可以通过两种方式使用代码配置监视器
- 对于单个监视器,直接在 Journey 代码中使用
monitor.use
。在 配置单个监视器 中阅读更多内容。 - 要一次配置所有监视器,请使用 synthetics 配置文件。在 配置项目 中阅读更多内容。
最后,您将使用 push
而不是通过在 Integrations UI 中添加 ZIP URL 来创建监视器。这将需要一个 API 令牌。在 @elastic/synthetics push
中阅读更多内容。
(可选)您还可以将轻量级监视器添加到 YAML 文件中的项目中。在 配置轻量级监视器 中阅读有关将轻量级监视器添加到项目的更多信息。
有关项目入门的更多信息,请参阅 使用项目监视器。
如果您仅通过 Elastic Synthetics 集成 UI 创建了监视器,则可以在 Synthetics 应用程序中重新创建监视器。
Synthetics 应用程序中的配置选项看起来与 Elastic Synthetics 集成 UI 非常相似,但有一些例外。在 Synthetics 应用程序中
- 您将为每个监视器选择一个或多个位置。
- 您不能使用 ZIP URL 来实现浏览器监视器。请改用项目。
- 你可以在创建监控器之前,使用运行测试来测试配置(包括浏览器监控器的流程)。
有关开始使用 Synthetics 应用的更多信息,请参阅使用 Synthetics 应用。