了解logstash重试策略

时间:2017-06-02 04:18:33

标签: elasticsearch logstash

我在机器上运行了kibana和elasticsearch实例。 Logstash和filebeat正在其他计算机上运行。

流程工作得非常好。我有一个疑问,我需要了解这一点。我让elasticsearch下来并制作了logstash以将一些日志输送到elasticearch。由于弹性搜索已经停止,我希望数据会丢失。但是当我提出弹性搜索服务时,Kibana能够显示弹性搜索失败时发送的日志。

当我在网上搜索时,我知道在弹性搜索中连接的logstash重试已关闭。

我可以知道如何设置此参数

1 个答案:

答案 0 :(得分:0)

原因是elasticsearch output使用两个名为

的参数实现指数退避
  • retry_initial_interval
  • retry_max_interval

如果批量调用失败,Logstash将等待retry_initial_interval秒,然后重试。如果仍然失败,它将等待2 * retry_initial_interval并再试一次。如此等待,直到等待时间达到retry_max_interval,此时它将无限期地每隔retry_max_interval秒进行一次。

请注意,此重试策略仅在ES无法访问时才有效。如果出现另一个错误,例如映射错误(HTTP 400)或冲突(HTTP 409),则不会重试批量调用。