【问题标题】:Logstash availability when elasticsearch dies/can't write to disk当 elasticsearch 死机/无法写入磁盘时 Logstash 可用性
【发布时间】:2014-06-10 16:07:14
【问题描述】:

我有 rsyslog 通过 TCP 将日志转发到 logstash。如果 logstash 不可用,rsyslog 将建立队列。

如果logstash 可用,但elasticsearch 已死或由于某种原因无法写入文件系统。

logstash 有没有办法拒绝更多的 TCP 消息。

谢谢

【问题讨论】:

    标签: elasticsearch logstash rsyslog


    【解决方案1】:

    根据life of an event description

    由于某些下游原因(例如磁盘已满、权限问题、临时网络故障或服务中断),输出可能会失败或出现问题。大多数输出​​应不断重试以发送与失败有关的任何事件。

    如果输出失败,输出线程将等待,直到该输出再次健康并能够成功发送消息。因此,输出队列将停止被此输出读取,最终将填满事件并阻止新事件写入此队列。

    完整的输出队列意味着过滤器将阻止尝试写入输出队列。因为过滤器会卡住,阻塞写入输出队列,它们将停止从过滤器队列中读取,最终导致过滤器队列(输入->过滤器)填满。

    在写入过滤器时,一个完整的过滤器队列将导致输入阻塞。这将导致每个输入阻塞,导致每个输入停止处理来自该输入获得新事件的新数据。

    这意味着如果 elasticsearch 输出开始失败,那么整个管道将被阻塞,这正是您想要的。你看到了什么不同的东西吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-27
      相关资源
      最近更新 更多