'output.elasticsearch.bulk_max_size':必须是 [100, 5000] 之间的数字(含)

'output.elasticsearch.bulk_max_size': has to be a number between [100, 5000] inclusive

我在 apm-server.yml 中更改 APM 配置时遇到以下错误 -

'output.elasticsearch.bulk_max_size': has to be a number between [100, 5000] inclusive

我正在更改配置以增加 APM 队列的大小,以便它可以处理超过 30K 的事件。 下面是我所做的配置更改 -

output.elasticsearch:
    worker: 4
    bulk_max_size: 10000
queue.mem.events: 40000

我不明白这个错误的原因。 参考 - https://www.elastic.co/guide/en/apm/server/master/tune-apm-server.html#adjust-queue-size

注意 - Opster Elasticsearch Ninja 给出的答案部分解决了这个问题。 但是 - 这个问题还没有完全解决。但是在他建议增加节点并将 bulk_max_size 保持为 5000 之后,我得到的这个错误少了很多(上周 2 次)。但我仍在研究这个问题的一些定量答案。像 X 节点、W worker、B bulk_max_size 和 S queue.mem.events 这样的东西将为我们提供每分钟或一次最多有 N 个事件的能力。例如 - 最后一个错误是 1 分钟内的事件达到 90-100K 左右,所以我仍在研究中。

错误消息很清楚,当你给 10K 赋值时不能超过 5k,你可以尝试限制在这个范围内看看它是否有效?

请参考官方bulk_max_size文档,其中也提到了

setting bulk_max_size to values less than or equal to 0 disables the splitting of batches. When splitting is disabled, the queue decides on the number of events to be contained in a batch.

将其设置为非常大的值的缺点

Specifying a larger batch size can improve performance by lowering the overhead of sending events. However big batch sizes can also increase processing times, which might result in API errors, killed connections, timed-out publishing requests, and, ultimately, lower throughput.