Elasticsearch 输出设置编辑

指定这些设置以通过安全连接将数据发送到 Elasticsearch。在 Fleet 输出设置 中,确保已选择 Elasticsearch 输出类型。

主机

Elastic Agent 将数据发送到的 Elasticsearch URL。默认情况下,Elasticsearch 在以下端口上公开

9200
自管理集群的默认 Elasticsearch 端口
443
Elastic Cloud 的默认 Elasticsearch 端口

示例

  • https://192.0.2.0:9200
  • https://1d7a52f5eb344de18ea04411fe09e564.fleet.eu-west-1.aws.qa.cld.elstc.co:443
  • https://[2001:db8::1]:9200

有关默认端口和其他配置详细信息,请参阅 Fleet Server 文档。

Elasticsearch CA 可信指纹

CA 证书的十六进制编码 SHA-256。如果此证书在握手期间存在于链中,它将被添加到 certificate_authorities 列表中,握手将正常继续。要详细了解可信指纹,请参阅 Elasticsearch 安全文档

代理

选择 Elastic Agent 用于连接到 Elasticsearch 的代理 URL。要了解有关代理配置的信息,请参阅 使用 Elastic Agent 和 Fleet 的代理服务器

高级 YAML 配置

将添加到使用此输出的每个策略的 Elasticsearch 输出部分的 YAML 设置。确保您指定有效的 YAML。UI 目前不提供验证。

有关可用设置的说明,请参阅 高级 YAML 配置

将此输出设为代理集成的默认输出

启用此设置后,如果 代理策略 中未设置其他输出,Elastic Agent 将使用此输出发送数据。

将此输出设为代理监控的默认输出

启用此设置后,如果 代理策略 中未设置其他输出,Elastic Agent 将使用此输出发送 代理监控数据

性能调整

选择一个菜单选项来调整 Elastic Agent 在将数据发送到 Elasticsearch 输出时的性能。您可以针对吞吐量、规模、延迟进行优化,也可以选择一组平衡的(默认)性能规格。有关设置值及其对性能的潜在影响的详细信息,请参阅 性能调整设置

您还可以使用 高级 YAML 配置 字段设置自定义值。请注意,如果您调整了以下 高级 YAML 配置 部分中描述的任何性能设置,性能调整 选项将自动更改为 Custom,并且无法更改。

性能调整预设值优先于可能单独定义的任何设置。如果您想更改任何设置,则需要使用 Custom 性能调整 选项并在 高级 YAML 配置 字段中指定设置。

例如,如果您想使用平衡的预设值,但您更喜欢更高的压缩级别,您可以按如下方式操作

  1. 在 Fleet 中,打开 设置 选项卡。
  2. 输出 部分中,选择 添加输出 创建新的输出,或选择编辑图标编辑现有输出。
  3. 添加新输出编辑输出 弹出窗口中,将 性能调整 设置为 Custom
  4. 参考 性能调整预设值 列表,并将您喜欢的设置添加到 高级 YAML 配置 字段中。对于 balanced 预设,yaml 配置将如所示

    bulk_max_size: 1600
    worker: 1
    queue.mem.events: 3200
    queue.mem.flush.min_events: 1600
    queue.mem.flush.timeout: 10s
    compression_level: 1
    connection_idle_timeout: 3s
  5. 根据需要调整任何设置。例如,您可以将 compression_level 设置更新为 4

当您使用此输出创建 Elastic Agent 策略时,该输出将使用平衡的预设选项,但压缩级别更高,如指定的那样。

高级 YAML 配置编辑

设置 描述

backoff.init

(字符串) 在网络错误后尝试重新连接到 Elasticsearch 之前等待的秒数。在等待 backoff.init 秒后,Elastic Agent 尝试重新连接。如果尝试失败,则回退计时器将以指数方式增加,直到达到 backoff.max。在成功连接后,回退计时器将重置。

默认值: 1s

backoff.max

(字符串) 在网络错误后尝试连接到 Elasticsearch 之前等待的最大秒数。

默认值: 60s

bulk_max_size

(int) 在单个 Elasticsearch 批量 API 索引请求中批量处理的最大事件数。

