Logstash 服务器日志文件充斥着“无法刷新传出项目”错误消息

Logstash 服务器日志文件充斥着“无法刷新传出项目”错误消息

我是 Logstash 新手,尝试按照“Logstash 手册”中的教程运行它。指南第 44 页建议跟踪 Logstash 进程的主日志文件 central.log。Logstash 启动约 2 分钟后,以下消息充斥在 central.log 文件中:

{:timestamp=>"2014-01-06T02:21:04.098000-0500", :message=>"Failed to flush outgoing items", :outgoing_count=>100, :exception=>org.elasticsearch.discovery.MasterNotDiscoveredException: waited for [30s], :backtrace=>  
    ["org.elasticsearch.action.support.master.TransportMasterNodeOperationAction$3.onTimeout(TransportMasterNodeOperationAction.java:180)", "org.elasticsearch.cluster.service.InternalClusterService$NotifyTimeout.run(InternalClusterService.java:483)",     
    "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)",
    "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)", 
    "java.lang.Thread.run(Thread.java:724)"], :level=>:warn}

此外,如果您对 Elastic Search 服务器执行 CURL 命令,您会收到以下信息:

[user@server ~]$ curl -XGET 'http://[elastic search host IP]:9200/_search?q=type:syslog&pretty=true'
{
  "error" : "SearchPhaseExecutionException[Failed to execute phase [initial], No indices / shards to search on, requested indices are []]",
  "status" : 503
}

关于我可能在这里配置错误的任何想法?

答案1

上周,我在按照《Logstash 手册》中概述的流程操作时遇到了这个错误。我的 Logstash 服务器日志文件中也充斥着“无法刷新传出项目”。我发现我没有下载正确版本的 ElasticSearch。独立 ElasticSearch 的版本必须与嵌入式 ElasticSearch 的版本匹配。

因为我有 1.3.3 版本的 logstash,所以我能够在这里找到 ElasticSearch 的版本号(就我而言,我必须使用 0.90.9 版本):

http://logstash.net/docs/1.3.3/outputs/elasticsearch

然后我去了 elasticsearch.org,点击了立即下载按钮,然后向下滚动,在下载和安装部分下面,在支持 Elasticsearch 按钮的左侧有一个过去版本的链接。

如果您使用的是旧版本的 Logstash,我不确定如何确定嵌入式 ElasticSearch 的版本。

总而言之,我通过更改我在 Logstash 管道中使用的独立 ElasticSearch 版本以匹配嵌入式 ElasticSearch 的版本来解决这个相同的错误。

相关内容