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 服务器文档。

Elasticsearch CA 可信指纹

CA 证书的十六进制编码 SHA-256。如果在握手过程中链中存在此证书,它将添加到certificate_authorities列表中,并且握手将正常继续。要了解有关可信指纹的更多信息,请参阅Elasticsearch 安全文档

代理

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

高级 YAML 配置

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

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

将此输出设为 Agent 集成的默认输出

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

将此输出设为 Agent 监控的默认输出

启用此设置后,如果Agent 策略中未设置其他输出,则 Elastic Agent 将使用此输出发送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
    idle_connection_timeout: 3s
  5. 根据需要调整任何设置。例如,您可以将compression_level设置更新为4

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

高级 YAML 配置

编辑
设置 描述

allow_older_versions

允许 Elastic Agent 连接并向运行比 Agent 版本更早版本的 Elasticsearch 实例发送输出。

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

默认值: true

backoff.init

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

默认值: 1s

backoff.max

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

默认值: 60s

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 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

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

默认值: 10s

timeout

(字符串) Elasticsearch 请求的 HTTP 请求超时(秒)。

默认值: 90s

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 文档中的内部队列配置设置

Balanced 代表新的默认设置(开箱即用行为)。相较于BalancedOptimized for throughput 设置将使每秒事件数 (EPS) 提高 4 倍,Optimized for Scale 的性能相当,而Optimized for Latency 的 EPS 将下降 20%。这些相对性能数据来自在一个受控环境中处理大型日志文件的性能测试平台。

如上所述,custom 预设允许您输入自己的参数集,以更精细地调整性能。下表总结了一些数据点以及相应的 EPS 与上面提到的Balanced设置的比较。

这些预设仅适用于 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