1つのlogstashサーバーから給電されている2つのESサーバーがあり、Kibanaでログを表示しています。これは、運用に入る前に問題を解決するためのPOCです。システムは約1か月間実行され、数日ごとに、Kibanaは夜のランダムな時間にログの表示を停止します。昨夜、Kibanaで受け取った最後のログエントリは18:30頃でした。 ESサーバーを確認したところ、マスターは実行していて、セカンダリは実行していない(/ sbin/service elasticsearchステータスから)と表示されましたが、ローカルホストでカールを実行でき、情報を返しました。何が起こっているのかわからない。とにかく、マスターノードでステータスを実行すると、次のようになります。
curl -XGET 'http://localhost:9200/_cluster/health?pretty=true'
{
"cluster_name" : "gis-elasticsearch",
"status" : "red",
"timed_out" : false,
"number_of_nodes" : 6,
"number_of_data_nodes" : 2,
"active_primary_shards" : 186,
"active_shards" : 194,
"relocating_shards" : 0,
"initializing_shards" : 7,
"unassigned_shards" : 249
}
「ls ... nodes/0/indeces /」を介してインデックスを表示すると、何らかの理由で今日すべてのインデックスが変更されており、今日の日付の新しいファイルがあるため、後で追いつき始めていると思います両方のサーバーを再起動しましたが、最初に失敗した理由がわかりません。マスターのログを見ると、18:57に4つの警告エラーが表示され、その後2番目のクラスターがクラスタを離れます。セカンダリ(Pistol)のログが表示されません。なぜそれが機能しなくなったのか、または実際に何が起こったのかについてです。
[2014-03-06 18:57:04,121][WARN ][transport ] [ElasticSearch Server1] Transport response handler not found of id [64147630]
[2014-03-06 18:57:04,124][WARN ][transport ] [ElasticSearch Server1] Transport response handler not found of id [64147717]
[2014-03-06 18:57:04,124][WARN ][transport ] [ElasticSearch Server1] Transport response handler not found of id [64147718]
[2014-03-06 18:57:04,124][WARN ][transport ] [ElasticSearch Server1] Transport response handler not found of id [64147721]
[2014-03-06 19:56:08,467] [INFO] [cluster.service] [ElasticSearch Server1]が{[Pistol] [sIAMHNj6TMCmrMJGW7u97A] [inet [/10.1.1.10:9301]]を削除しました{client = true、data = false}、}、理由:zen-disco-node_failed([Pistol] [sIAMHNj6TMCmrMJGW7u97A] [inet [/10.13.3.46:9301]] {client = true、data = false})、pingに失敗した理由、試行[3]時間、それぞれ最大[30秒]タイムアウト[2014-03-06 19:56:12,304] [INFO] [cluster.service] [ElasticSearch Server1]が{[Pistol] [sIAMHNj6TMCmrMJGW7u97A] [inet [/10.1.1.10:9301 ]] {client = true、data = false}、}、理由:zen-disco-receive(join from node [[Pistol] [sIAMHNj6TMCmrMJGW7u97A] [inet [/10.13.3.46:9301]] {client = true、data = false}])
これが今後発生しないようにするために有効にできる追加のロギングまたはトラブルシューティングに関するアイデアはありますか?シャードが追いついていないので、今は解析に失敗したというデバッグメッセージがたくさん表示されています。追いつくと修正されると思います。
[2014-03-07 10:06:52,235] [DEBUG] [action.search.type] [ElasticSearch Server1]フェーズのすべてのシャードが失敗しました:[クエリ] [2014-03-07 10:06:52,223] [DEBUG] [action.search.type] [ElasticSearch Server1] [windows-2014.03.07] [3]、node [W6aEFbimR5G712ddG_G5yQ]、[P]、s [STARTED]:[org.elasticsearch.action.search.SearchRequest @の実行に失敗しました74ecbbc6] lastShard [true] org.elasticsearch.search.SearchParseException:[windows-2014.03.07] [3]:from [-1]、size [-1]:解析失敗[ソースの解析に失敗しました[{"facets": {"0":{"date_histogram":{"フィールド": "@ timestamp"、 "interval": "10m"}、 "global":true、 "facet_filter":{"fquery":{"query":{ "filtered":{"query":{"query_string":{"query": "(ASA AND Deny)"}}、 "filter":{"bool":{"must":[{"range":{ "@timestamp":{"from":1394118412373、 "to": "now"}}}]}}}}}}}}、 "size":0}]]
ESとKibanaの通常の容疑者は次のとおりです。
また、ESの「通常の」セットアップはサーバーであり、1台のサーバーがダウンした場合の冗長性を向上させます。しかし、YMMV。
新しいG1ガベージコレクターも試すことができます。これは(私の場合)、Kibana ESでCMSよりもはるかに優れた動作をします。
GC期間の問題は通常、どこか別の場所を探しているときに発生し、ESが応答を停止するため、通常はデータの損失につながります。
これらで頑張ってください:)