web-dev-qa-db-ja.com

Logstashサーバーのログファイルに「送信アイテムのフラッシュに失敗しました」というエラーメッセージが殺到しました

Logstashは初めてで、「LogstashBook」のチュートリアルに従って実行しようとしています。 44ページで、ガイドは、central.logと呼ばれるLogstashプロセスのメインログファイルを調整することを提案しています。 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
}

私がここで誤って構成した可能性があるものについてのアイデアはありますか?

3
Josh

先週、Logstash Bookで概説されているプロセスに従ったときに、この正確なエラーに遭遇しました。 Logstashサーバーのログファイルにも「送信アイテムのフラッシュに失敗しました」が殺到しました。私が見つけたのは、ElasticSearchの正しいバージョンをダウンロードしていなかったということでした。スタンドアロンElasticSearchのバージョンは、組み込みElasticSearchのバージョンと一致する必要があります

Logstashのバージョン1.3.3を使用していたため、ElasticSearchのバージョン番号をここで見つけることができました(私の場合、バージョン0.90.9を使用する必要がありました)。

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

次に、elasticsearch.orgにアクセスし、[今すぐダウンロード]ボタンをクリックしてから、下にスクロールして、[ダウンロード]セクションと[インストール]セクションの下に、[Elasticsearchのサポート]ボタンのすぐ左に過去のリリースへのリンクがありました。

古いバージョンのLogstashを使用している場合、埋め込まれたElasticSearchのバージョンを確認する方法がわかりません。

要約すると、Logstashパイプで使用していたスタンドアロンElasticSearchのバージョンを、組み込みElasticSearchのバージョンと一致するように変更することで、これとまったく同じエラーを解決しました。

2
keldwud