Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
<img src="//i.stack.imgur.com/RUiNP.png" height="16" width="18" alt="" class="sponsor tag img">elasticsearch 有没有办法配置logstash以忽略特定输出插件的故障?_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Logstash - Fatal编程技术网 elasticsearch 有没有办法配置logstash以忽略特定输出插件的故障?,elasticsearch,logstash,elasticsearch,Logstash" /> elasticsearch 有没有办法配置logstash以忽略特定输出插件的故障?,elasticsearch,logstash,elasticsearch,Logstash" />

elasticsearch 有没有办法配置logstash以忽略特定输出插件的故障?

elasticsearch 有没有办法配置logstash以忽略特定输出插件的故障?,elasticsearch,logstash,elasticsearch,Logstash,我有一个日志存储管道,日志被传输到我的日志服务器并存储在磁盘上(最高优先级)。然后在独立服务器上的elasticsearch中为日志编制索引(最低优先级)。我今天意识到,如果elasticsearch无法访问,整个管道就会受到破坏,我不能冒险阻止日志存储在磁盘上 如何告诉logstash忽略特定输出插件的错误,例如elasticsearch的连接错误 更新 我当前的设置从一个lumberjack输入开始,它接受来自所有其他实例的转发日志。然后这些文件将不受影响地转到文件输出(最高优先级)。然后,

我有一个日志存储管道,日志被传输到我的日志服务器并存储在磁盘上(最高优先级)。然后在独立服务器上的elasticsearch中为日志编制索引(最低优先级)。我今天意识到,如果elasticsearch无法访问,整个管道就会受到破坏,我不能冒险阻止日志存储在磁盘上

如何告诉logstash忽略特定输出插件的错误,例如elasticsearch的连接错误

更新

我当前的设置从一个lumberjack输入开始,它接受来自所有其他实例的转发日志。然后这些文件将不受影响地转到文件输出(最高优先级)。然后,所有内容都要经过特定的过滤器(syslog、nginx等)。最后,过滤后的日志进入elasticsearch输出(最低优先级),在该输出中,每种日志类型都在其自己的索引中建立索引


阅读了一点logstash文档后,我知道管道中任何地方的管道错误都可能危及其他插件。

听起来您已经做到了: (客户端)->Logstash->FileElasticsearch

这似乎是您在遇到问题时尝试将文件用作代理的方式

以下是2.5个备选方案:

  • 运行两个日志存储过程—一个从客户端接收日志并将其写入文件,另一个读取文件并将其写入elasticsearch。您仍然面临着其他影响此流的因素(如磁盘空间不足等)的风险
  • 使用真正的代理,如redis或rabbitmq。对于如果不处理就会丢失的瞬态数据(snmptrap、syslog),我运行一个小的日志存储,它接收输入并将其写入redis。第二个logstash读取redis并应用所有logstash魔法
  • 如果可能,请使用更好的托运人。例如,Filebeat(logstash forwarder的替代者,又名伐木工人)在检测到logstash的背压时将停止发送日志。这为您提供了一个免费的分布式缓存。当然,有些输入不可能做到这一点(参见#2)

  • 听起来你已经做到了: (客户端)->Logstash->FileElasticsearch

    这似乎是您在遇到问题时尝试将文件用作代理的方式

    以下是2.5个备选方案:

  • 运行两个日志存储过程—一个从客户端接收日志并将其写入文件,另一个读取文件并将其写入elasticsearch。您仍然面临着其他影响此流的因素(如磁盘空间不足等)的风险
  • 使用真正的代理,如redis或rabbitmq。对于如果不处理就会丢失的瞬态数据(snmptrap、syslog),我运行一个小的日志存储,它接收输入并将其写入redis。第二个logstash读取redis并应用所有logstash魔法
  • 如果可能,请使用更好的托运人。例如,Filebeat(logstash forwarder的替代者,又名伐木工人)在检测到logstash的背压时将停止发送日志。这为您提供了一个免费的分布式缓存。当然,有些输入不可能做到这一点(参见#2)

  • 您介意分享更多关于当前配置和拓扑的信息吗?@Val添加了更新您介意分享更多关于当前配置和拓扑的信息吗?@Val添加了更新well,文件中存储的日志暂时是必需的,因为有一堆处理这些文件的中间脚本(相信我,我试着解决这个问题)在它们最终上传到S3之前。我喜欢#1的想法,因为除了处理日志之外,日志服务器上没有太多事情发生(再多处理一次不会有什么坏处).你能解释一下你所说的#3是什么意思吗?我不知道用filebeat代替伐木工人的利/弊。对于#2,我也要提到它作为一种选择。一个非常严肃的分布式日志解决方案。filebeat是logstash forwarder(又名伐木工人)的替代品.嗯,暂时来说,存储在文件中的日志是必要的,因为在这些文件最终上传到S3之前,有很多中间脚本处理这些文件(相信我,我尝试过解决这个问题)。我喜欢#1的想法,因为除了处理日志外,日志服务器上没有太多事情发生(再来一个过程不会有什么坏处)。你能解释一下“3”是什么意思吗?我不知道用filebeat代替伐木工人的利/弊。对于“2”,我也要提到作为一个选项。一个真正严肃的分布式日志解决方案。filebeat是logstash forwarder(又名伐木工人)的替代品。