事件可以收集到批次中。Elastic Agent 将大于 bulk_max_size 的批次拆分为多个批次。

指定更大的批次大小可以通过降低发送事件的开销来提高性能。但是,大型批次大小也会增加处理时间,这可能会导致 API 错误、连接被杀死、发布请求超时,最终导致吞吐量降低。

bulk_max_size 设置为小于或等于 0 的值将关闭批次的拆分。当拆分被禁用时,队列将决定批次中包含的事件数。

默认值: 1600

compression_level

(int) gzip 压缩级别。将此值设置为 0 以禁用压缩。压缩级别必须在 1(最佳速度)到 9(最佳压缩)的范围内。

提高压缩级别会减少网络使用,但会增加 CPU 使用量。

max_retries

(int) 在发布失败后重试发布事件的次数。在指定次数的重试后,事件通常会被丢弃。

max_retries 设置为小于 0 的值以重试,直到所有事件都被发布。

默认值: 3

queue.mem.events

队列可以存储的事件数。此值应能被 queue.mem.flush.min_eventsbulk_max_size 中较小的值整除,以避免将部分批次发送到输出。

默认值: 3200 events

queue.mem.flush.min_events

flush.min_events 是一个遗留参数,新的配置应该优先使用 bulk_max_size 来控制批次大小。从 8.13 开始,使用 flush.min_events 而不是 bulk_max_size 来限制批次大小永远不会有性能优势

默认值: 1600 events

queue.mem.flush.timeout

(int) 满足 queue.mem.flush.min_events 的最大等待时间。如果设置为 0s,事件将立即对输出可用。

默认值: 10s

timeout

(字符串) Elasticsearch 请求的 HTTP 请求超时时间(以秒为单位)。

默认值: 90s

worker

(int) 每个配置的主机发布事件的工作人员数量。例如:如果您有两个主机和三个工作人员,则总共启动六个工作人员(每个主机三个)。

默认值: 1

性能调整设置编辑

表 1. 性能调整预设值

配置 平衡 针对吞吐量优化 针对规模优化 针对延迟优化

bulk_max_size

1600

1600

1600

50

worker

1

4

1

1

queue.mem.events

3200

12800

3200

4100

queue.mem.flush.min_events

1600

1600

1600

2050

queue.mem.flush.timeout

10

5

20

1

compression_level

1

1

1

1

connection_idle_timeout

3

15

1

60

有关每个设置的描述,请参阅 高级 YAML 配置。对于 queue.mem.eventsqueue.mem.flush.min_eventsqueue.mem.flush.timeout 设置,请参阅 Filebeat 文档中的 内部队列配置设置

Balanced 代表新的默认设置(开箱即用行为)。相对于 BalancedOptimized for throughput 设置将使 EPS 提高 4 倍,Optimized for Scale 的性能将与之相当,而 Optimized for Latency 的 EPS(每秒事件数)将下降 20%。这些相对性能数字是在一个受控环境中,通过对大型日志文件进行摄取的性能测试平台计算得出的。

如上所述,custom 预设允许您输入自己的参数集,以便对性能进行更精细的调整。下表总结了一些数据点以及由此产生的 EPS 与上述 Balanced 设置的比较。

这些预设仅适用于 8.12.0 或更高版本的代理。

表 2. 性能调整:EPS 数据

worker bulk_max_size queue.mem_events queue.mem.flush.min_events queue.mem.flush.timeout connection_idle_timeout 相对 EPS

1

1600

3200

1600

5

15

1x

1

2048

4096

2048

5

15

1x

1

4096

8192

4096

5

15

1x

2

1600

6400

1600

5

15

2x

2

2048

8192

2048

5

15

2x

2

4096

16384

4096

5

15

2x

4

1600

12800

1600

5

15

3.6x

4

2048

16384

2048

5

15

3.6x

4

4096

32768

4096

5

15

3.6x

8

1600

25600

1600

5

15

5.3x

8

2048

32768

2048

5

15

5.1x

8

4096

65536

4096

5

15

5.2x

16

1600

51200

1600

5

15

5.3x

16

2048

65536

2048

5

15

5.2x

16

4096

131072

4096

5

15

5.3x