Fleet Server 可扩展性编辑

本页总结了扩展 Elastic Agent 部署所需的资源和 Fleet Server 配置要求。要扩展 Fleet Server,您需要修改部署和 Fleet Server 代理策略中的设置。

首先修改 Elastic Cloud 中的 Fleet 部署设置

  1. 登录 Elastic Cloud 并转到您的部署。
  2. 部署 > 部署名称 下,单击 编辑.
  3. 在集成服务器下

    • 修改服务器可用的计算资源,以适应更大规模的 Elastic Agent
    • 修改可用区以满足容错要求

    有关推荐设置,请参阅 扩展建议 (Elastic Cloud).

    Fleet Server hosted agent

接下来,通过编辑代理策略来修改 Fleet Server 配置

  1. 在 Fleet 中,打开 代理策略 选项卡。单击 Elastic Cloud 代理策略 的名称以编辑策略。
  2. 打开 Fleet Server 集成旁边的 操作 菜单,然后单击 编辑集成.

    Elastic Cloud policy
  3. 在 Fleet Server 下,修改 最大连接数 和其他 高级设置,如 扩展建议 (Elastic Cloud) 中所述。

    Fleet Server configuration

高级 Fleet Server 选项编辑

以下高级设置可用于微调您的 Fleet Server 部署。

缓存
num_counters
哈希表的尺寸。最佳实践是将其设置为最大连接数的 10 倍。
max_cost
缓存的总大小。
server.timeouts
checkin_timestamp
Fleet Server 多久更新一次每个代理的“上次活动”字段。默认为 30s。在大规模部署中,增加此设置可能会提高性能。如果此设置高于 2m,大多数代理将在 Fleet UI 中显示为“离线”。对于典型的设置,建议您将此值设置为小于 2m
checkin_long_poll
Fleet Server 允许代理在超时之前进行长时间轮询请求的时间。默认为 5m。在大规模部署中,增加此设置可能会提高性能。
server.limits
policy_throttle
新策略多久向代理推出一次。

已弃用:请改用 action_limit 设置。

action_limit.interval
Fleet Server 多快将待处理的操作分派给代理。
action_limit.burst
在回退到由 interval 定义的速率限制之前,可能分派的突发操作。
checkin_limit.max
可以同时调用 checkin API 的代理数量上限。
checkin_limit.interval
代理可以多快向 Fleet Server 检查。
checkin_limit.burst
在回退到由 interval 定义的速率之前,允许的突发检查次数。
checkin_limit.max_body_byte_size
checkin API 请求正文的最大字节数。
artifact_limit.max
可以同时调用 artifact API 的代理数量上限。它允许用户避免因 artifact API 调用而使 Fleet Server 过载。
artifact_limit.interval
工件推出频率。默认值 100ms 允许每秒推出 10 个工件。
artifact_limit.burst
允许的突发事务数,控制出站缓冲区的过度订阅。
artifact_limit.max_body_byte_size
artficact API 请求正文的最大字节数。
ack_limit.max
可以同时调用 ack API 的代理数量上限。它允许用户避免因 Ack API 调用而使 Fleet Server 过载。
ack_limit.interval
确认 (ACK) 发送频率。默认值为 10ms,允许每秒发送 100 个 ACK。
ack_limit.burst
在回退到由 interval 定义的速率之前,允许的 ACK 突发次数(默认为 20)。
ack_limit.max_body_byte_size
ack API 请求正文的最大字节数。
enroll_limit.max
可以同时调用 enroll API 的代理数量上限。此设置允许用户避免因注册 API 调用而使 Fleet Server 过载。
enroll_limit.interval
处理注册请求的间隔。注册既占用 CPU 又占用 RAM,因此需要限制注册请求的数量以确保整个系统的健康状况。默认值为 100ms,允许每秒进行 10 次注册。
enroll_limit.burst
在回退到由 interval 定义的速率之前,允许接受的注册突发次数。
enroll_limit.max_body_byte_size
enroll API 请求正文的最大字节数。
status_limit.max
可以同时调用 status API 的代理数量上限。此设置允许用户避免因状态 API 调用而使 Fleet Server 过载。
status_limit.interval
代理可以多长时间向 Fleet Server 提交状态请求。
status_limit.burst
在回退到由 interval 定义的速率之前,允许容纳的状态请求突发次数。
status_limit.max_body_byte_size
status API 请求正文的最大字节数。
upload_start_limit.max
可以同时调用 uploadStart API 的代理数量上限。此设置允许用户避免因 uploadStart API 调用而使 Fleet Server 过载。
upload_start_limit.interval
代理可以多长时间向 Fleet Server 提交文件开始上传请求。
upload_start_limit.burst
在回退到由 interval 定义的速率之前,允许容纳的文件开始上传请求突发次数。
upload_start_limit.max_body_byte_size
uploadStart API 请求正文的最大字节数。
upload_end_limit.max
可以同时调用 uploadEnd API 的代理数量上限。此设置允许用户避免因 uploadEnd API 调用而使 Fleet Server 过载。
upload_end_limit.interval
代理可以多长时间向 Fleet Server 提交文件结束上传请求。
upload_end_limit.burst
在回退到由 interval 定义的速率之前,允许容纳的文件结束上传请求突发次数。
upload_end_limit.max_body_byte_size
uploadEnd API 请求正文的最大字节数。
upload_chunk_limit.max
可以同时调用 uploadChunk API 的代理数量上限。此设置允许用户避免因 uploadChunk API 调用而使 Fleet Server 过载。
upload_chunk_limit.interval
代理可以多长时间向 Fleet Server 提交文件块上传请求。
upload_chunk_limit.burst
在回退到由 interval 定义的速率之前,允许容纳的文件块上传请求突发次数。
upload_chunk_limit.max_body_byte_size
uploadChunk API 请求正文的最大字节数。

扩展建议 (Elastic Cloud)编辑

以下表格根据您的部署所需的代理数量,提供了最低资源要求和扩展指南。需要注意的是,这些计算资源可以分布在多个可用区(例如:32GB RAM 要求可以通过 2 个不同区域的 16GB RAM 来满足)。

按代理数量划分的资源要求编辑

代理数量

Fleet Server 内存

Fleet Server vCPU

Elasticsearch 热层

2,000

2GB

最高 8 个 vCPU

32GB RAM | 8 个 vCPU

5,000

4GB

最高 8 个 vCPU

32GB RAM | 8 个 vCPU

10,000

8GB

最高 8 个 vCPU

128GB RAM | 32 个 vCPU

15,000

8GB

最高 8 个 vCPU

256GB RAM | 64 个 vCPU

25,000

8GB

最高 8 个 vCPU

256GB RAM | 64 个 vCPU

50,000

8GB

最高 8 个 vCPU

384GB RAM | 96 个 vCPU

75,000

8GB

最高 8 个 vCPU

384GB RAM | 96 个 vCPU

100,000

16GB

16 个 vCPU

512GB RAM | 128 个 vCPU

定期执行一系列规模性能测试,以验证上述要求以及 Fleet 管理广告规模的 Elastic Agent 的能力。这些测试会经过一系列验收标准。这些标准模拟了典型的平台运营商工作流程。测试用例执行代理安装、版本升级、策略修改以及添加/删除集成、标签和策略。当 Elastic Agent 在执行完这些操作后达到 健康 状态时,验收标准即通过。

策略扩展建议编辑

单个 Fleet 实例最多支持 500 个 Elastic Agent 策略。如果配置了更多策略,UI 性能可能会受到影响。