加载中

监控私有网络上的资源

Elastic Stack Serverless

要监控私有网络上的资源,您可以:

  • 允许 Elastic 的全球托管基础设施访问您的私有端点。
  • 使用 Elastic Agent 创建私有位置。

通过 Elastic Agent 的私有位置仅需要您的网络发出连接,而允许 Elastic 的全球托管基础设施访问私有端点则需要入站访问,因此会带来额外的风险,用户必须对此进行评估。

要允许 Elastic 的全球托管基础设施访问私有端点,请使用 IP 地址过滤、HTTP 身份验证或两者结合。

要通过 IP 进行授权,请使用 此出口 IP 列表。此列表上的地址和位置可能会更改,因此建议自动化过滤规则的更新。仅 IP 过滤将允许 Elastic 的全球托管基础设施的所有用户访问您的端点,如果您对此感到担忧,可以考虑通过代理(如 nginx)进行用户/密码身份验证来增加额外的保护。

私有位置允许您从自己的 premises 运行监控。在私有位置上运行监控之前,您需要

重要提示

通过 Elastic Agent 运行的私有位置必须直接连接到 Elasticsearch。请勿配置任何摄取管道或通过 Logstash 输出,因为这会阻止 Synthetics 正常工作,并且不受支持

首先设置 Fleet Server 和 Elastic Agent

  • 设置 Fleet Server:如果您使用 Elastic Cloud,Fleet Server 将已提供,您可以跳过此步骤。要了解更多信息,请参考 设置 Fleet Server
  • 创建代理策略:有关代理策略和创建它们的更多信息,请参考 Elastic Agent 策略
重要提示

私有位置应针对运行在单个 Elastic Agent 上的代理策略进行设置。Elastic Agent 必须在 Fleet 中注册(私有位置不能使用独立的 Elastic Agent 进行设置)。请不要在用于私有位置的多个代理上运行相同的代理策略,否则您可能会遇到重复或丢失的测试。私有位置目前不支持在多个 Elastic Agent 之间负载均衡测试。有关增加私有位置容量的信息,请参阅 扩展私有位置

默认情况下,私有位置配置为允许两个并发浏览器测试和无限数量的轻量级检查。因此,如果分配给特定私有位置的浏览器测试超过两个,可能会出现延迟。

设置 Fleet 后,您将 Fleet 连接到 Elastic Stack 或您的 Observability Serverless 项目,并将 Elastic Agent 注册到 Fleet。

Elastic 提供 Docker 镜像,您可以使用它们更轻松地运行 Fleet 和 Elastic Agent。对于在私有位置上运行的监控,您必须使用 elastic-agent-complete Docker 镜像来创建自托管的 Elastic Agent 节点。标准的 Elastic Cloud 或自托管的 Elastic Agent 将无法工作。

重要提示

elastic-agent-complete Docker 镜像是在 UI 中拥有所有可用选项的唯一方法。

要拉取 Docker 镜像,请运行

docker pull docker.elastic.co/elastic-agent/elastic-agent-complete:8.16.1

然后注册并运行 Elastic Agent。您需要一个注册令牌和 Fleet Server 的 URL。您可以使用策略的默认注册令牌,或者创建新策略并根据需要注册令牌

有关使用 Docker 运行 Elastic Agent 的更多信息,请参考 在容器中运行 Elastic Agent

docker run \
  --env FLEET_ENROLL=1 \
  --env FLEET_URL={fleet_server_host_url} \
  --env FLEET_ENROLLMENT_TOKEN={enrollment_token} \
  --cap-add=NET_RAW \
  --cap-add=SETUID \
  --rm docker.elastic.co/elastic-agent/elastic-agent-complete:8.16.1
重要提示

elastic-agent-complete Docker 镜像需要额外的功能才能正常运行。请确保在容器上启用了 NET_RAWSETUID

注意

您可能需要设置其他环境变量。有关详细信息,请参阅 Elastic Agent 环境变量指南

当 Elastic Agent 运行时,您可以在 UI 中添加新的私有位置

  1. 全局搜索字段中找到 Synthetics
  2. 转到 **设置**。
  3. 转到 **私有位置** 选项卡。
  4. 点击 **添加位置**。
  5. 为您的新位置指定一个唯一的位置名称,并选择您上面创建的代理策略
  6. 点击 **Save**。
重要提示

目前无法在私有位置上使用自定义 CA 进行 synthetics 浏览器测试,除非遵循变通方法。要了解有关此变通方法的更多信息,请参考以下 GitHub issue:elastic/synthetics#717

默认情况下,私有位置配置为允许两个并发浏览器测试和无限数量的轻量级检查。这些限制可以通过环境变量 SYNTHETICS_LIMIT_{{TYPE}} 设置,其中 {{TYPE}} 是运行 Elastic Agent docker 镜像的容器的 BROWSERHTTPTCPICMP 之一。

分配足够的内存和 CPU 容量来处理配置的限制至关重要。请至少分配 2 GiB 内存和两个核心/浏览器实例,以确保一致的性能并避免内存不足错误。然后根据需要进行调整。资源需求将根据工作负载而异。轻量级监控所需的内存要少得多。请至少分配 512MiB 内存和两个核心/轻量级检查。然后根据观察到的使用模式增加分配的内存和 CPU。

这些限制是针对并发测试的,而不是总测试。例如,如果每小时安排运行 60 个浏览器测试,每个测试运行 1 分钟,那么将完全占用一个执行槽。但是,设置具有额外容量的执行槽是一个好习惯。一个好的起点是超额分配 5 倍。在前面的示例中,这意味着分配 5 个槽。

现在您可以在Synthetics UI 中,或使用Elastic Synthetics 库的 push 方法向您的私有位置添加监控。

© . This site is unofficial and not affiliated with Elasticsearch BV.