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 证书的 HEX 编码 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 配置部分中描述的任何性能设置,则性能调优选项会自动更改为 自定义 并且无法更改。

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

例如,如果您想使用均衡的预设值,但您更喜欢更高的压缩级别,您可以执行以下操作

  1. 在 Fleet 中,打开 设置 选项卡。
  2. 输出 部分中,选择 添加输出 以创建新输出,或选择编辑图标以编辑现有输出。
  3. 添加新输出编辑输出 浮出层中,将 性能调优 设置为 自定义
  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
    idle_connection_timeout: 3s
  5. 根据需要调整任何设置。例如,您可以将 compression_level 设置更新为 4

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

高级 YAML 配置

编辑
设置 描述

allow_older_versions

允许 Elastic Agent 连接并将输出发送到运行版本早于代理版本的 Elasticsearch 实例。

请注意,此设置不会影响 Elastic Agent 连接到 Fleet Server 的能力。Fleet Server 不会接受来自更高主要或次要版本的代理的连接。它将接受来自更高补丁版本的代理的连接。例如,版本为 8.14.3 的 Elastic Agent 可以连接到版本为 8.14.0 的 Fleet Server,但是版本为 8.15.0 或更高版本的代理无法连接。

默认值: true

backoff.init

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

默认值: 1 秒

backoff.max

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

默认值: 60 秒

bulk_max_size

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

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

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

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

默认值: 1600

compression_level

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

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

max_retries

(整数)在发布失败后重试发布事件的次数。在指定的重试次数之后,通常会删除事件。

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

默认值: 3

queue.mem.events

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

默认值: 3200 个事件

queue.mem.flush.min_events

flush.min_events 是一个旧参数,新配置应优先使用 bulk_max_size 来控制批处理大小。从 8.13 开始,使用 flush.min_events 而不是 bulk_max_size 来限制批处理大小没有任何性能优势

默认值: 1600 个事件

queue.mem.flush.timeout

(整数)满足 queue.mem.flush.min_events 的最大等待时间。如果设置为 0 秒,则事件将立即提供给输出。

默认值: 10 秒

timeout

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

默认值: 90 秒

worker

(整数)每个已配置主机发布事件的工作线程数。示例:如果您有两个主机和三个工作线程,则总共启动六个工作线程(每个主机三个)。

默认值: 1

性能调优设置

编辑

表 4. 性能调优预设值

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

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

idle_connection_timeout

3

15

1

60

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

平衡代表新的默认设置(开箱即用的行为)。 相对于 平衡优化吞吐量设置将使 EPS 提高 4 倍,优化规模的性能将与平衡持平,而优化延迟的 EPS(每秒事件数)将下降 20%。 这些相对性能数据是通过在受控环境中摄取大型日志文件的性能测试台计算得出的。

如前所述,自定义预设允许您输入自己的参数集,以更精细地调整性能。 下表总结了一些数据点以及由此产生的 EPS 与上面提到的平衡设置的比较。

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

表 5. 性能调优:EPS 数据

worker bulk_max_size queue.mem_events queue.mem.flush.min_events queue.mem.flush.timeout idle_connection_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